Conversation
## 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
Collaborator
Author
|
🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass. |
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.
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