Skip to content

fix(aztec-up): allow verdaccio publish when npmjs uplink is offline#23255

Draft
AztecBot wants to merge 1 commit into
merge-train/spartanfrom
claudebox/fix-spartan-tx-collection
Draft

fix(aztec-up): allow verdaccio publish when npmjs uplink is offline#23255
AztecBot wants to merge 1 commit into
merge-train/spartanfrom
claudebox/fix-spartan-tx-collection

Conversation

@AztecBot
Copy link
Copy Markdown
Collaborator

Summary

The aztec-up step in bootstrap.sh ci-full-no-test-cache stands up a local Verdaccio and publishes every @aztec/* and @noir-lang/* workspace package to it. When npmjs.org is briefly unreachable, Verdaccio caches the uplink as down for ~5 minutes (default fail_timeout) and refuses every publish in that window with:

npm error 503 Service Unavailable - PUT http://localhost:4873/@aztec%2f...
  one of the uplinks is down, refuse to publish

This bricked the merge-train CI run for merge-train/spartan (https://github.com/AztecProtocol/aztec-packages/actions/runs/25813115286, log 1778689953741897) even though the change itself (#23245 TxCollection refactor) is unrelated. The existing 3× retry in aztec-up/bootstrap.sh doesn't help because the cached uplink-down state outlives all retries — see the existing TODO on that line.

Fix

Add publish.allow_offline: true to the Verdaccio config. In Verdaccio's checkPackageRemote (see storage-utils.js), a non-404 uplink error normally produces UPLINK_OFFLINE_PUBLISH (the 503 above); with allow_offline set, that path resolves instead of rejecting, so transient npmjs hiccups no longer block local publish. Install/proxy behaviour for non-published packages is unchanged.

Test plan

  • bootstrap.sh ci-full-no-test-cache passes through the aztec-up step
  • Verified locally that Verdaccio v6.6.0 accepts the new config and that _isAllowPublishOffline reads publish.allow_offline (per node_modules/verdaccio/build/lib/storage.js). Full reproduction needs Docker which isn't available in this environment.

Full analysis: https://gist.github.com/AztecBot/9b0ccd4e3bbc1714bf490594037023ba

ClaudeBox log: https://claudebox.work/s/7ac785ba8051506f?run=1

@AztecBot AztecBot added ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR. labels May 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant