Repository navigation
ci: route display-resolution jobs to display-capable runner - #6243
Conversation
tests-build-and-lag and ui-regressions create a CGVirtualDisplay (private
CoreGraphics API) to test display-resolution behavior. That requires running
inside the console user's GUI/audit login session with a real display
controller. The self-hosted Mac fleet can't provide that: headless EC2 Macs
can't allocate a virtual display at all, and the gui-bootstrapped runners on
the physical minis hit "Could not switch to audit session: Operation not
permitted". These jobs were green pre-cutover only because Warp runs them in a
full GUI VM.
Route just these two jobs to ${{ vars.MACOS_RUNNER_DISPLAY || 'warp-macos-15-arm64-6x' }}
so they land on a display-capable runner, while every other macOS job stays on
the self-hosted fleet. The var is a single flip point to move them onto the
fleet later once a runner is made to run inside a real GUI login session.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughThe CI workflow in ChangesCI Workflow Runner and Artifact Validation
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 error, 1 inconclusive)
✅ Passed checks (19 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
A restored .ci-source-packages cache could make -resolvePackageDependencies report success while the binary artifacts (Sparkle/Sentry XCFrameworks) were absent, then fail the build with "no XCFramework found". Verify the artifacts actually materialized after each resolve; if not, clear .ci-source-packages/ artifacts and retry within the existing 3-attempt loop so the next attempt re-downloads them cleanly. Applied to all three resolve loops. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Routes the 2 CGVirtualDisplay-dependent jobs (tests-build-and-lag, ui-regressions) to
MACOS_RUNNER_DISPLAY(default warp-macos-15), since the headless self-hosted fleet can't create virtual displays. All other macOS jobs stay self-hosted. Single flip point to move onto the fleet later. Fixes main CI red on these 2 jobs.Need help on this PR? Tag
/codesmithwith what you need. Autofix is disabled.Note
Low Risk
Workflow-only changes (runner labels and resolve retry logic); no app code, auth, or release signing paths.
Overview
tests-build-and-lagandui-regressionsnow usevars.MACOS_RUNNER_DISPLAY(defaultwarp-macos-15-arm64-6x) instead ofMACOS_RUNNER_15, so jobs that createCGVirtualDisplayrun on a display-capable host while other macOS jobs stay on the self-hosted fleet.The Resolve Swift packages loops in
tests,tests-build-and-lag, andui-regressionsno longer exit immediately after a successfulxcodebuild -resolvePackageDependencies. They check that Sparkle and Sentry.xcframeworkpaths exist under.ci-source-packages/artifacts; if resolve “succeeds” on a stale cache without binaries, they clearartifactsand retry within the existing 3-attempt loop.Reviewed by Cursor Bugbot for commit a85f0b1. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by cubic
Route the two display-dependent macOS CI jobs to a display-capable runner and add a self-heal for Swift package resolve to prevent missing Sparkle/Sentry artifacts. Fixes
CGVirtualDisplayfailures and flaky builds.tests-build-and-lagandui-regressionstoruns-on: ${{ vars.MACOS_RUNNER_DISPLAY || 'warp-macos-15-arm64-6x' }}; other macOS jobs stay on the self-hosted fleet for a single flip point later.-resolvePackageDependencies, verifySparkle.xcframeworkandsentry-cocoaxcframeworks exist underSOURCE_PACKAGES_DIR/artifacts; if missing, clearartifacts/and retry within the existing 3-attempt loop (applied to all resolve loops in.github/workflows/ci.yml).Written for commit a85f0b1. Summary will update on new commits.
Summary by CodeRabbit
Release Notes
No user-facing changes.