build(deps-dev): bump hypothesis from 6.82.7 to 6.83.0 (#1679) #3426
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
name: test | |
on: | |
push: | |
branches: | |
- master | |
paths-ignore: | |
- 'docs/requirements.txt' | |
pull_request: | |
paths-ignore: | |
- 'docs/requirements.txt' | |
workflow_dispatch: | |
permissions: | |
contents: read | |
concurrency: | |
group: test-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ['3.8', '3.9', '3.10', '3.11'] | |
task: ['tests', 'typesafety'] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install poetry | |
run: | | |
curl -sSL "https://install.python-poetry.org" | python | |
# Adding `poetry` to `$PATH`: | |
echo "$HOME/.poetry/bin" >> $GITHUB_PATH | |
- name: Set up cache | |
uses: actions/cache@v3 | |
with: | |
path: .venv | |
key: venv-${{ matrix.python-version }}-${{ hashFiles('poetry.lock') }} | |
restore-keys: | | |
venv-${{ matrix.python-version }}-${{ hashFiles('poetry.lock') }} | |
venv-${{ matrix.python-version }}- | |
- name: Install dependencies | |
run: | | |
poetry config virtualenvs.in-project true | |
poetry install --extras=compatible-mypy | |
poetry run pip install -U pip | |
- name: Run tests | |
if: matrix.task == 'tests' | |
run: | | |
poetry run flake8 . | |
# In order to make `exclude` option work, we need to separate the checks | |
# of returns and its tests into two separated commands | |
poetry run mypy --enable-error-code=unused-awaitable returns | |
poetry run mypy tests | |
# Different python versions are covered differently: | |
poetry run pytest returns docs/pages tests | |
poetry run doc8 -q docs | |
poetry run codespell returns tests docs typesafety README.md CONTRIBUTING.md CHANGELOG.md | |
poetry run poetry check | |
poetry run pip check | |
poetry run safety check --full-report | |
poetry run python -m slotscheck returns --verbose | |
- name: Run typesafety tests | |
if: matrix.task == 'typesafety' | |
run: | | |
# We do this to speed up the build: | |
poetry run pytest typesafety -p no:cov -o addopts="" --mypy-ini-file=setup.cfg | |
- name: Upload coverage to Codecov | |
if: "matrix.task == 'tests' && matrix.python-version == 3.11" | |
uses: codecov/codecov-action@v3 | |
with: | |
file: ./coverage.xml |