Skip to content

Commit 71eb8eb

Browse files
authored
ci: move clippy to parallel job, off the build-linux critical path (#1000)
Extract full-workspace clippy into a standalone `clippy` job that runs in parallel with build-linux. The new job excludes notebook, runtimed-wasm, and runtimed-py (same pattern as rust-tests and windows-clippy). Replace the full-workspace clippy in build-linux with a notebook-only `cargo clippy -p notebook` which is fast since release deps are already compiled. No clippy coverage is lost. This removes ~2.5 minutes from the build-linux critical path.
1 parent 16e18b9 commit 71eb8eb

File tree

1 file changed

+28
-2
lines changed

1 file changed

+28
-2
lines changed

.github/workflows/build.yml

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,8 +263,8 @@ jobs:
263263
cp target/release/runt "crates/notebook/binaries/runt-$TARGET"
264264
fi
265265
266-
- name: Clippy
267-
run: cargo clippy --workspace --all-targets -- -D warnings
266+
- name: Clippy (notebook crate)
267+
run: cargo clippy -p notebook --all-targets -- -D warnings
268268

269269
- name: Install cargo-binstall
270270
run: curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
@@ -336,6 +336,32 @@ jobs:
336336
# Exclude runtimed-py — requires Python/maturin (tested in runtimed-py-integration job).
337337
run: cargo test --workspace --exclude notebook --exclude runtimed-wasm --exclude runtimed-py --verbose
338338

339+
clippy:
340+
name: Clippy (Linux)
341+
needs: [changes]
342+
if: needs.changes.outputs.source_changed == 'true'
343+
runs-on: ubuntu-latest
344+
steps:
345+
- uses: actions/checkout@v6
346+
347+
- name: Install system dependencies
348+
run: |
349+
sudo apt-get update
350+
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev libxdo-dev
351+
352+
- name: Install uv
353+
uses: astral-sh/setup-uv@v7
354+
355+
- name: Install rust
356+
uses: dsherret/rust-toolchain-file@v1
357+
358+
- uses: Swatinem/rust-cache@v2
359+
with:
360+
shared-key: ubuntu-latest
361+
362+
- name: Clippy
363+
run: cargo clippy --workspace --exclude notebook --exclude runtimed-wasm --exclude runtimed-py --all-targets -- -D warnings
364+
339365
build:
340366
name: ${{ matrix.platform.name }}
341367
needs: [changes, build-ui]

0 commit comments

Comments
 (0)