Repository navigation
Conversation
This was referenced Oct 16, 2026
neriousy
added this pull request to stack #56077
October 16, 2026 13:20
This was referenced Oct 16, 2026
neriousy
force-pushed
the
cli-target-jobs
branch
from
October 16, 2026 16:08
b4254af to
445dcc9
Compare
…ndows in parallel build-cli becomes a 12-target matrix that uploads one cli-unsigned-<target> artifact per target. sign-cli-macos and sign-cli-windows both start after build-cli and move only their own three targets, each desktop leg downloads only the CLI it bundles, and publish checks that dist holds exactly the 12 packages with signed macOS binaries before it publishes. The Bun release lookup in packages/cli/script/build.ts now authenticates, as on beta, so the parallel jobs do not hit the per-IP API limit. The legacy packages/opencode steps, which could only fail, are removed.
neriousy
force-pushed
the
cli-target-jobs
branch
from
October 16, 2026 16:21
445dcc9 to
de4fb18
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #55987 (
release-runner-moves).Summary
Today one
build-clijob produces a 1.4 GB artifact of all 12 CLIs, which both signers (in sequence) and every desktop leg download in full. This PR:build-clia 12-target matrix (fail-fast: false). Each leg uploadscli-unsigned-<target>; "Check CLI output" requirespackages/cli/distto hold exactlycli-<target>.GH_TOKENis nowgithub.token, as on beta.cli-unsigned-<cli>.publish: exactly 12cli-*packages withpackage.jsonand a non-empty binary, and every macOS binary must containDeveloper ID Application: Anomaly Innovations, Inc. (5NZ4Q7NXJ4).build.ts(as chore(ci): speed up the beta desktop publish #55919 on beta) to avoid rate limits from 12 parallel jobs.packages/opencodesteps, which could only fail.Job graph
Before: one job builds all 12 CLIs into a 1.4 GB artifact, which every later job downloads in full, and Windows signing waits for macOS.
After: 12 legs each upload
cli-unsigned-<target>(~100 MB). The two signers run in parallel on their own 3 targets, Linux goes straight to publish, and each desktop leg downloads only its CLI.flowchart LR subgraph build-cli matrix BD["darwin x3"] BW["windows x3"] BL["linux x6"] end BD --> M["sign-cli-macos"] BW --> W["sign-cli-windows"] M --> P["publish<br/>Check CLI packages"] W --> P BL --> P BD & BW & BL -. one cli-unsigned-target each .-> D["6 desktop legs"]Expected effect
Estimates from reference runs, not measured.
build-clisign-cli-macossign-cli-windowspublishis now bound bybuild-node-cli; roughly 4–4.5 min off a 16–21 min run (38856436871, 38814116264).build-cliuses ~16–25 Blacksmith 4-vCPU minutes instead of 2.7–4.4 (every leg builds the web UI). Signer minutes drop by half to two thirds; artifact storage per dev push drops from ~4.3 GB to ~2.2 GB.Evidence
--target=opencode-darwin-arm64build passes "Check CLI output"; another target fails it.package.json, and unsigned or wrongly signed macOS binaries.Jarred Sumner (7FRXF46ZSN)Developer ID signature, so a generic grep would pass an unsigned binary.bun run checkpass.Things to know
build-cliif:: keep beta'sgithub.ref_name != 'beta'line and comment, take this PR'sstrategy, or beta runs these 12 legs on top ofbuild-cli-beta.build.ts: one comment line conflicts; code is identical.cli-<target>/prefix; mixing layouts fails Desktop Prepare with ENOENT (loud, not a wrong CLI). Unifying names is a possible follow-up.opencode.exe;sign-cli-windowsuploads only afterGet-AuthenticodeSignaturereports Valid.GH_TOKEN: 24 API calls per run againstgithub.token's shared 1,000/hour, as on beta. It keepscontents: writeandpackages: write, no wider than before; narrowing is a possible follow-up.ci,snapshot-*, etc.): now runbuild-cliandsign-cli-macos, andpublishstops at "Check CLI packages" before publishing anything. Cost: ~12 Blacksmith legs plus a macos-26 job per push, and a production-signedcli-signed-darwinartifact from that branch. A separate PR should drop these triggers or limit these jobs to dev and beta.opencode-preview-cli*artifacts are gone; nothing references them.Verification
publish.ymldoesn't run on PRs, so the first dev push after merge is the first real run. Check:build-cli (<target>)legs pass "Check CLI output" and each uploads one ~100–120 MBcli-unsigned-<target>.sign-cli-macoslogs "replacing existing signature" then "satisfies its Designated Requirement" for exactly 3 binaries;sign-cli-windowssigns and verifies 3.publish: "Check CLI packages" passes,publish.tslogs@opencode/cli binarieswith 12 entries at the run's version, and@devnpm packages and R2 artifacts appear as before.On the first dev release, check each desktop leg downloads a single ~100 MB
cli-unsigned-<cli>and Prepare, Package and notarization pass.Rollback is a revert of this commit.