Skip to content

Stabilization: modernize deps and fix the instabilities that surfaced #33

Stabilization: modernize deps and fix the instabilities that surfaced

Stabilization: modernize deps and fix the instabilities that surfaced #33

Workflow file for this run

# 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