feat(aztec-up): add versioned aliases for multi-major version support#21817
Merged
Conversation
nchamo
commented
Mar 19, 2026
nchamo
commented
Mar 19, 2026
nventuro
reviewed
Mar 20, 2026
mverzilli
reviewed
Mar 23, 2026
nventuro
approved these changes
Mar 26, 2026
Collaborator
|
❌ Failed to cherry-pick to |
nchamo
added a commit
that referenced
this pull request
Mar 26, 2026
AztecBot
added a commit
that referenced
this pull request
Mar 27, 2026
BEGIN_COMMIT_OVERRIDE fix(aztec-up): always reinstall noirup and foundryup bootstrappers (#21826) fix(aztec-up): show installed version after install (#21822) feat(aztec-up): default install version to latest instead of nightly (backport #21883) (#22076) feat(aztec-up): auto-update before install with staleness check (#21866) cherry-pick: feat(aztec-up): add versioned aliases for multi-major version support (#21817) feat(aztec-up): add versioned aliases for multi-major version support (backport #21817) (#22080) feat(aztec-up): decouple infra assets from toolchain VERSION (backport #22078) (#22079) feat: backport hardcode version into install scripts at release time (#22082) fix(aztec-up): pass VERSION to per-version installer and fix release sed (#22083) END_COMMIT_OVERRIDE
github-merge-queue Bot
pushed a commit
that referenced
this pull request
Mar 27, 2026
BEGIN_COMMIT_OVERRIDE feat(aztec-up): default install version to latest instead of nightly (#21883) fix(aztec-up): always reinstall noirup and foundryup bootstrappers (#21826) fix(aztec-up): show installed version after install (#21822) feat(aztec-up): decouple infra assets from toolchain VERSION (#22078) feat(aztec-up): add versioned aliases for multi-major version support (#21817) feat(aztec-up): auto-update before install with staleness check (#21866) fix(aztec-up): pass VERSION to per-version installer and fix release sed (#22083) feat: asserts that aztec dep version matches cli (#21245) END_COMMIT_OVERRIDE
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.
Why
With v4 and v5 releasing in parallel from different branches (
v4/v4-nextandnext), both produce nightly builds. The current alias system has a singlenightlyandlatestalias, and whichever branch releases last overwrites the other. In practice,aztec-up install nightlygives you whichever happened to build last -- dumb luck, not a deliberate choice.This is confusing for users and makes it impossible to reliably install a specific major version's nightly or latest release.
What changed
aztec-up/bootstrap.sh:releasefunction now writes versioned aliases (e.g.v4-nightly,v5-latest) on every release, in addition to optionally writing the bare alias (nightly,latest).aztec-up install nightlyalways resolves to the default (currently v4).AZTEC_TOOLCHAIN_DEFAULT_MAJOR_VERSIONGitHub repo variable, falling back to4if unset. Flipping the default from v4 to v5 is a single variable update in the GitHub UI -- no branch changes needed.aztec-up/bin/aliases/index:latest,v4-latest,v4-nightly,v5-latest,v5-nightly).aztec-up listreads this file to show available aliases, and silently skips any that don't resolve yet on S3.CI plumbing (
.github/workflows/ci3.yml,ci3/bootstrap_ec2):AZTEC_TOOLCHAIN_DEFAULT_MAJOR_VERSIONfrom GitHub vars through to the release container.Outcome
Users can now do:
aztec-up install nightly→ default major's nightly (currently v4)aztec-up install v5-nightly→ v5's nightly specificallyaztec-up install v4-latest→ v4's latest stableNo changes needed on the consumer side
aztec-up'sresolve_versionalready handles any alias name -- it just fetches$INSTALL_URI/aliases/<name>. So the new aliases work out of the box with existingaztec-upinstallations.Setup required
Create the GitHub repo variable
AZTEC_TOOLCHAIN_DEFAULT_MAJOR_VERSIONwith value4at Settings > Secrets and variables > Actions > Variables.Fixes F-443