⬆️ Bump actions/setup-python from 5.2.0 to 5.3.0 (#173) #386
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: Tests | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
permissions: | |
contents: read | |
concurrency: | |
group: ci-${{ github.ref_name }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 30 | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "pypy-3.9", "pypy-3.10"] | |
os: [ubuntu-22.04, macOS-13, windows-latest] | |
include: | |
# pypy-3.7, pypy-3.8 may fail due to missing cryptography wheels. Adapting. | |
- python-version: pypy-3.7 | |
os: ubuntu-22.04 | |
- python-version: pypy-3.8 | |
os: ubuntu-22.04 | |
- python-version: pypy-3.8 | |
os: macOS-13 | |
exclude: | |
# pypy 3.9 and 3.10 suffers from a wierd bug, probably due to gc | |
# this bug prevent us from running the suite on Windows. | |
- python-version: pypy-3.9 | |
os: windows-latest | |
- python-version: pypy-3.10 | |
os: windows-latest | |
steps: | |
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 | |
with: | |
python-version: ${{ matrix.python-version }} | |
allow-prereleases: true | |
cache: 'pip' | |
- name: Install dependencies | |
run: | | |
pip install nox | |
- name: Run tests | |
run: | | |
nox -s "test-${{ startsWith(matrix.python-version, 'pypy') && 'pypy' || matrix.python-version }}" | |
- name: "Upload artifact" | |
uses: "actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce" | |
with: | |
name: coverage-data | |
path: ".coverage.*" | |
if-no-files-found: error | |
coverage: | |
if: always() | |
runs-on: "ubuntu-latest" | |
needs: build | |
steps: | |
- name: "Checkout repository" | |
uses: "actions/checkout@d632683dd7b4114ad314bca15554477dd762a938" | |
- name: "Setup Python" | |
uses: "actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b" | |
with: | |
python-version: "3.x" | |
- name: "Install coverage" | |
run: "python -m pip install --upgrade coverage" | |
- name: "Download artifact" | |
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a | |
with: | |
name: coverage-data | |
- name: "Combine & check coverage" | |
run: | | |
python -m coverage combine | |
python -m coverage html --skip-covered --skip-empty | |
python -m coverage report --ignore-errors --show-missing --fail-under=77 | |
- name: "Upload report" | |
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce | |
with: | |
name: coverage-report | |
path: htmlcov |