Skip to content

utils: display warning messages about REANA spec validation #84

utils: display warning messages about REANA spec validation

utils: display warning messages about REANA spec validation #84

Workflow file for this run

# This file is part of REANA.
# Copyright (C) 2020, 2021, 2022 CERN.
#
# REANA is free software; you can redistribute it and/or modify it
# under the terms of the MIT License; see LICENSE file for more details.
name: CI
on: [push, pull_request]
jobs:
lint-shellcheck:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Runs shell script static analysis
run: |
sudo apt-get install shellcheck
./run-tests.sh --check-shellscript
lint-black:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.8'
- name: Install Python dependencies
run: pip install black
- name: Check Python code formatting
run: ./run-tests.sh --check-black
lint-flake8:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.8'
- name: Check compliance with pep8, pyflakes and circular complexity
run: |
pip install --upgrade pip
pip install flake8
./run-tests.sh --check-flake8
lint-pydocstyle:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.8'
- name: Install Python dependencies
run: pip install pydocstyle
- name: Check compliance with Python docstring conventions
run: ./run-tests.sh --check-pydocstyle
lint-check-manifest:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.8'
- name: Install Python dependencies
run: pip install check-manifest
- name: Check Python manifest completeness
run: ./run-tests.sh --check-manifest
docs-cli-commands:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.8'
- name: Install Python dependencies
run: |
pip install --upgrade pip setuptools py
pip install -e .[all]
- name: Verify reana client commands list
run: ./run-tests.sh --check-cli-cmds
docs-cli-api:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.8'
- name: Install Python dependencies
run: |
pip install --upgrade pip setuptools py
pip install -e .[all]
- name: Verify reana client api docs
run: ./run-tests.sh --check-cli-api
docs-sphinx:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.8'
- name: Install Python dependencies
run: |
pip install --upgrade pip setuptools py
pip install -e .[all]
- name: Run Sphinx documentation with doctests
run: ./run-tests.sh --check-sphinx
python-tests:
runs-on: ubuntu-20.04
strategy:
matrix:
include:
- testenv: lowest
python: '3.6'
- testenv: release
python: '3.6'
- testenv: lowest
python: '3.7'
- testenv: release
python: '3.7'
- testenv: lowest
python: '3.8'
- testenv: release
python: '3.8'
- testenv: lowest
python: '3.9'
- testenv: release
python: '3.9'
- testenv: lowest
python: '3.10'
- testenv: release
python: '3.10'
- testenv: lowest
python: '3.11'
- testenv: release
python: '3.11'
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python }}
- name: Setup requirements builder
run: |
pip install --upgrade pip setuptools py
pip install wheel
pip install requirements-builder
if [[ ${{ matrix.testenv }} == lowest ]]; then
requirements-builder -e all --level=min --req requirements-dev.txt setup.py > .lowest-requirements.txt
fi
if [[ ${{ matrix.testenv }} == release ]]; then
requirements-builder -e all --level=pypi --req requirements-dev.txt setup.py > .release-requirements.txt
fi
- name: Install Python dependencies
run: |
pip install -r .${{ matrix.testenv }}-requirements.txt
- name: Run pytest
run: ./run-tests.sh --check-pytest
- name: Codecov Coverage
if: matrix.python == '3.8'
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: coverage.xml