From 7c1841e9d716c2b565f10183bd67745f705bd980 Mon Sep 17 00:00:00 2001 From: sayakpaul Date: Wed, 27 May 2026 09:53:47 +0530 Subject: [PATCH 1/4] =?UTF-8?q?optimize=20ci=20runtime=20=E2=9A=A1?= =?UTF-8?q?=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/build_kernel.yaml | 15 +++++-- .github/workflows/build_kernel_macos.yaml | 15 +++++-- .github/workflows/build_kernel_rocm.yaml | 15 +++++-- .github/workflows/build_kernel_windows.yaml | 15 +++++-- .github/workflows/build_kernel_xpu.yaml | 15 +++++-- .github/workflows/check_variants.yaml | 13 ++++-- .../workflows/kernel-builder-cli-docs.yaml | 4 ++ .../workflows/kernel_abi_python_release.yaml | 12 +++-- .../kernels_data_python_release.yaml | 16 +++++-- .github/workflows/lint.yml | 12 +++-- .github/workflows/nix_checks.yml | 15 +++++-- .github/workflows/publish_kernels.yml | 6 ++- .github/workflows/rust.yaml | 19 ++++++-- .github/workflows/test_extra_commands.yaml | 14 ++++-- .github/workflows/test_kernels.yaml | 44 +++++++++++++++---- .github/workflows/test_python.yaml | 7 +-- 16 files changed, 187 insertions(+), 50 deletions(-) diff --git a/.github/workflows/build_kernel.yaml b/.github/workflows/build_kernel.yaml index 18e4e7d7..89a904c4 100644 --- a/.github/workflows/build_kernel.yaml +++ b/.github/workflows/build_kernel.yaml @@ -5,11 +5,20 @@ on: pull_request: branches: [main] types: [opened, synchronize, reopened] # trigger on PRs - paths-ignore: - - "docs/**" - - "*.md" + paths: + - "nix-builder/**" + - "kernel-builder/**" + - "examples/kernels/**" + - "flake.nix" + - "flake.lock" + - "default.nix" + - ".github/workflows/build_kernel.yaml" workflow_dispatch: +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + jobs: build: name: Build kernels (${{ matrix.arch }}) diff --git a/.github/workflows/build_kernel_macos.yaml b/.github/workflows/build_kernel_macos.yaml index 905a05bd..925743b4 100644 --- a/.github/workflows/build_kernel_macos.yaml +++ b/.github/workflows/build_kernel_macos.yaml @@ -5,11 +5,20 @@ on: pull_request: branches: [main] types: [opened, synchronize, reopened] # trigger on PRs - paths-ignore: - - "docs/**" - - "*.md" + paths: + - "nix-builder/**" + - "kernel-builder/**" + - "examples/kernels/**" + - "flake.nix" + - "flake.lock" + - "default.nix" + - ".github/workflows/build_kernel_macos.yaml" workflow_dispatch: +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + jobs: build: name: Build kernel diff --git a/.github/workflows/build_kernel_rocm.yaml b/.github/workflows/build_kernel_rocm.yaml index 6d090477..c302a30e 100644 --- a/.github/workflows/build_kernel_rocm.yaml +++ b/.github/workflows/build_kernel_rocm.yaml @@ -5,11 +5,20 @@ on: pull_request: branches: [main] types: [opened, synchronize, reopened] # trigger on PRs - paths-ignore: - - "docs/**" - - "*.md" + paths: + - "nix-builder/**" + - "kernel-builder/**" + - "examples/kernels/**" + - "flake.nix" + - "flake.lock" + - "default.nix" + - ".github/workflows/build_kernel_rocm.yaml" workflow_dispatch: +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + jobs: build: name: Build kernel diff --git a/.github/workflows/build_kernel_windows.yaml b/.github/workflows/build_kernel_windows.yaml index 64a265db..d24d0880 100644 --- a/.github/workflows/build_kernel_windows.yaml +++ b/.github/workflows/build_kernel_windows.yaml @@ -5,11 +5,20 @@ on: pull_request: branches: [main] types: [opened, synchronize, reopened] # trigger on PRs - paths-ignore: - - "docs/**" - - "*.md" + paths: + - "nix-builder/**" + - "kernel-builder/**" + - "examples/kernels/**" + - "flake.nix" + - "flake.lock" + - "default.nix" + - ".github/workflows/build_kernel_windows.yaml" workflow_dispatch: +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + jobs: build: strategy: diff --git a/.github/workflows/build_kernel_xpu.yaml b/.github/workflows/build_kernel_xpu.yaml index b9246f86..b8f40631 100644 --- a/.github/workflows/build_kernel_xpu.yaml +++ b/.github/workflows/build_kernel_xpu.yaml @@ -5,11 +5,20 @@ on: pull_request: branches: [main] types: [opened, synchronize, reopened] # trigger on PRs - paths-ignore: - - "docs/**" - - "*.md" + paths: + - "nix-builder/**" + - "kernel-builder/**" + - "examples/kernels/**" + - "flake.nix" + - "flake.lock" + - "default.nix" + - ".github/workflows/build_kernel_xpu.yaml" workflow_dispatch: +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + jobs: build: name: Build kernel diff --git a/.github/workflows/check_variants.yaml b/.github/workflows/check_variants.yaml index 45ce5d6b..b5e95f80 100644 --- a/.github/workflows/check_variants.yaml +++ b/.github/workflows/check_variants.yaml @@ -5,11 +5,18 @@ on: pull_request: branches: [main] types: [opened, synchronize, reopened] # trigger on PRs - paths-ignore: - - "docs/**" - - "*.md" + paths: + - "nix-builder/**" + - "flake.nix" + - "flake.lock" + - "docs/source/builder/build-variants.md" + - ".github/workflows/check_variants.yaml" workflow_dispatch: +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + jobs: build: name: Check build variants diff --git a/.github/workflows/kernel-builder-cli-docs.yaml b/.github/workflows/kernel-builder-cli-docs.yaml index 606da7e6..f9832141 100644 --- a/.github/workflows/kernel-builder-cli-docs.yaml +++ b/.github/workflows/kernel-builder-cli-docs.yaml @@ -12,6 +12,10 @@ on: branches: - main +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + jobs: check-cli-docs: runs-on: ubuntu-latest diff --git a/.github/workflows/kernel_abi_python_release.yaml b/.github/workflows/kernel_abi_python_release.yaml index c7d9aee9..958e1bed 100644 --- a/.github/workflows/kernel_abi_python_release.yaml +++ b/.github/workflows/kernel_abi_python_release.yaml @@ -13,11 +13,17 @@ on: tags: - "*" pull_request: - paths-ignore: - - "docs/**" - - "*.md" + paths: + - "kernel-abi-check/**" + - "Cargo.toml" + - "Cargo.lock" + - ".github/workflows/kernel_abi_python_release.yaml" workflow_dispatch: +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + permissions: contents: read diff --git a/.github/workflows/kernels_data_python_release.yaml b/.github/workflows/kernels_data_python_release.yaml index 491efb25..ae0d9b3b 100644 --- a/.github/workflows/kernels_data_python_release.yaml +++ b/.github/workflows/kernels_data_python_release.yaml @@ -7,7 +7,9 @@ # - manifest paths made relative # - publish step switched from `uv publish` + API token to # `PyO3/maturin-action` + PyPI trusted publishing (see plan.md §3a, §3b) -# - pull_request trigger gained `paths-ignore` for docs-only PRs +# - pull_request trigger scoped to kernels-data/** and Cargo.{toml,lock} +# so unrelated PRs don't trigger the full wheel matrix +# - added concurrency cancellation for in-progress PR builds name: CI on: @@ -18,11 +20,17 @@ on: tags: - "*" pull_request: - paths-ignore: - - "docs/**" - - "*.md" + paths: + - "kernels-data/**" + - "Cargo.toml" + - "Cargo.lock" + - ".github/workflows/kernels_data_python_release.yaml" workflow_dispatch: +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + permissions: contents: read diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 2b351d8b..4997c83f 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -1,10 +1,16 @@ name: Lints on: push: + branches: [main] pull_request: - paths-ignore: - - "docs/**" - - "*.md" + paths: + - "kernels/**" + - "kernels-data/src/python_dependencies.json" + - ".github/workflows/lint.yml" + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} env: RUFF_VERSION: "0.15.10" diff --git a/.github/workflows/nix_checks.yml b/.github/workflows/nix_checks.yml index 22e31ee0..5a336f8e 100644 --- a/.github/workflows/nix_checks.yml +++ b/.github/workflows/nix_checks.yml @@ -5,11 +5,20 @@ on: pull_request: branches: [main] types: [opened, synchronize, reopened] # trigger on PRs - paths-ignore: - - "docs/**" - - "*.md" + paths: + - "nix-builder/**" + - "kernel-builder/**" + - "examples/kernels/**" + - "flake.nix" + - "flake.lock" + - "default.nix" + - ".github/workflows/nix_checks.yml" workflow_dispatch: +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + jobs: build: name: Nix checks diff --git a/.github/workflows/publish_kernels.yml b/.github/workflows/publish_kernels.yml index 6ecf2460..07d44e36 100644 --- a/.github/workflows/publish_kernels.yml +++ b/.github/workflows/publish_kernels.yml @@ -1,6 +1,10 @@ name: Publish Python 🐍 distribution 📦 to PyPI and TestPyPI -on: push +on: + push: + branches: [main] + tags: + - "*" jobs: build: diff --git a/.github/workflows/rust.yaml b/.github/workflows/rust.yaml index abf7ec46..71b8d8bc 100644 --- a/.github/workflows/rust.yaml +++ b/.github/workflows/rust.yaml @@ -2,10 +2,19 @@ name: Rust on: push: + branches: [main] pull_request: - paths-ignore: - - "docs/**" - - "*.md" + paths: + - "kernel-abi-check/**" + - "kernels-data/**" + - "kernel-builder/**" + - "Cargo.toml" + - "Cargo.lock" + - ".github/workflows/rust.yaml" + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} jobs: fmt: @@ -41,6 +50,8 @@ jobs: ~/.cargo/git/db/ target/ key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo- - uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 with: components: clippy @@ -69,6 +80,8 @@ jobs: ~/.cargo/git/db/ target/ key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo- - uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 - name: Test (kernel-abi-check) run: cargo test -p kernel-abi-check diff --git a/.github/workflows/test_extra_commands.yaml b/.github/workflows/test_extra_commands.yaml index 84b54af4..0eb19edb 100644 --- a/.github/workflows/test_extra_commands.yaml +++ b/.github/workflows/test_extra_commands.yaml @@ -5,11 +5,19 @@ on: pull_request: branches: [main] types: [opened, synchronize, reopened] # trigger on PRs - paths-ignore: - - "docs/**" - - "*.md" + paths: + - "nix-builder/**" + - "kernel-builder/**" + - "examples/kernels/**" + - "flake.nix" + - "flake.lock" + - ".github/workflows/test_extra_commands.yaml" workflow_dispatch: +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + jobs: build: name: Build kernel diff --git a/.github/workflows/test_kernels.yaml b/.github/workflows/test_kernels.yaml index 44dfaada..cb9fbfc2 100644 --- a/.github/workflows/test_kernels.yaml +++ b/.github/workflows/test_kernels.yaml @@ -6,9 +6,11 @@ on: pull_request: branches: [main] types: [opened, synchronize, reopened] # trigger on PRs - paths-ignore: - - "docs/**" - - "*.md" + paths: + - "kernels/**" + - "kernels-data/bindings/python/**" + - "kernel-abi-check/bindings/python/**" + - ".github/workflows/test_kernels.yaml" workflow_dispatch: concurrency: @@ -16,8 +18,8 @@ concurrency: cancel-in-progress: true jobs: - build: - name: Run kernels tests + gpu-tests: + name: GPU tests runs-on: group: aws-g6-24xlarge permissions: @@ -57,10 +59,6 @@ jobs: working-directory: ./kernels run: uv pip install setuptools - - name: Check typing - working-directory: ./kernels - run: uv run mypy src/kernels - - name: Run tests working-directory: ./kernels env: @@ -76,6 +74,34 @@ jobs: uv pip install einops nvidia-cutlass-dsl uv run pytest tests/test_deps.py + cpu-checks: + name: CPU checks (mypy, no-torch import, CLI) + runs-on: ubuntu-latest + + env: + UV_PYTHON_PREFERENCE: only-managed + + steps: + - name: Checkout code + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + + - name: Install uv and set the python version + uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6.0 + with: + python-version: "3.12" + + - name: Override kernels-data source to local bindings + working-directory: ./kernels + run: uv add ../kernels-data/bindings/python --no-sync + + - name: Install the project + working-directory: ./kernels + run: uv sync --all-extras --dev + + - name: Check typing + working-directory: ./kernels + run: uv run mypy src/kernels + - name: Check kernel check working-directory: ./kernels run: | diff --git a/.github/workflows/test_python.yaml b/.github/workflows/test_python.yaml index de57b465..f3f1265b 100644 --- a/.github/workflows/test_python.yaml +++ b/.github/workflows/test_python.yaml @@ -6,9 +6,10 @@ on: pull_request: branches: [main] types: [opened, synchronize, reopened] # trigger on PRs - paths-ignore: - - "docs/**" - - "*.md" + paths: + - "kernel-abi-check/**" + - "kernels-data/**" + - ".github/workflows/test_python.yaml" workflow_dispatch: concurrency: From 938bbef32898f6bd97dc60b27d69912e8e12de23 Mon Sep 17 00:00:00 2001 From: sayakpaul Date: Wed, 27 May 2026 10:10:30 +0530 Subject: [PATCH 2/4] fix concurrency issues in abi and data workflows. --- .github/workflows/kernel_abi_python_release.yaml | 5 ++++- .github/workflows/kernels_data_python_release.yaml | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/kernel_abi_python_release.yaml b/.github/workflows/kernel_abi_python_release.yaml index 958e1bed..f5435773 100644 --- a/.github/workflows/kernel_abi_python_release.yaml +++ b/.github/workflows/kernel_abi_python_release.yaml @@ -21,7 +21,10 @@ on: workflow_dispatch: concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + # Hardcoded prefix because this workflow shares `name: CI` with + # kernels_data_python_release.yaml; ${{ github.workflow }} would + # otherwise collide and cancel the sibling workflow's run. + group: kernel-abi-python-release-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: ${{ github.event_name == 'pull_request' }} permissions: diff --git a/.github/workflows/kernels_data_python_release.yaml b/.github/workflows/kernels_data_python_release.yaml index ae0d9b3b..5d924798 100644 --- a/.github/workflows/kernels_data_python_release.yaml +++ b/.github/workflows/kernels_data_python_release.yaml @@ -28,7 +28,10 @@ on: workflow_dispatch: concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + # Hardcoded prefix because this workflow shares `name: CI` with + # kernel_abi_python_release.yaml; ${{ github.workflow }} would + # otherwise collide and cancel the sibling workflow's run. + group: kernels-data-python-release-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: ${{ github.event_name == 'pull_request' }} permissions: From 605aa1b0446b65819e0460036f6c09424e21521d Mon Sep 17 00:00:00 2001 From: sayakpaul Date: Wed, 27 May 2026 10:19:10 +0530 Subject: [PATCH 3/4] relax nix and lock changes --- .github/workflows/build_kernel.yaml | 5 ++--- .github/workflows/build_kernel_macos.yaml | 5 ++--- .github/workflows/build_kernel_rocm.yaml | 5 ++--- .github/workflows/build_kernel_windows.yaml | 5 ++--- .github/workflows/build_kernel_xpu.yaml | 5 ++--- .github/workflows/check_variants.yaml | 4 ++-- .github/workflows/nix_checks.yml | 5 ++--- .github/workflows/test_extra_commands.yaml | 4 ++-- 8 files changed, 16 insertions(+), 22 deletions(-) diff --git a/.github/workflows/build_kernel.yaml b/.github/workflows/build_kernel.yaml index 89a904c4..a7973a10 100644 --- a/.github/workflows/build_kernel.yaml +++ b/.github/workflows/build_kernel.yaml @@ -9,9 +9,8 @@ on: - "nix-builder/**" - "kernel-builder/**" - "examples/kernels/**" - - "flake.nix" - - "flake.lock" - - "default.nix" + - "**/*.nix" + - "**/flake.lock" - ".github/workflows/build_kernel.yaml" workflow_dispatch: diff --git a/.github/workflows/build_kernel_macos.yaml b/.github/workflows/build_kernel_macos.yaml index 925743b4..8561a56c 100644 --- a/.github/workflows/build_kernel_macos.yaml +++ b/.github/workflows/build_kernel_macos.yaml @@ -9,9 +9,8 @@ on: - "nix-builder/**" - "kernel-builder/**" - "examples/kernels/**" - - "flake.nix" - - "flake.lock" - - "default.nix" + - "**/*.nix" + - "**/flake.lock" - ".github/workflows/build_kernel_macos.yaml" workflow_dispatch: diff --git a/.github/workflows/build_kernel_rocm.yaml b/.github/workflows/build_kernel_rocm.yaml index c302a30e..7397f014 100644 --- a/.github/workflows/build_kernel_rocm.yaml +++ b/.github/workflows/build_kernel_rocm.yaml @@ -9,9 +9,8 @@ on: - "nix-builder/**" - "kernel-builder/**" - "examples/kernels/**" - - "flake.nix" - - "flake.lock" - - "default.nix" + - "**/*.nix" + - "**/flake.lock" - ".github/workflows/build_kernel_rocm.yaml" workflow_dispatch: diff --git a/.github/workflows/build_kernel_windows.yaml b/.github/workflows/build_kernel_windows.yaml index d24d0880..ffc8e1a1 100644 --- a/.github/workflows/build_kernel_windows.yaml +++ b/.github/workflows/build_kernel_windows.yaml @@ -9,9 +9,8 @@ on: - "nix-builder/**" - "kernel-builder/**" - "examples/kernels/**" - - "flake.nix" - - "flake.lock" - - "default.nix" + - "**/*.nix" + - "**/flake.lock" - ".github/workflows/build_kernel_windows.yaml" workflow_dispatch: diff --git a/.github/workflows/build_kernel_xpu.yaml b/.github/workflows/build_kernel_xpu.yaml index b8f40631..7fa1abc2 100644 --- a/.github/workflows/build_kernel_xpu.yaml +++ b/.github/workflows/build_kernel_xpu.yaml @@ -9,9 +9,8 @@ on: - "nix-builder/**" - "kernel-builder/**" - "examples/kernels/**" - - "flake.nix" - - "flake.lock" - - "default.nix" + - "**/*.nix" + - "**/flake.lock" - ".github/workflows/build_kernel_xpu.yaml" workflow_dispatch: diff --git a/.github/workflows/check_variants.yaml b/.github/workflows/check_variants.yaml index b5e95f80..2cf74b6b 100644 --- a/.github/workflows/check_variants.yaml +++ b/.github/workflows/check_variants.yaml @@ -7,8 +7,8 @@ on: types: [opened, synchronize, reopened] # trigger on PRs paths: - "nix-builder/**" - - "flake.nix" - - "flake.lock" + - "**/*.nix" + - "**/flake.lock" - "docs/source/builder/build-variants.md" - ".github/workflows/check_variants.yaml" workflow_dispatch: diff --git a/.github/workflows/nix_checks.yml b/.github/workflows/nix_checks.yml index 5a336f8e..e97f7637 100644 --- a/.github/workflows/nix_checks.yml +++ b/.github/workflows/nix_checks.yml @@ -9,9 +9,8 @@ on: - "nix-builder/**" - "kernel-builder/**" - "examples/kernels/**" - - "flake.nix" - - "flake.lock" - - "default.nix" + - "**/*.nix" + - "**/flake.lock" - ".github/workflows/nix_checks.yml" workflow_dispatch: diff --git a/.github/workflows/test_extra_commands.yaml b/.github/workflows/test_extra_commands.yaml index 0eb19edb..02eec7c3 100644 --- a/.github/workflows/test_extra_commands.yaml +++ b/.github/workflows/test_extra_commands.yaml @@ -9,8 +9,8 @@ on: - "nix-builder/**" - "kernel-builder/**" - "examples/kernels/**" - - "flake.nix" - - "flake.lock" + - "**/*.nix" + - "**/flake.lock" - ".github/workflows/test_extra_commands.yaml" workflow_dispatch: From 1ef0b10c0508699cbd5938e4f522212bdf1bdbd6 Mon Sep 17 00:00:00 2001 From: sayakpaul Date: Wed, 27 May 2026 11:00:27 +0530 Subject: [PATCH 4/4] up --- .github/workflows/test_kernels.yaml | 36 +++++------------------------ 1 file changed, 6 insertions(+), 30 deletions(-) diff --git a/.github/workflows/test_kernels.yaml b/.github/workflows/test_kernels.yaml index cb9fbfc2..76e5fa93 100644 --- a/.github/workflows/test_kernels.yaml +++ b/.github/workflows/test_kernels.yaml @@ -18,8 +18,8 @@ concurrency: cancel-in-progress: true jobs: - gpu-tests: - name: GPU tests + build: + name: Run kernels tests runs-on: group: aws-g6-24xlarge permissions: @@ -59,6 +59,10 @@ jobs: working-directory: ./kernels run: uv pip install setuptools + - name: Check typing + working-directory: ./kernels + run: uv run mypy src/kernels + - name: Run tests working-directory: ./kernels env: @@ -74,34 +78,6 @@ jobs: uv pip install einops nvidia-cutlass-dsl uv run pytest tests/test_deps.py - cpu-checks: - name: CPU checks (mypy, no-torch import, CLI) - runs-on: ubuntu-latest - - env: - UV_PYTHON_PREFERENCE: only-managed - - steps: - - name: Checkout code - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - - name: Install uv and set the python version - uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6.0 - with: - python-version: "3.12" - - - name: Override kernels-data source to local bindings - working-directory: ./kernels - run: uv add ../kernels-data/bindings/python --no-sync - - - name: Install the project - working-directory: ./kernels - run: uv sync --all-extras --dev - - - name: Check typing - working-directory: ./kernels - run: uv run mypy src/kernels - - name: Check kernel check working-directory: ./kernels run: |