Repository navigation
Route nightly DMG signing through fleet Macs - #29801
Conversation
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Shipped in:
|
7ff0db3 to
535c601
Compare
535c601 to
1688f2a
Compare
1688f2a to
cf67e8e
Compare
|
Review (subagent): SHIP at cf67e8e The native signer gate, macOS checksum/base64/Bash portability, mandatory pinned-key appcast verification, and warm-source declarations address the review findings. The owned-Mac claim gate fails closed before credentials. Fleet deployment must recognize signer-dmg in the glaeda signing hook before validating the owned signing route. |
|
Review (subagent): SHIP at cf67e8e |
|
Found 20 test failures on Blacksmith runners: Failures
...and 10 more test failures. View all on Blacksmith
|
… on a re-run, never 16 or 32 (#29886) The nightly signer jobs (signer-build, signer-app, signer-app-notary, signer-dmg), the nightly sign pick and the DEV daily sign pick ran on Blacksmith Linux 16 or 32 vCPU. They are notarization-bound (HQ build-fleet summary, W44 p50 on 32 vCPU: signer-app 240 s, signer-dmg 199 s, signer-build 7 s, the pick 11 s). Attempt 1 now takes GitHub-hosted ubuntu-24.04, a re-run Blacksmith Linux 4 vCPU. A pool signer GitHub drops unstarted fails the pool path and the macOS signer signs, as before. rcodesign stays the Linux build (#29821 took back the owned-Mac route of #29801). The hosted-runner guard gets the signer route as one exact, measured exception. Leo, 2026-11-01: "surely we measured the signign we dont need 32/16 just for signing", then "surely github has linux hosted we can just use". Agent-Session: https://cmux.com/deeplink/agent?id=aid-d9093a0f1b2d0cbb0b2c Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
signer-dmgwas pinned to Blacksmith Linux even though it receives release signing credentials, and the nightly Blacksmith-only debt test exempted it. That left a secret-bearing job outside the nightly fleet-first routing rule.This routes the DMG signer through the existing drained owned-Mac signing picker, with the moving Blacksmith macOS label as overflow. The release environment is not widened to fleet Linux: this job keeps certificate and notarization credentials on the trusted signing Macs, in line with the rulebook's Linux, owned Macs, Blacksmith order and temporary credential handling. The checksum and base64 steps now work on both GNU/Linux and macOS. The routing and signing guards cover the regression and the Blacksmith debt exemption is removed.
Leo said: "why are changes to these not in my current nightly" and the freshness rule requires each feed's newest published build to stay within 30 minutes of the newest landing on its branch.
Validation:
python3 -m unittest tests/test_nightly_signer_jobs.py tests/test_nightly_sign_runner.py tests/test_ci_nightly_off_blacksmith.py tests/test_ci_signing_owned_mac.py tests/test_ci_signing_keychain_is_deleted_before_bundle_code.py tests/test_release_signer_scripts.py(113 passed); workflow YAML parse and shell syntax checks pass.Agent footer: agent session
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Routes the nightly DMG signer through the fleet's owned Mac signing pool instead of pinned Blacksmith Linux, since the job holds release signing credentials and previously sat outside the nightly fleet-first routing rule. The Blacksmith macOS picker is now its overflow runner; fleet Linux is not added to the release environment.
Details
signer-build-macosjob builds the macOS-native rcodesign artifact, since the Linux ELF cannot run on the Mac signing path;signer-dmginstalls from that artifact.signer-dmg.Written for commit cf67e8e. Summary will update on new commits.