Repository navigation
✨ Give the filter sweep a purely spatial and a longer temporal arm #115
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| workflow_call: | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| # This project is CUDA-core: its runtime stack (cupy-cuda13x and the cudawarped | |
| # CUDA OpenCV build) has no CPU/macOS wheels and cannot even `import` without an | |
| # NVIDIA driver, so a GPU-less runner cannot install the project. CI therefore | |
| # does NOT install it, type-check, or run tests — those run locally on a CUDA | |
| # machine (`uv run ty check`, `uv run pytest`). CI keeps only the checks that | |
| # are cheap, deterministic, and need no GPU: ruff (static, isolated) and | |
| # lockfile freshness. | |
| jobs: | |
| lint: | |
| name: Ruff (format + lint) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@v8.1.0 | |
| with: | |
| enable-cache: true | |
| # Run ruff in isolation (uvx): it reads [tool.ruff] from pyproject but | |
| # needs none of the project's GPU-only dependencies installed. Pinned to | |
| # the dev group's ruff so CI and local agree on formatting/lint rules. | |
| - name: Ruff format check | |
| run: uvx ruff@0.16.0 format --check . | |
| - name: Ruff lint | |
| run: uvx ruff@0.16.0 check . | |
| lock: | |
| name: Verify lockfile | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@v8.1.0 | |
| with: | |
| enable-cache: true | |
| # Metadata-only resolve against the project's real (CUDA) index — no GPU | |
| # and no wheel downloads — so it flags a stale lock without installing. | |
| - name: Check the committed lockfile is up to date | |
| run: uv lock --check |