Skip to content

Conversation

@charlielye
Copy link
Contributor

@charlielye charlielye commented Nov 27, 2025

Now we're shipping bb in bb.js for supported architectures/os's, we can support installs without needing docker.
The user does however need a distribution with:

  • The minimum required node version.
  • Tools e.g: make, gcc, python, git.

Note: You will not be able to do backend proving as we don't ship bb-avm. This is contract development only. Provers/validators are expected to still use the release image.

This PR:

  • boxes and aztec-up no longer depends on release-image.
  • We test aztec-up with a local npm registry (verdaccio) that we prime with the monorepo packages.
  • New install script that installs correct versions of:
    • nargo
    • foundry
    • jq
    • packages @aztec/aztec, @aztec/cli-wallet, bb via @aztec/bb.js.
  • ./bootstrap.sh versions outputs all expected versions of relevant tools (used by aztec-up).
  • boxes now build and test without any requirement on a release image (they start the local network directly).
  • Remove unwanted npx aztec-create stuff from boxes.
  • Remove some never used log commands from ci.sh.
  • Rework some bootstrap release stuff so we can easily get paths to packages to be released (helps load into verdaccio).
  • Remove interactive query from noir precommit hook as they can't be interactive.
  • Move the nasty aztec cli extension script(s) out of aztec-up and into yarn-project/aztec/scripts/aztec.sh and make it the entrypoint. The script was only every meant to abstract away the docker container but additional functionality made its way in. This functionality should probably all be TS code, but for now at least it's owned by the cli package. Extensions are test, compile, new, init.

@olehmisar
Copy link
Contributor

hi. Any chance we can have automatic aztec version selection by specifying the aztec version inside a dotfile per each project. Similar to gaztec: https://github.com/nemi-fi/gaztec

Copy link
Contributor Author

@charlielye charlielye force-pushed the cl/install_dockerless branch 6 times, most recently from 8e792d8 to ab988be Compare January 9, 2026 14:44
@charlielye charlielye added no-cache Disable CI cache and removed no-cache Disable CI cache labels Jan 9, 2026
@AztecProtocol AztecProtocol deleted a comment from charlielye Jan 9, 2026
@charlielye charlielye force-pushed the cl/install_dockerless branch 2 times, most recently from a85f821 to 530d114 Compare January 9, 2026 20:08
Copy link
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.

very cool. Do we at some point just release a contract dev image thats just the result of running aztec-up on a fresh ubuntu, and then strip everything contract dev-related out of release-image?

@ludamad
Copy link
Collaborator

ludamad commented Jan 9, 2026

Thanks for doing this maddeningly detail-oriented work

@charlielye charlielye added this pull request to the merge queue Jan 12, 2026
@charlielye
Copy link
Contributor Author

very cool. Do we at some point just release a contract dev image thats just the result of running aztec-up on a fresh ubuntu, and then strip everything contract dev-related out of release-image?

It's possible, but I also thought we'd probably just stop providing any kind of "contract dev" image, and just provide an image for node operators (of which the build of the image could possibly use the installer if we make bb-avm part of an npm package).

parts of the contract dev experience could work ok in the container (e.g running the TXE and local network), but things like the wallet, that wanted to use ssh agent were a right pain. Seems easier at this point to just commit to supporting all native installs, and just provide an image for infrastructure convienience.

@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 12, 2026
@AztecBot
Copy link
Collaborator

AztecBot commented Jan 12, 2026

Flakey Tests

🤖 says: This CI run detected 2 tests that failed, but were tolerated due to a .test_patterns.yml entry.

\033FLAKED\033 (8;;http://ci.aztec-labs.com/610f5be5de31dd08�610f5be5de31dd088;;�): yarn-project/end-to-end/scripts/run_test.sh web3signer src/composed/web3signer/e2e_multi_validator_node_key_store.test.ts (38s) (code: 1) (\033Charlie\033: feat: aztec-up installs without docker (#18665))
\033FLAKED\033 (8;;http://ci.aztec-labs.com/54117db4337f7db7�54117db4337f7db78;;�):  yarn-project/end-to-end/scripts/run_test.sh simple src/e2e_p2p/gossip_network.test.ts (437s) (code: 1) group:e2e-p2p-epoch-flakes (\033Charlie\033: feat: aztec-up installs without docker (#18665))

Now we're shipping `bb` in bb.js for supported architectures/os's, we can support installs without needing docker.
The user does however need a distribution with:
* The minimum required node version.
* Tools e.g: `make`, `gcc`, `python`, `git`.

_Note: You will not be able to do backend proving as we don't ship `bb-avm`. This is contract development only. Provers/validators are expected to still use the release image._

This PR:
* `boxes` and `aztec-up` no longer depends on `release-image`.
* We test `aztec-up` with a local npm registry (`verdaccio`) that we prime with the monorepo packages.
* New install script that installs correct versions of:
  * `nargo`
  * foundry
  * jq
  * packages `@aztec/aztec`, `@aztec/cli-wallet`, `bb` via `@aztec/bb.js`.
* `./bootstrap.sh versions` outputs all expected versions of relevant tools (used by aztec-up).
* `boxes` now build and test without any requirement on a release image (they start the local network directly).
* Remove unwanted `npx aztec-create` stuff from boxes.
* Remove some never used log commands from ci.sh.
* Rework some bootstrap release stuff so we can easily get paths to packages to be released (helps load into verdaccio).
* Remove interactive query from noir precommit hook as they can't be interactive.
* Move the nasty aztec cli extension script(s) out of `aztec-up` and into `yarn-project/aztec/scripts/aztec.sh` and make it the entrypoint. The script was only every meant to abstract away the docker container but additional functionality made its way in. This functionality should probably all be TS code, but for now at least it's owned by the cli package. Extensions are `test`, `compile`, `new`, `init`.

Co-authored-by: iAmMichaelConnor <[email protected]>
Co-authored-by: ludamad <[email protected]>
@AztecBot AztecBot force-pushed the cl/install_dockerless branch from cd2bf56 to 0ffc1e0 Compare January 12, 2026 14:49
@AztecBot AztecBot enabled auto-merge January 12, 2026 14:49
@AztecBot AztecBot added this pull request to the merge queue Jan 12, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 12, 2026
@charlielye charlielye added this pull request to the merge queue Jan 12, 2026
Merged via the queue into next with commit ad4f50d Jan 12, 2026
19 checks passed
@charlielye charlielye deleted the cl/install_dockerless branch January 12, 2026 16:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants