Refactor input #610
Workflow file for this run
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
| # For documentation on GitHub Actions Workflows, see: | |
| # https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions | |
| name: Tests | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| push: | |
| branches: [main] | |
| jobs: | |
| tests: | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t"] | |
| fail-fast: false | |
| runs-on: ${{ matrix.os }} | |
| defaults: | |
| run: | |
| # Use a conditional expression to set the default shell | |
| # 'cmd' on Windows, 'bash' on other platforms (Linux, macOS) | |
| shell: ${{ matrix.os == 'windows-latest' && 'cmd' || 'bash' }} | |
| steps: | |
| - name: Check out | |
| uses: actions/checkout@v6.0.2 | |
| with: | |
| fetch-depth: 0 # Needed for setuptools_scm to work correctly | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| allow-prereleases: true | |
| - name: Install the project | |
| run: uv sync --all-extras --dev | |
| - name: Run tests | |
| if: runner.os == 'Windows' | |
| run: | |
| winpty uv run python -Xutf8 -m pytest --cov --cov-config=pyproject.toml --cov-report=xml | |
| tests | |
| - name: Run tests | |
| if: runner.os != 'Windows' | |
| run: uv run python -Xutf8 -m pytest --cov --cov-config=pyproject.toml --cov-report=xml tests | |
| - name: Upload test results to Codecov | |
| if: ${{ !cancelled() }} | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| flags: python${{ matrix.python-version }} | |
| name: codecov-umbrella-test-results | |
| report_type: test_results | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| env_vars: OS,PYTHON | |
| fail_ci_if_error: true | |
| flags: unittests | |
| name: codecov-umbrella | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| verbose: true |