Skip to content

Tests

Tests #312

Workflow file for this run

---
name: Tests
# yamllint disable rule:truthy
on: [push, workflow_dispatch]
# yamllint enable
jobs:
tests:
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- '3.9'
- '3.10'
- '3.11'
- '3.12'
name: tests (python ${{ matrix.python-version }})
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install requirements
run: |
python -m pip install --upgrade pip setuptools wheel
python -m pip install --no-deps -r ./requirements/base.txt
python -m pip install --no-deps -r ./requirements/dev.txt
id: req-installed
- name: Run pytest
run: |
python -m pytest
- name: Run black
run: |
python -m black --check --verbose .
if: ${{ !cancelled() && steps.req-installed.outcome == 'success' }}
- name: Run flake8
run: |
python -m flake8 .
if: ${{ !cancelled() && steps.req-installed.outcome == 'success' }}
- name: Run pylint
run: |
python -m pylint --recursive=y --reports=y --verbose ./
if: ${{ !cancelled() && steps.req-installed.outcome == 'success' }}
- name: Run isort
run: |
python -m isort --check-only --diff .
if: ${{ !cancelled() && steps.req-installed.outcome == 'success' }}
- name: Run yamllint
run: |
find ./ -type f \( -regex ".*\.ya?ml" -o -iname ".yamllint" -o -iname ".cfnlintrc" \) \
-print0 | xargs -0 \
python -m yamllint --strict
if: ${{ !cancelled() && steps.req-installed.outcome == 'success' }}
- name: Run mypy
run: |
python -m mypy .
if: ${{ !cancelled() && steps.req-installed.outcome == 'success' }}
- name: Build package
run: |
python -m build .
if: ${{ !cancelled() && steps.req-installed.outcome == 'success' }}
id: build-package
- name: Check long description
run: |
python -m twine check dist/*
if: ${{ !cancelled() && steps.build-package.outcome == 'success' }}
- uses: aexeagmbh/gh-actions-ntfy-slack@main
with:
job-status: ${{ job.status }}
slack-channel: ${{ secrets.SLACK_CHANNEL }}
slack-bot-token: ${{ secrets.SLACK_BOT_TOKEN }}
if: always()