Skip to content

Update extra-platforms[pytest] requirement from ~=1.6.0 to ~=3.0.0 #1935

Update extra-platforms[pytest] requirement from ~=1.6.0 to ~=3.0.0

Update extra-platforms[pytest] requirement from ~=1.6.0 to ~=3.0.0 #1935

Workflow file for this run

---
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 }}