Refactor/repository cleanup (#171) #336
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, develop] | |
| pull_request: | |
| branches: [main, develop] | |
| # Prevent duplicate runs on rapid pushes (cost + compute control) | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| code-quality: | |
| name: Code Quality (pre-commit) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Python + uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| python-version: "3.10" | |
| enable-cache: true | |
| cache-dependency-glob: "uv.lock" | |
| - name: Install dependencies (dev) | |
| run: uv sync --extra dev --extra cpu --locked | |
| - name: Run pre-commit | |
| run: uv run pre-commit run --all-files | |
| tests: | |
| name: Tests (Python ${{ matrix.python-version }}) | |
| runs-on: ubuntu-latest | |
| needs: code-quality | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12"] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Python + uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| enable-cache: true | |
| cache-dependency-glob: "uv.lock" | |
| - name: Install dependencies (CPU) | |
| run: uv sync --extra cpu --locked | |
| - name: Run tests | |
| run: uv run pytest -v | |
| cuda-matrix-check: | |
| name: Verify CUDA Dependency Resolution | |
| runs-on: ubuntu-latest | |
| needs: code-quality | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Python + uv (no cache) | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| python-version: "3.11" | |
| enable-cache: false | |
| - name: Verify cu118 resolution (dry-run) | |
| run: uv sync --extra cu118 --locked --dry-run | |
| - name: Verify cu121 resolution (dry-run) | |
| run: uv sync --extra cu121 --locked --dry-run | |
| - name: Verify cu124 resolution (dry-run) | |
| run: uv sync --extra cu124 --locked --dry-run |