add support for dynamic dependencies with setuptools #1965
Workflow file for this run
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: CI | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened] | |
push: | |
branches: [main] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} | |
cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
jobs: | |
quality: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out | |
uses: actions/checkout@v4 | |
- name: Set up the environment | |
uses: ./.github/actions/setup-env | |
- name: Run pre-commit | |
run: | | |
rustup component add rustfmt | |
pdm run pre-commit run -a --show-diff-on-failure | |
- name: Inspect dependencies with deptry | |
run: | | |
pdm run deptry python | |
linux: | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', 'pypy3.10'] | |
steps: | |
- name: Check out | |
uses: actions/checkout@v4 | |
- name: Set up the environment | |
uses: ./.github/actions/setup-env | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Check typing | |
run: pdm run mypy | |
- name: Run unit tests | |
run: pdm run pytest tests/unit --cov --cov-config=pyproject.toml --cov-report=xml | |
- name: Run functional tests | |
run: pdm run pytest tests/functional -n auto --dist loadgroup | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@v4 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
if: ${{ matrix.python-version == '3.12' }} | |
windows: | |
runs-on: windows-2022 | |
strategy: | |
matrix: | |
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] | |
steps: | |
- name: Check out | |
uses: actions/checkout@v4 | |
- name: Set up the environment | |
uses: ./.github/actions/setup-env | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Run unit tests | |
run: pdm run pytest tests/unit --cov --cov-config=pyproject.toml --cov-report=xml | |
- name: Run functional tests | |
run: pdm run pytest tests/functional -n auto --dist loadgroup | |
macos: | |
runs-on: macos-14 | |
strategy: | |
matrix: | |
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] | |
steps: | |
- name: Check out | |
uses: actions/checkout@v4 | |
- name: Set up the environment | |
uses: ./.github/actions/setup-env | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Run unit tests | |
run: pdm run pytest tests/unit --cov --cov-config=pyproject.toml --cov-report=xml | |
- name: Run functional tests | |
run: pdm run pytest tests/functional -n auto --dist loadgroup | |
check-docs: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out | |
uses: actions/checkout@v4 | |
- name: Set up the environment | |
uses: ./.github/actions/setup-env | |
- name: Check if documentation can be built | |
run: pdm run mkdocs build -s |