Repository navigation
Add Tier 1/2 inference: spectral, model selection, state merging, HDP… #18
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
| name: Build | |
| on: [push, pull_request, workflow_dispatch] | |
| jobs: | |
| test: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| python-version: ["3.11", "3.12", "3.13", "3.14"] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@v8.1.0 | |
| with: | |
| version: "latest" | |
| - name: Install Python ${{ matrix.python-version }} | |
| run: uv python install ${{ matrix.python-version }} | |
| - name: Pin Python version for uv | |
| run: echo '${{ matrix.python-version }}' > .python-version | |
| - name: Install Graphviz | |
| uses: ts-graphviz/setup-graphviz@v2 | |
| - name: Install package and dependencies | |
| run: uv sync --extra test | |
| - name: Run tests | |
| run: uv run pytest --cov-report=xml | |
| - name: Upload coverage | |
| if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13' | |
| uses: codecov/codecov-action@v6 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| files: coverage.xml | |
| fail_ci_if_error: false | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@v8.1.0 | |
| with: | |
| version: "latest" | |
| - name: Install Python | |
| run: uv python install 3.12 | |
| - name: Install package | |
| run: uv sync --extra dev | |
| - name: Lint with ruff | |
| run: | | |
| uv run ruff check . | |
| uv run ruff format --check . | |
| typecheck: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@v8.1.0 | |
| with: | |
| version: "latest" | |
| - name: Install Python | |
| run: uv python install 3.12 | |
| - name: Install package | |
| run: uv sync --extra dev | |
| - name: Type check with ty | |
| run: uv run ty check | |
| docs: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@v8.1.0 | |
| with: | |
| version: "latest" | |
| - name: Install Python | |
| run: uv python install 3.12 | |
| - name: Install package | |
| run: uv sync --extra docs | |
| - name: Build docs | |
| run: uv run sphinx-build -W --keep-going -b html docs docs/_build/html | |
| - name: Check links | |
| run: uv run sphinx-build -b linkcheck docs docs/_build/linkcheck | |
| continue-on-error: true |