Repository navigation
Stabilization: modernize deps and fix the instabilities that surfaced #33
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
| # This workflow will install Python dependencies, run tests and lint with a variety of Python versions | |
| # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python | |
| name: Python package | |
| on: | |
| push: | |
| branches: [ "master", "develop"] | |
| pull_request: | |
| branches: [ "master" ] | |
| jobs: | |
| build: | |
| name: Test (${{ matrix.os }}, Python ${{ matrix.python-version }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| # Deliberately not a square matrix, so the combinations are listed out | |
| # rather than generated. Linux carries the full Python sweep; Windows and | |
| # macOS get a single spot-check each. Those two exist to catch platform | |
| # divergence rather than version divergence -- word size (`int` is int32 | |
| # on Windows) and differences in the compiled solver -- which one Python | |
| # version exercises just as well as four. A square os x python matrix | |
| # would double the job count to buy very little. | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| python-version: "3.10" | |
| - os: ubuntu-latest | |
| python-version: "3.11" | |
| - os: ubuntu-latest | |
| python-version: "3.12" | |
| - os: ubuntu-latest | |
| python-version: "3.13" | |
| - os: windows-latest | |
| python-version: "3.12" | |
| - os: macos-latest | |
| python-version: "3.12" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv and set the python version | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| version: "0.6.14" | |
| - name: Install the project | |
| run: uv sync --all-extras --dev | |
| - name: Lint with ruff | |
| uses: astral-sh/ruff-action@v3 | |
| - name: Run tests | |
| run: uv run pytest |