Skip to content

Use newer uv features to simplify some CI jobs #1287

Use newer uv features to simplify some CI jobs

Use newer uv features to simplify some CI jobs #1287

Workflow file for this run

name: tests
on:
push:
branches:
- main
pull_request:
paths-ignore:
- "**/*.md"
workflow_dispatch:
permissions:
contents: read
env:
PIP_DISABLE_PIP_VERSION_CHECK: 1
FORCE_COLOR: 1
PY_COLORS: 1 # Recognized by the `py` package, dependency of `pytest`
TERM: xterm-256color # needed for FORCE_COLOR to work on mypy on Ubuntu, see https://github.com/python/mypy/issues/13817
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
mypy:
name: mypy
runs-on: ubuntu-latest
timeout-minutes: 5
strategy:
matrix:
python-version: ["3.9", "3.13"]
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v1
with:
version: "latest"
- run: |
uv run --python=3.12 --extra=dev mypy --python-version=${{ matrix.python-version }}
flake8:
name: flake8
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v1
with:
version: "latest"
- run: |
uv run --python=3.12 --extra=dev flake8 $(git ls-files | grep 'py$') --color=always
tests:
name: pytest suite
timeout-minutes: 10
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v1
with:
version: "latest"
- run: |
uv run --python=${{ matrix.python-version }} --extra=dev pytest -vv