Repository navigation
ci: GPUI-only desktop CI with working Rust caches - #2553
Merged
Merged
Conversation
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This was referenced Oct 14, 2026
This branch was successfully deployed
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cap ships as the GPUI app plus the
cap-muxerandcap-clisidecars, so desktop CI now builds and tests that and stops building the Tauri app.Why CI was slow
Measured on recent PR runs (38451143856, 38458498562, 38489921441, 38501984802):
Rust cachejobs.Rust cachejob saved under a different env hash, bun caches saved per PR filled the 10 GB quota, and main runs were cancelled before saving.tauri build --debug, neither of which is what ships.Changes
v1-rust-gpuicache saved from main.CARGO_PROFILE_DEV_DEBUG=0drops debuginfo from the opt-level 2 dependency tree, which shrinks the cache and the link.--exclude cap-desktop, so no Tauri tree, no sidecar build and no.env. Every crate that ships is still linted. Its ownv1-rust-clippycache is saved from main.cap record::tests, cap-recording, cap-enc-ffmpeg) plus a debug build of both sidecars.tauri build --debug, the cap-desktop-only tests (logging_tests,crash_sentinel,export_estimate_request,gpu_device_health,render_frame_event), and the main-onlyRust cachejob.apps/desktop/src/**,apps/desktop/src-tauri/src/**) no longer triggers desktop jobs. Assets, sounds, icons, test data and therecording_start_sound.rsfile that GPUI embeds fromapps/desktopstill do. A.github/**change no longer triggers Rust jobs, onlyci.ymland the actions it uses.mainused to share the group with main pushes). Main runs are not cancelled, so they reach their cache save. Only one pending main run is kept, so they don't pile up.apps/desktopprepare.test.jsmoved into Typecheck, which already installs JS deps.Trade-offs
desktop-release.yml.Builds on the cache analysis in #2548 by @ayagmar.
Verification
actionlintclean onci.ymlandsync-tests.yml.cargo clippy --workspace --exclude cap-desktop --all-features --locked -- -D warningspasses locally on macOS, and no other workspace crate depends oncap-desktoportauri.Add the embedded shared icons to the GPUI path filter before merging.
Findings
Fix with agent prompt
Summary
This PR makes desktop CI build and test GPUI instead of the Tauri dev app.
richiemcilroy explicitly acknowledged removing Tauri build/test coverage and deferring release-only sidecar failures to
desktop-release.yml. These intentional trade-offs were not reported as findings.Reviews (1) · Last reviewed commit: "ci: cache sync test builds from main" · Reviewed by Greptile