Skip to content

base red: the arm64-only recorder gets the Release step's build-root script (release-notary red since #32457) - #32548

Merged
cmux-bot[bot] merged 1 commit into
feat-cmux-nextfrom
fix/base-red-notary-32457
Nov 2, 2026
Merged

cmux-bot[bot] merged 1 commit into
feat-cmux-nextfrom
fix/base-red-notary-32457

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Review (claude-review-subagent): SHIP at cb8920a

Summary

The nightly-guards / workflow-guard-tests / release-notary job (and its wrapper nightly-guards / Guard status) is red on every feat-cmux-next push and on unrelated PRs.

Which command fails, per run of "cmux-next guards" on feat-cmux-next:

Run Head Failing commands in release-notary
41496150525 bbb2b89 (#32457) tests/test_nightly_universal_build.sh
41500471225 ae802cf test_nightly_universal_build.sh, test_nightly_promotion_admission.py
41506508608 55c0b5c (#32514) the two above, plus tests/test_nightly_next_arm64_only.py
41507839428 480eb3c (after #32529) tests/test_nightly_next_arm64_only.py only
41512462969 5b91230 tests/test_nightly_next_arm64_only.py only

#32529 already fixed the two reds that #32457 started. The red that is left comes from #32514: the "Build nightly app (Release)" step now sources scripts/ci/nightly-steps/app-host-build-root.sh. test_nightly_next_arm64_only.py runs that step's real text in a temp root with recorder executables, and that root did not have the script. Bash stopped before xcodebuild with app-host-build-root.sh: No such file or directory, and the test raised CalledProcessError. (The FileNotFoundError: 'xcodebuild' and JSON "Expecting value" lines in the log come from other tests that pass; they are expected output.)

The fix: the recorder root gets a copy of app-host-build-root.sh, as it already gets compilation-cache.sh. With no BUILD_TRACK the script keeps the slot's own tree (build_root=$PWD), so xcodebuild still runs in the recorder root. No assertion changes; the guard checks the same ARCHS and helper architectures for all four tracks.

Testing

Command (Linux, no build; CI sets GITHUB_STEP_SUMMARY, so set it locally):

GITHUB_STEP_SUMMARY=/tmp/s.md python3 tests/test_nightly_next_arm64_only.py
  • Base 562235a: red. subprocess.CalledProcessError on the "cx-f58x ... browser-import" Release step; stderr /bin/bash: line 82: scripts/ci/nightly-steps/app-host-build-root.sh: No such file or directory.
  • Head cb8920a: green. PASS: nightly-next arm64 only.

python3 scripts/cmux-next/prepush-gate.py: no new violations.

Observed / Not run

  • Observed: the command above red on base and green on head on this Linux VM; the per-run failing-command table above from gh run view --log-failed.
  • Not run: the full release-notary group locally; the CI run of this PR shows it.

Changelog

none

…ot script (release-notary red since #32514)

tests/test_nightly_next_arm64_only.py runs the real "Build nightly app (Release)"
step text in a temp root with recorder executables. Since #32514 that step sources
scripts/ci/nightly-steps/app-host-build-root.sh, which the recorder root did not
have, so bash stopped before xcodebuild and the release-notary guard group has
been red on every feat-cmux-next push since 55c0b5c.

The recorder now copies that script, as it already copies compilation-cache.sh.
With no BUILD_TRACK the script keeps the slot's own tree, so xcodebuild still
runs in the recorder root and the ARCHS assertions are unchanged.

Red on base 562235a, green here (Linux, no build):
  GITHUB_STEP_SUMMARY=/tmp/s.md python3 tests/test_nightly_next_arm64_only.py
  base: CalledProcessError (app-host-build-root.sh: No such file or directory)
  head: PASS: nightly-next arm64 only
@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review cb8920a: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr32548 -f ref=fix/base-red-notary-32457 -f platform=macos -f backend_mode=local

Shipped in:

@lawrencecchen

Copy link
Copy Markdown
Contributor Author

Review (claude-review-subagent): SHIP at cb8920a

Independent review: red on base and green on head confirmed; a mutation (archs="arm64 x86_64" in a copy of app-build-release.sh) makes the test fail, so the guard does not pass vacuously. #32514 added the same copy to tests/test_ci_fleet_compilation_cache.py but not to this test; this PR completes it. Note: the job has been red since #32457, but the red that is left comes from #32514 (55c0b5c); #32529 cleared the reds #32457 started.

@github-actions github-actions Bot added the risk:low Risk tier (docs/ci/risk-tiers.md) label Nov 2, 2026
@lawrencecchen lawrencecchen added the ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds label Nov 2, 2026
@cmux-bot
cmux-bot Bot merged commit 35e4794 into feat-cmux-next Nov 2, 2026
192 of 204 checks passed
@cmux-bot
cmux-bot Bot deleted the fix/base-red-notary-32457 branch November 2, 2026 20:19

This branch was previously deployed

1 inactive deployment
ci-routing-agent — cb8920ab Deployed Nov 2, 2026 by lawrencecchen via cmux-tui tree preflight #102442
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds risk:low Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant