Skip to content

ci(nightly): republished nightly-next builds follow their source's CEF pack and source archive; report a failed fetch - #35735

Merged
teamleaderleo merged 2 commits into
feat-cmux-nextfrom
lane/nightly-republish-followups
Nov 4, 2026
Merged

teamleaderleo merged 2 commits into
feat-cmux-nextfrom
lane/nightly-republish-followups

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Nov 4, 2026 •

Copy link
Copy Markdown
Collaborator

Follow-ups F1 to F3 from the review of #35588 (receipt at b1d50f5), which added the republish path for a verified nightly-next build. This is item 2 of cmuxterm-hq#7061, "Republish with tip tooling".

F1, Chromium runtime pack. publish-nightly's "Select the build to publish" step now outputs cef, and both CEF steps gate on it instead of on vars.CMUX_NEXT_CEF_ON_DEMAND. Own and notarization-recovered builds still follow the switch. A republished build follows its source run: republish-nightly-next outputs cef, which is true when the source's signer uploaded cef-runtime-pack, the same condition under which the app was signed with an on-demand pin. Flipping the switch after the build therefore neither drops a pack the app needs nor fails on a pack the source never made.

F2, source archive. The cmux-next-source-archive artifact always carries the license trees. The tarball is in it only while CMUX_NEXT_PUBLISH_SOURCE_ARCHIVE was 1. republish-verified-nightly.py now outputs source_archive, true when exactly one cmux-next-source-*.tar.gz was restored. publish-nightly outputs source_archive: the switch, and for a republished build also that tarball. All three source-archive steps in publish-nightly-next-github gate on it. A republish of a source with no tarball now publishes no archive, instead of failing at mv nightly-out/source-archive after the feed was written. The variable stays the switch, and own and recovered builds behave as before.

F3, failure reporting. republish-nightly-next is now in report-nightly-failure's needs, so a failed fetch, which leaves publish-nightly skipped, opens the nightly failure issue. Its if already reports any failed need.

Tests

  • tests/test_nightly_next_recovery.py: 78 pass, 4 of them new (pack and archive per switch and source, the tarball check, and a failed fetch reporting).
  • Every other tests/test_nightly*.py, tests/test_ci_nightly*.py and tests/test_nightly_universal_build.sh passes, except test_nightly_next_arm64_only.py and test_nightly_owned_minis_only.py. Those two (OwnedWorkdirSteps) also fail at base 3e464b0.

Agent session: agent session

🤖 Generated with Claude Code


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


Summary by cubic

Makes republished nightly-next builds match the build they republish: they now carry the same Chromium runtime pack and source archive, and a failed republish fetch opens the nightly failure issue.

  • A republished build publishes the Chromium runtime pack its source run signed with, instead of following the current CMUX_NEXT_CEF_ON_DEMAND switch.
  • With no source tarball, a republished build publishes no source archive instead of failing after the feed was written; the CMUX_NEXT_PUBLISH_SOURCE_ARCHIVE switch still gates own and recovered builds.
  • republish-nightly-next is now a dependency of report-nightly-failure, so failed fetches produce the nightly failure issue.

Written for commit 104765a. Summary will update on new commits.

View guided diff Turn on auto-fix

…F pack and source archive; report a failed fetch

Follow-ups F1-F3 from the review of #35588 at b1d50f5:
- F1: publish-nightly publishes the Chromium runtime pack when the selected build has one. A
  republished build follows its source run (republish-nightly-next's cef), so a switch flipped
  since then neither drops a pack the app's pin names nor fails on one the source never made.
- F2: a republished build whose source made no cmux-next source tarball publishes none
  (republish-verified-nightly.py's source_archive; the artifact always carries the license
  trees), instead of failing at `mv nightly-out/source-archive` after the feed was written.
  CMUX_NEXT_PUBLISH_SOURCE_ARCHIVE stays the switch.
- F3: republish-nightly-next is in report-nightly-failure's needs, so a failed fetch opens the
  nightly failure issue.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-03add12a0ffdd7814ff4
@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

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

Review 533d1df: 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=pr35735 -f ref=lane/nightly-republish-followups -f platform=macos -f backend_mode=local

Shipped in:

@github-actions github-actions Bot added the risk:high Risk tier (docs/ci/risk-tiers.md) label Nov 4, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex, router-review): SHIP at 533d1df

Reviewer: codex gpt-6.1-sol xhigh, fast tier.

SHIP at 533d1df

Visual verdict: no images; Leo tries the build

Reviewed workflow gates and artifact provenance; focused recovery and source-archive tests pass.

Follow-ups: none

@teamleaderleo teamleaderleo removed the risk:high Risk tier (docs/ci/risk-tiers.md) label Nov 4, 2026
@github-actions github-actions Bot added the risk:high Risk tier (docs/ci/risk-tiers.md) label Nov 4, 2026
@cmux-bot
cmux-bot Bot temporarily deployed to ci-routing-agent November 4, 2026 18:08 Inactive
@cmux-bot
cmux-bot Bot temporarily deployed to ci-routing-agent November 4, 2026 18:08 Inactive
@blacksmith-sh

blacksmith-sh Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Found 2 test failures on Blacksmith runners:

Failures

Test View Logs
main.R2UploadRequestsTests.test_a_slow_large_put_is_bounded_by_idle_gaps_not_total_
time/test_a_slow_large_put_is_bounded_by_idle_gaps_not_total_time
View Logs
test_every_listed_hook_is_one_glaeda_released_with_the_check (main.SigningHooksInSt
epWithGlaedaTests.test_every_listed_hook_is_one_glaeda_released_with_the_check)/
test_every_listed_hook_is_one_glaeda_released_with_the_check (main.SigningHooksInSt
epWithGlaedaTests.test_every_listed_hook_is_one_glaeda_released_with_the_check)
View Logs

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

@teamleaderleo teamleaderleo left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review (codex gpt-6-astra high, next-review, since=20261104T181841Z): SHIP at 104765a

SHIP at 104765a

Visual verdict: no images; Leo tries the build

Focused recovery tests pass (78 tests), including source-archive workflow checks.

Follow-ups: none

@teamleaderleo
teamleaderleo merged commit 7ba09aa into feat-cmux-next Nov 4, 2026
186 of 191 checks passed
@teamleaderleo
teamleaderleo deleted the lane/nightly-republish-followups branch November 4, 2026 19:17

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 104765a5 Deployed Nov 4, 2026 by cmux-bot[bot] via wait for same-key tree publisher #112643
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:high Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant