Release/0.25.0 #75
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
| # .github/workflows/test-python.yml | |
| # See https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions | |
| name: Test Python Code | |
| on: | |
| pull_request: | |
| paths: | |
| - "src/**/*.py" | |
| - "tests/**/*.py" | |
| - "noxfile.py" | |
| - "pyproject.toml" | |
| - ".coveragerc" | |
| - ".github/workflows/test-python.yml" | |
| push: | |
| branches: | |
| - main | |
| - master | |
| paths: | |
| - "src/**/*.py" | |
| - "tests/**/*.py" | |
| - "noxfile.py" | |
| - "pyproject.toml" | |
| - ".coveragerc" | |
| - ".github/workflows/test-python.yml" | |
| workflow_dispatch: | |
| jobs: | |
| test-python: | |
| name: Run Python Tests on ${{ matrix.os }}/${{ matrix.python }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| include: | |
| - { python: "3.9", os: "ubuntu-latest" } | |
| - { python: "3.10", os: "ubuntu-latest" } | |
| - { python: "3.11", os: "ubuntu-latest" } | |
| - { python: "3.12", os: "ubuntu-latest" } | |
| - { python: "3.13", os: "ubuntu-latest" } | |
| - { python: "3.13", os: "macos-latest" } | |
| - { python: "3.13", os: "windows-latest" } | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python }} | |
| - name: Run test suite | |
| run: uvx nox -s tests-python-${{ matrix.python }} | |
| - name: Upload test reports | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: test-results-${{ matrix.os }}-py${{ matrix.python }} | |
| path: tests/results/*.xml | |
| retention-days: 5 | |
| - name: Upload coverage report | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-report-${{ matrix.os }}-py${{ matrix.python }} | |
| path: coverage.xml | |
| retention-days: 5 |