refactor(ci): unify release back into a single ci-release command#23780
Merged
Conversation
7cbc774 to
5fa278e
Compare
PR #22930 split ci-release into a build-only ci-release plus a separate ci-release-publish, with publishing gated on a standalone ci-compat-e2e GitHub job. A side effect: the release dry-run leg of merge-queue-ci (ci-release v0.0.1-commit.<sha> under DRY_RUN=1) degraded to build-only, so the publish flow had zero dry-run coverage — the first time publish code ran was a live tag push. Reunify: - bootstrap.sh: ci-release once again does semver check -> backwards-compat e2e -> private-fork handling -> build release -> release (publish), all DRY_RUN-aware. Removed ci-release-publish and the standalone ci-compat-e2e case; the compat suite is now a release_compat_e2e bash check called inline (blocking for stable/RC, non-blocking + Slack-notify for nightlies, honors SKIP_COMPAT_E2E, amd64-only). - ci.sh: dropped release-publish and compat-e2e; release is a single multi_job_run of ci-release on amd64 + arm64, with a roomier AWS_SHUTDOWN_TIME since the amd64 leg now does compat + build + publish. - ci3.yml: removed the ci-release-publish and ci-compat-e2e jobs (publishing happens in the main ci job on a tag, as before the split); dropped the ci-release-publish dependency from ci-network-scenario.
8655d4a to
04d373f
Compare
04d373f to
993d240
Compare
actions/checkout v6.0.0 ("persist creds to a separate file", #2286) moved the
persisted github.token out of the repo's local .git/config into a temp file
included via includeIf directives. `git config --unset-all http....extraheader`
can no longer clear it, so the token-swap every runner-side push relies on
(set-url to a bot-PAT URL, unset the persisted header, push) stopped working:
pushes go out as github-actions[bot] (contents: read) and 403. The node24 repin
(0b04aac) pulled this in, silently breaking the ci-release-pr tag push, the
ci-squash-and-merge push, and the chonk-input refresh since late May.
Pin every actions/checkout across .github/workflows to v5.0.1: it is node24 (so
the deprecation that motivated the repin is still satisfied) but predates #2286,
so the credential is a plain, removable local http.extraheader again. The push
sites work unchanged, persist-credentials stays true so authenticated reads
(e.g. the aztec-packages-private mirror) keep working, and a comment on the
ci3.yml checkout warns against bumping back to v6.
993d240 to
7689c7f
Compare
PR #21775 renamed release_github -> release_bb_github but updated only one of the two call sites; the private-fork path in ci-release kept calling the now -undefined release_github, so any tag-based private release failed with exit 127 ("command not found") before building. Point it at the renamed function.
- release_compat_e2e was invoked as `|| compat_rc=$?`, which suspends errexit for the whole function and its subshell, masking build/install failures (the subshell set -e did not restore it). Toggle errexit explicitly instead so a failed build surfaces as a non-zero compat result, and correct the misleading comment. - Forward RUN_ID to the ci3 Run step so the nightly compat-failure Slack alert links a real GitHub run URL (on EC2, RUN_ID was a millisecond timestamp).
alexghr
approved these changes
Jun 2, 2026
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.
What
ci-releasecommand (undoes theci-release/ci-release-publishsplit from feat(ci): forward-port backwards compatibility e2e workflows to v5 #22930). This had introduced several bugs and caused the command to span multiple machines.git pushauth, broken by the checkout-v6 repin.