[pre-commit.ci] pre-commit autoupdate #69
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
--- | |
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python | |
name: Python CI | |
# yamllint disable-line rule:truthy | |
on: | |
push: | |
branches: ["main"] | |
pull_request: | |
branches: ["main"] | |
jobs: | |
CI-Python: | |
runs-on: ubuntu-latest | |
env: | |
PYTHONDEVMODE: 1 | |
strategy: | |
fail-fast: true | |
matrix: | |
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: pdm-project/setup-pdm@v3 | |
name: Setup PDM | |
with: | |
cache: true | |
python-version: ${{ matrix.python-version }} # Version range or exact version of a Python version to use, the same as actions/setup-python | |
architecture: x64 | |
- name: Set Cache Variables | |
id: set_variables | |
run: | | |
echo "PIP_CACHE=$(pip cache dir)" >> $GITHUB_OUTPUT | |
echo "PDM_CACHE=$(pdm config cache_dir)" >> $GITHUB_OUTPUT | |
- name: Cache PIP and PDM | |
uses: actions/cache@v2 | |
with: | |
path: | | |
${{ steps.set_variables.outputs.PIP_CACHE }} | |
${{ steps.set_variables.outputs.PDM_CACHE }} | |
key: ${{ runner.os }}-pip-${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
pdm install -G :all --dev | |
pdm venv activate in-project | |
- name: Test with pytest | |
run: | | |
pdm run test-cov | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: ./coverage.xml | |
flags: unittests | |
- name: Type check with mypy | |
run: | | |
pdm run lint-mypy | |
- name: Lint with ruff | |
run: | | |
pdm run lint-ruff --output-format=github --exit-non-zero-on-fix | |
- name: Build with pdm | |
run: | | |
pdm build | |
# Do not upload to PyPI, here we only want to check that the build works | |
# XXX Check valid wheels? |