ci: compile-check the agent-gui feature on macOS (VA-55 follow-up) #149
Loading…
Reference in a new issue
No description provided.
Delete branch "chore/VA-55-macos-feature-ci"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes the VA-55 validation gap: the macOS
agent-guipath was compiled nowhere in CI.Why
The Linux CI and a cross-target
cargo checkboth stop short of the macOS GUI code because notify-rust'smac-notification-sysbuilds Objective-C andobjc2links AppKit, needing the real macOS SDK. build-macos.yml only builds the default features (agent-gui off), so a macOS regression in the tray / NSWindowSharingNone / IPC / consent code could ship unnoticed. This was the "needs a Mac" gap flagged in the VA-55 PR.What
A
Check macOS featuresworkflow that runs on the dedicated macOS runner (VA-90):cargo check(no final link) still runs every build script, so it compiles the ObjC/C the cross-check cannot and type-checks the feature-gated code - enough to enforce AC#1 ("builds on macOS").Trigger scope (deliberate)
v*tags, paths-gated (crates/**,Cargo.toml,Cargo.lock,rust-toolchain.toml, the workflow file).pull_requesttrigger - the paths filter matches most code PRs, so a PR trigger would serialise nearly every change through the single macOS runner (VA-136 contention). Enforcement is post-merge; apull_requesttrigger can be added later if pre-merge coverage is worth the runner load.cancel-in-progress: truede-duplicates the release merge-commit + tag double-fire, since a one-commit compile-check only needs to run once (unlike the build-macos publish, which must run both contexts).Note
Merging this is the first real macOS compile of the VA-55 GUI and VA-138 tunnel-keymap code (previously validated on Linux + an isolated objc2 cross-check). If the runner surfaces a macOS-only compile error, I'll fix forward.
🤖 Generated with Claude Code