Skip to content

feat: merge-train/fairies#22074

Merged
AztecBot merged 15 commits intonextfrom
merge-train/fairies
Mar 27, 2026
Merged

feat: merge-train/fairies#22074
AztecBot merged 15 commits intonextfrom
merge-train/fairies

Conversation

@AztecBot
Copy link
Copy Markdown
Collaborator

@AztecBot AztecBot commented Mar 26, 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

nchamo and others added 13 commits March 26, 2026 18:13
## Summary

- Introduces `INFRA_VERSION` env var to control where `aztec-install`
fetches infrastructure assets (banner, aztec-up) independently from the
toolchain `VERSION`. Previously `VERSION` controlled both, coupling
toolchain selection with installer asset paths.
- When `INFRA_VERSION` is empty (default), assets are fetched from the
root of `INSTALL_URI`. Tests set `INFRA_VERSION=0.0.1` to match the
local file layout.
- Updates `release_root_installer` to upload banner files to the S3 root
alongside `aztec-up`.

Fixes F-501
…#21817)

## 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
In this PR I add a check that makes `aztec compile` throw an error in case the compile crate or any of its dependencies do not match the version of the `aztec` command. We are currently just checking for version equality instead of doing a more sophisticated semver checks as we are not tracking the versions reliably now. Proper semver checks are likely to be introduced in the future when we track `Aztec.nr` versioning separately from `aztec-packages`.

Since I need to check versions not only of local path based dependencies but also of the remote git based deps the approach I use here is that I check if the dep is in the relevant nargo dir, if not I fetch it there, and then I perform the check on that dep there. This means that I re-implement some `nargo` functionality here.

Closes https://linear.app/aztec-labs/issue/F-288/make-aztec-compile-warn-of-oldincompatible-aztec-deps-from-nargotoml
In this PR I add a check that makes `aztec compile` throw an error in
case the compile crate or any of its dependencies do not match the
version of the `aztec` command. We are currently just checking for
version equality instead of doing a more sophisticated semver checks as
we are not tracking the versions reliably now. Proper semver checks are
likely to be introduced in the future when we track `Aztec.nr`
versioning separately from `aztec-packages`.

Since I need to check versions not only of local path based dependencies
but also of the remote git based deps the approach I use here is that I
check if the dep is in the relevant nargo dir, if not I fetch it there,
and then I perform the check on that dep there. This means that I
re-implement some `nargo` functionality here.

Closes
https://linear.app/aztec-labs/issue/F-288/make-aztec-compile-warn-of-oldincompatible-aztec-deps-from-nargotoml
Copy link
Copy Markdown
Collaborator

@ludamad ludamad left a comment

Choose a reason for hiding this comment

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

🤖 Auto-approved

@AztecBot AztecBot added this pull request to the merge queue Mar 27, 2026
@AztecBot
Copy link
Copy Markdown
Collaborator Author

🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass.

Merged via the queue into next with commit e2c4d83 Mar 27, 2026
17 of 21 checks passed
@AztecBot AztecBot deleted the merge-train/fairies branch March 27, 2026 07:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants