ci(nightly): share compiler-cache settings between warmer, PR Release and nightly Release

Merged
TE
5d ago
+201-47

The nightly warmer and PR Release build used different Xcode compiler-cache settings from the nightly Release build, while sharing cache keys. This follow-up routes both through the same allowlisted fleet-compilation-cache.sh settings so restored entries use compatible invocation settings.

This addresses the independent review follow-up on #30061 at beb297ffb5f5a77c7c7f539476c3c9f85df42c84 and closes #30106. The regression test checks both workflow steps consume the shared settings helper.

Validation:

  • python3 tests/test_ci_fleet_compilation_cache.py (7 tests)
  • python3 scripts/cmux-next/prepush-gate.py

Agent session: agent session
šŸ¤– Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Aligns the nightly warmer and PR Release Xcode builds with the nightly Release build's compiler-cache settings, so restored cache entries use compatible invocation settings.

  • Extracts the allowlisted fleet CAS settings into a shared scripts/ci/fleet-compilation-cache.sh helper, replacing the inline logic in compile-app-host-test-product.sh.
  • Wires the warmer and PR Release builds through the same helper; an absent or unhealthy managed CAS keeps each build local.
  • Adds the helper to product and incremental build identity tracking so settings changes force a clean build.
  • Adds regression tests covering the helper's allowlist behavior and workflow wiring.