Update extra-platforms[pytest] requirement from ~=1.6.0 to ~=3.0.0 #1935
This file contains hidden or 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: Tests | |
"on": | |
push: | |
branches: | |
- main | |
pull_request: | |
schedule: | |
# Run tests every Monday at 9:17 to catch regressions. | |
- cron: "17 9 * * 1" | |
concurrency: | |
# Group workflow jobs so new commits cancels in-progress execution triggered by previous commits. Source: | |
# https://mail.python.org/archives/list/[email protected]/thread/PCBCQMJF64JGRBOX7E2EE4YLKHT4DI55/ | |
# https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/control-the-concurrency-of-workflows-and-jobs | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} | |
cancel-in-progress: true | |
jobs: | |
tests: | |
strategy: | |
fail-fast: false | |
matrix: | |
# Available OS: https://github.com/actions/runner-images#available-images | |
# To speed up the tests, we only test the latest available OS for each platform. | |
os: | |
- ubuntu-24.04 # x86 | |
- macos-15 # arm64 | |
- windows-2025 # x86 | |
# Available Python: https://github.com/actions/python-versions/blob/main/versions-manifest.json | |
# For Python, we only test against the oldest and newest major supported version and skip intermediates. We | |
# also test on the upcoming development version to anticipate issues. | |
python-version: | |
- "3.10" | |
- "3.13" | |
- "3.14" | |
include: | |
# Default all jobs as stable, unless marked otherwise below. | |
- state: stable | |
# XXX PyO3 does not support 3.14 yet: https://github.com/PyO3/pyo3/issues/4662 | |
# error: the configured Python interpreter version (3.14) is | |
# newer than PyO3's maximum supported version (3.13) | |
- state: unstable | |
python-version: "3.14" | |
name: "${{ matrix.state == 'stable' && 'β ' || 'βοΈ' }} ${{ matrix.os }} / py${{ matrix.python-version }}" | |
runs-on: ${{ matrix.os }} | |
# We keep going when a job flagged as not stable fails. | |
continue-on-error: ${{ matrix.state == 'unstable' }} | |
steps: | |
- uses: actions/[email protected] | |
- name: Install uv | |
run: | | |
python -m pip install -r https://raw.githubusercontent.com/kdeldycke/workflows/v4.15.5/requirements/uv.txt | |
- name: Install project | |
run: | | |
uv --no-progress venv --python ${{ matrix.python-version }} | |
uv --no-progress sync --frozen --extra test | |
- name: Unittests | |
run: | | |
uv --no-progress run --frozen -- pytest | |
- name: Codecov - coverage | |
uses: codecov/[email protected] | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
- name: Codecov - test results | |
if: ${{ !cancelled() }} | |
uses: codecov/[email protected] | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} |