Skip to content

ci: speed up testing #277

ci: speed up testing

ci: speed up testing #277

Workflow file for this run

name: test
on:
workflow_dispatch:
push:
branches:
- main
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
FORCE_COLOR: "1"
jobs:
test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
python-version:
- '3.8'
- '3.9'
- '3.10'
- '3.11'
- '3.12'
runs-on: ${{ matrix.os }}
name: ${{ matrix.os }}, Python ${{ matrix.python-version }}
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- uses: astral-sh/setup-uv@v3
- name: Install test dependencies
run: uv tool install --with tox-gh-actions --with tox-uv tox
- name: Test packaging
run: tox -e pkg
- name: Run tests with PyTest 6
run: tox
env:
PYTEST_MAJOR_VERSION: 6
PYTEST_PLUGINS: pytest_github_actions_annotate_failures
- name: Run tests with PyTest 7
run: tox
env:
PYTEST_MAJOR_VERSION: 7
PYTEST_PLUGINS: pytest_github_actions_annotate_failures
post-test:
name: All tests passed
if: always()
needs: [test]
runs-on: ubuntu-latest
timeout-minutes: 2
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}