Skip to content

feat(ci): private-nightly docker release series + next-net source - #23788

Open
ludamad wants to merge 3 commits into
nextfrom
ad/feat/private-nightly-releases
Open

feat(ci): private-nightly docker release series + next-net source#23788
ludamad wants to merge 3 commits into
nextfrom
ad/feat/private-nightly-releases

Conversation

@ludamad

@ludamad ludamad commented Jun 2, 2026

Copy link
Copy Markdown
Collaborator

Stacked on #23780 (ci-release unification). Sets up a private nightly release series sourced from the embargoed v5 line, publishing the docker image only, which next-net then deploys.

Pieces

  • bootstrap.shci-release gains a *-private-nightly.<date> path (checked before the generic private*): fetch the matching tag from aztec-packages-private, build it, publish only the release-image docker image — no npm/cargo/github, no compat gate. Existing private-fork checkout refactored into checkout_private_worktree, shared by both private paths.
  • .github/workflows/nightly-release-tag-private.yml (new) — scheduled 1 AM UTC: reads private/v5-next's version → tags v{version}-private-nightly.<date> in the private repo (build source) and pushes the same tag to public next (the trigger). Guarded to the public repo so the private mirror can't misfire.
  • .github/workflows/deploy-next-net.yml — scheduled deploy resolves aztecprotocol/aztec:<priv-version>-private-nightly.<date>-amd64 from private/v5-next (separate commit, easy to gate).

Flow

01:00  tag v5-next (private, API) + push same tag to public next (PAT) → ci-release builds private worktree → pushes aztecprotocol/aztec:5.0.0-private-nightly.<date>{,-amd64,-arm64}
04:00  deploy-next-net resolves …-private-nightly.<date>-amd64 → deploys next-net

⚠️ Must land in this order

The public trigger tag runs ci-release from public next, so the private-nightly path must already be merged there — otherwise a …-private-nightly tag falls into the generic private* path and does a FULL release, not docker-only. So: merge #23780 → merge this → then enable the tagger.

Notes

  • next-net behavior change: it will track the private v5 line, not public v6. Intended per "next-net deploys the next deployment", but flagging.
  • Private side: private/v5-next branch is created (from private:next, v5.0.0). No private-repo code change is needed — orchestration is public.

@ludamad
ludamad requested a review from charlielye as a code owner June 2, 2026 02:40
Adam Domurad added 3 commits June 1, 2026 23:03
Adds a private nightly series, sourced from the embargoed v5 line in
aztec-packages-private/v5-next, that publishes the aztec docker image only.

- bootstrap.sh: ci-release gains a `*-private-nightly.<date>` path that fetches
  the matching tag from the private fork, builds it, and publishes just the
  release-image docker image (no npm/cargo/github, no compat gate). The
  existing private-fork checkout is factored into checkout_private_worktree and
  reused by both private paths.
- nightly-release-tag-private.yml: scheduled tagger that reads
  private/v5-next's version, tags v{version}-private-nightly.<date> in the
  private repo (build source) and pushes the same tag to public next (the
  trigger). Guarded to the public repo so the private mirror can't misfire.
next-net now tracks the private v5 line: the scheduled deploy resolves
aztecprotocol/aztec:<priv-version>-private-nightly.<date>-amd64 from
private/v5-next instead of the public nightly. Manual image_tag dispatch is
unchanged. Kept separate so it can be gated/reverted independently.
- ci3.yml: exclude -private-nightly. from the validate-nightly-tag gate; without
  this the substring match fired the full ci-network-scenario matrices against the
  docker-only private nightly every night (BLOCKER from review).
- bootstrap.sh: no-op the private-nightly path in the private mirror so a mirrored
  tag push can't trigger a second, self-fetching ci-release in the embargoed repo.
- nightly-release-tag-private.yml: abort in the cheap tagger on a real private
  tag-create failure (only continue if the tag already exists) instead of pushing a
  public trigger for a missing source; make the public tag push idempotent; fix a
  stale deploy-time comment.
@ludamad
ludamad force-pushed the ad/feat/private-nightly-releases branch from d6462e9 to a740833 Compare June 2, 2026 03:06
Base automatically changed from ad/refactor/unify-ci-release to next June 2, 2026 13:50
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.

2 participants