Skip to content

---

--- #677

Workflow file for this run

name: python
on: [push, pull_request]
env:
POETRY_VERSION: "1.8.3"
PYTHON_VERSION: "3.10"
jobs:
test:
runs-on: ubuntu-22.04
strategy:
matrix:
python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12" ]
steps:
- uses: actions/checkout@v3
- name: Install poetry
run: pipx install poetry==${POETRY_VERSION}
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
# https://github.com/actions/setup-python#caching-packages-dependencies
cache: poetry
- name: Install Nox
run: poetry install --only nox
- name: Test with Nox
run: poetry run nox -s test-${{ matrix.python-version }}
quality:
runs-on: ubuntu-22.04
strategy:
matrix:
job:
- { nox-session: lint, poetry-groups: "lint" }
# type_check needs main and test dependencies for inline type annotations.
- { nox-session: type_check, poetry-groups: "type_check,main,test" }
- { nox-session: docs, poetry-groups: "docs" }
steps:
- uses: actions/checkout@v3
- name: Install poetry
run: pipx install poetry==${POETRY_VERSION}
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
cache: poetry
- name: Install Nox and group dependencies
run: poetry install --only nox,${{ matrix.job.poetry-groups }}
- name: Test with Nox
run: poetry run nox -s ${{ matrix.job.nox-session }}
poetry-check:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Install poetry
run: pipx install poetry==${POETRY_VERSION}
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Validate Poetry Configuration and Lockfile Freshness
run: poetry check --lock