Retry Warp display regression once before failing CI
Closed
LA
1mo ago+2139+2139+0123456789012345678901234567890123456789-799-799-012345678901234567890123456789
Summary
- retry the WarpBuild display-resolution regression once before failing CI
- keep the final check name as
ui-display-resolution-regressionso branch protection stays stable - preserve the existing WarpBuild runner guard while hardening against runner shutdown during checkout
Testing
./tests/test_ci_self_hosted_guard.sh- `ruby -e 'require "yaml"; YAML.load_file(".github/workflows/ci.yml"); puts "YAML OK"'
Context
Summary by cubic
Retries the Warp display/lag regressions, all 6 cmux-unit shards, build-ghosttykit, and macOS compatibility checks once with deterministic cancellation-only gating and hosted aggregation. Caps shard hangs to 10 minutes per attempt, restores and stabilizes macOS 15/26 compat, and hardens Zig/GhosttyKit reuse across CI.
-
Bug Fixes
- Deterministic retry now covers display, lag, unit shards,
build-ghosttykit, and macOS compat: attempt 2 runs only if attempt 1 never reached real work (test_started/build_started) or nevercompleted. Hosted aggregators onubuntu-latestrequire explicitcompleted/passed. - Stabilized compat on macOS 15 and 26 (skip Zig on 26) with optional virtual-display smoke. Budgets: UI 25m, lag 20m, compat 45m, shards 10m/attempt, aggregators 5m.
- Hardened tool/cache reuse: pinned Xcode; Zig via
scripts/install-zig.sh(lib_dircheck); cached/prebuiltGhosttyKit.xcframeworkkeyed to theghosttysubmodule; SPM resolve retry. FixedGhosttyKitchecksum guard across composite actions. - Added guard tests for retry output gating, shard timeouts, and the macOS compat slice; tightened self‑hosted runner guards.
- Deterministic retry now covers display, lag, unit shards,
-
Refactors
- Extracted composite actions:
./.github/actions/run-display-resolution-regression,./.github/actions/run-lag-regression,./.github/actions/run-unit-test-shard,./.github/actions/run-macos-compat-checkthat emittest_started/completed/passed. - Sharded unit tests into 6 Warp shards with a hosted aggregator; split
build-ghosttykitand macOS compat into attempt‑1/attempt‑2 and verify viascripts/verify_retry_result.sh. Unified Zig install andGhosttyKitcache keys.
- Extracted composite actions:
Summary by CodeRabbit
- Chores
- Improved CI resilience by running two parallel attempts for build/lag and UI-resolution regression, emitting test_started/passed outputs and aggregating results so the overall job succeeds if either attempt passes.
- Added reusable regression run actions to streamline per-attempt orchestration, reporting, and failure-handling.
- Tests
- Updated test guards and scripts to recognize attempt wrappers and emit clearer pass/fail messages for each attempt.