ci: skip platform builds and CI setup for quest and docs-only diffs - #4407
Conversation
Platform (Windows, macOS, and both OBS builds) now runs only when the Rust workspace or the OBS plugin changes, and installs a prebuilt just instead of compiling it. Check and Test skip disk cleanup and the Rust cache when the diff touches only quests, .claude/, or root Markdown; Test skips entirely. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (3)
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 0 remain after this review. WalkthroughThe check and test jobs now use changed-path detection to conditionally run cleanup and build steps. The platform workflow filters pushes and pull requests by path. The Android workflow installs cargo-ndk with Cargo, while the Android, Windows, and macOS workflows install the pinned just version through an action. Priority: ⬇️ Low Merge Risk: ⚪ Minimal · up to Quest-only changes retain their Check validation while skipping selected build setup. No actionable merge-blocking issue remains after normal checks. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The changed-path gates leave the Check job running for light diffs and include the OBS build configuration in the Platform trigger. No introduced security failure was established, but branch enforcement and complete validation coverage could not be verified. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches✨ Simplify code
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Problem
A quest-only PR (e.g. #4367) ran 7 checks, including Windows, macOS, and two OBS builds on the most expensive runners (10-13 min each).
platform.ymlwas unfiltered on the assumption it finishes beforecheck.yml, which doesn't hold for light diffs. Check and Test also spent ~90s each on disk cleanup and Rust cache restore, and Test ran ~75s of nix setup to test nothing.Approach
platform.yml: path filter onrs/,cpp/,.cargo/,Cargo.{toml,lock},rust-toolchain.toml,justfile, and itself, for both PR and push. 26 of the last 60 merged PRs would skip it.platform.yml,android.yml: installjustas a checksummed prebuilt binary (taiki-e/install-action) instead ofcargo install(118-142s).check.yml: aScopestep classifies the diff. When it touches onlyquest/,.claude/, or root*.md, Check skips disk cleanup and the Rust cache (still runsquest checkand the Markdown lints), and Test skips all steps and reports green.doc/is not in the light set becausejust js checkbuildsjs/wasmthrough cargo.Quest-only PR after this: Check (~2 min) and Test (~15s). Platform doesn't run.
Impact
Alternatives
changesjob instead ofpaths:. Unnecessary since it isn't required.copying pathper job). Larger change; left as a follow-up.Follow-ups
(Written by Claude Opus 5.5)
🤖 Generated with Claude Code