tests #1267
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# sync with https://github.com/fphammerle/ical2vdir/blob/master/.github/workflows/python.yml | |
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions | |
# shown in badge | |
# https://help.github.com/en/actions/automating-your-workflow-with-github-actions/configuring-a-workflow#adding-a-workflow-status-badge-to-your-repository | |
name: tests | |
on: | |
push: | |
pull_request: | |
schedule: | |
- cron: '0 20 * * 5' | |
jobs: | |
code-format: | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
python-version: ['3.9'] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- run: pip install --upgrade pipenv==2023.6.18 | |
- run: pipenv install --python "$PYTHON_VERSION" --deploy --dev | |
env: | |
PYTHON_VERSION: ${{ matrix.python-version }} | |
- run: pipenv graph | |
- run: pipenv run black --check . | |
tests: | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
python-version: | |
- '3.8' | |
- '3.9' | |
- '3.10' | |
- '3.11' | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
# with pipenv v2023.6.26: | |
# > $ pipenv run pytest --cov="$(cat *.egg-info/top_level.txt)" | |
# . --cov-report=term-missing --cov-fail-under=100 | |
# > cat: '*.egg-info/top_level.txt': No such file or directory | |
# > [...] | |
# > [...]/coverage/inorout.py:507: CoverageWarning: | |
# . Module was never imported. (module-not-imported) | |
- run: pip install --upgrade pipenv==2023.6.18 | |
# by default pipenv picks the latest version in PATH | |
- run: pipenv install --python "$PYTHON_VERSION" --deploy --dev | |
env: | |
PYTHON_VERSION: ${{ matrix.python-version }} | |
- run: pipenv graph | |
- run: pipenv run pytest --cov="$(cat *.egg-info/top_level.txt)" --cov-report=term-missing --cov-fail-under=100 | |
- run: pipenv run pylint "$(cat *.egg-info/top_level.txt)" | |
# https://github.com/PyCQA/pylint/issues/352 | |
- run: pipenv run pylint tests/* | |
- run: pipenv run mypy "$(cat *.egg-info/top_level.txt)" tests | |
check-links: | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
python-version: ['3.9'] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- run: pip install --upgrade pipenv==2020.8.13 | |
- run: pipenv install --python "$PYTHON_VERSION" --deploy --dev | |
env: | |
PYTHON_VERSION: ${{ matrix.python-version }} | |
- run: pipenv graph | |
# `--include '*.md'` fails for https://securipi.co.uk/cc1101.pdf (HTTP403). | |
# `--include '*.py'` identifies `logging.INFO` as an url. | |
- run: pipenv run blinkcheck --include CHANGELOG.md |