Skip to content

feat(aztec-up): add versioned aliases for multi-major version support#21817

Merged
nventuro merged 4 commits into
merge-train/fairiesfrom
feat/aztec-up-versioned-aliases
Mar 26, 2026
Merged

feat(aztec-up): add versioned aliases for multi-major version support#21817
nventuro merged 4 commits into
merge-train/fairiesfrom
feat/aztec-up-versioned-aliases

Conversation

@nchamo

@nchamo nchamo commented Mar 19, 2026

Copy link
Copy Markdown
Contributor

Why

With v4 and v5 releasing in parallel from different branches (v4/v4-next and next), both produce nightly builds. The current alias system has a single nightly and latest alias, and whichever branch releases last overwrites the other. In practice, aztec-up install nightly gives 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:

  • The release function now writes versioned aliases (e.g. v4-nightly, v5-latest) on every release, in addition to optionally writing the bare alias (nightly, latest).
  • Bare aliases are only updated when the releasing major version matches a configurable default major version. This means aztec-up install nightly always resolves to the default (currently v4).
  • The default major version is read from the AZTEC_TOOLCHAIN_DEFAULT_MAJOR_VERSION GitHub repo variable, falling back to 4 if 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:

  • Added all new alias names (latest, v4-latest, v4-nightly, v5-latest, v5-nightly). aztec-up list reads 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):

  • Passes AZTEC_TOOLCHAIN_DEFAULT_MAJOR_VERSION from 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 specifically
  • aztec-up install v4-latest → v4's latest stable

No changes needed on the consumer side

aztec-up's resolve_version already handles any alias name -- it just fetches $INSTALL_URI/aliases/<name>. So the new aliases work out of the box with existing aztec-up installations.

Setup required

Create the GitHub repo variable AZTEC_TOOLCHAIN_DEFAULT_MAJOR_VERSION with value 4 at Settings > Secrets and variables > Actions > Variables.

Fixes F-443

@nchamo nchamo self-assigned this Mar 19, 2026
@nchamo nchamo added the ci-draft Run CI on draft PRs. label Mar 19, 2026
@nchamo nchamo requested a review from nventuro March 19, 2026 22:13
@nchamo nchamo marked this pull request as ready for review March 19, 2026 22:13
@nchamo nchamo requested a review from charlielye as a code owner March 19, 2026 22:13
Comment thread aztec-up/bootstrap.sh Outdated
Comment thread aztec-up/bin/aliases/index
@nchamo nchamo requested a review from mverzilli March 20, 2026 16:06
Comment thread aztec-up/bin/aliases/index
Comment thread aztec-up/bootstrap.sh Outdated
Comment thread aztec-up/bootstrap.sh Outdated
@nchamo nchamo requested a review from nventuro March 20, 2026 20:25
Comment thread aztec-up/bin/aliases/index
@nchamo nchamo requested review from benesjan and removed request for nventuro March 24, 2026 12:13

@benesjan benesjan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

Base automatically changed from merge-train/fairies to next March 26, 2026 04:08
@nchamo nchamo changed the base branch from next to merge-train/fairies March 26, 2026 18:01
@nventuro nventuro merged commit 5f80cf2 into merge-train/fairies Mar 26, 2026
11 checks passed
@nventuro nventuro deleted the feat/aztec-up-versioned-aliases branch March 26, 2026 19:53
@AztecBot

Copy link
Copy Markdown
Collaborator

❌ Failed to cherry-pick to v4-next due to conflicts. (🤖) View backport run.

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants