diff --git a/.github/workflows/pep257.yml b/.github/workflows/pep257.yml new file mode 100644 index 0000000..d77bdeb --- /dev/null +++ b/.github/workflows/pep257.yml @@ -0,0 +1,37 @@ +name: pep257 + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + + pep257: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ['3.9'] + + steps: + - uses: actions/checkout@v3 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v3 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: | + pip install pep257 + + - name: source + run: | + python -m pep257 pipeline_integrity + + - name: tests + run: | + python -m pep257 --match='.*\.py' tests/test diff --git a/.github/workflows/py2.yml b/.github/workflows/py2.yml new file mode 100644 index 0000000..dce75b8 --- /dev/null +++ b/.github/workflows/py2.yml @@ -0,0 +1,31 @@ +# https://docs.github.com/en/free-pro-team@latest/actions/guides/building-and-testing-python +name: py2 + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + + py2: + name: Run tests with Python 2.7 + runs-on: ubuntu-latest + + steps: + + - name: Checkout code + uses: actions/checkout@v3 + + - name: Build docker image + run: | + cd tests/docker + cp ../../requirements.txt requirements.txt + cp ../../tests/requirements.txt tests.txt + docker-compose build + + - name: Run tests + run: docker-compose --file tests/docker/docker-compose.yml run py2 diff --git a/.github/workflows/py3.yml b/.github/workflows/py3.yml new file mode 100644 index 0000000..7c1abc3 --- /dev/null +++ b/.github/workflows/py3.yml @@ -0,0 +1,51 @@ +# https://docs.github.com/en/free-pro-team@latest/actions/guides/building-and-testing-python +name: py3 + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + + py3: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] + + steps: + - uses: actions/checkout@v3 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v3 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + pip install -r tests/requirements.txt + + - name: flake8 + run: | + flake8 --count --show-source --statistics --max-line-length=120 pipeline_integrity + flake8 --count --show-source --statistics --max-line-length=120 tests/test + + - name: pylint + run: | + python -m pylint pipeline_integrity + python -m pylint tests/test + + - name: pytest + env: + CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }} + run: | + pytest --cov=pipeline_integrity --cov-report xml --cov-report term:skip-covered --durations=5 tests + if [ "$CODACY_PROJECT_TOKEN" != "" ]; then + python-codacy-coverage -r coverage.xml + fi