feat(labs): port an aztec-packages PR to aztec-node with scripts/labs_port_pr.sh - #25346
Open
ludamad wants to merge 6 commits into
Open
feat(labs): port an aztec-packages PR to aztec-node with scripts/labs_port_pr.sh#25346ludamad wants to merge 6 commits into
ludamad wants to merge 6 commits into
Conversation
…_port_pr.sh `scripts/labs_port_pr.sh <pr>` ports one PR to aztec-node: it downloads the PR's diff, refuses it unless every path is in the labs half of the tree (the in-tree layout of the v5 lines, or labs-patches/*.patch after the split — a mixed PR is split by its author, not guessed at), and replays it onto aztec-node main in a temporary worktree of labs/'s repository with a 3-way merge. The pre-image blobs are copied over from this repository so the merge can adapt to context that moved upstream and treat an already-landed hunk as a no-op; files that still conflict are committed with markers and listed, as are lines that reference foundation-only paths. The result is a port/pr-<n> branch titled like the PR with aztec-node's "(AztecProtocol/aztec-packages#n)" suffix; nothing is pushed. An offline test (scripts/tests/labs_port_pr_test) runs with the labs-patches tests. CLAUDE.md and the README describe the flow, and CLAUDE.md gets back the </git_staging> and <labs_submodule_patches> tags that the earlier tooling reference rewrite had swallowed.
ludamad
force-pushed
the
ad/labs-port-pr
branch
from
August 28, 2026 21:14
ac51467 to
2909670
Compare
Also maps in-tree noir-projects/labs/<x> onto aztec-node's noir-projects/<x> when replaying a port (aztec-node moved noir-projects to its root), with a lifecycle check.
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.
scripts/labs_port_pr.sh <pr number|url>— the mechanism people asked for to port a PR to aztec-node.yarn-project/,noir-projects/labs/,docs/,playground/,spartan/,aztec-up/,release-image/,labs-aztec-toolchain/; v5 lines andnextbefore the split) or, after the split, onlylabs-patches/*.patch(whose contents are the port). Anything else, or a mix of the two layouts, is refused with the files listed.maininlabs/'s repository;git apply --3waywith the diff's pre-image blobs copied from this repository, so drifted context is adapted and an already-landed hunk merges as a no-op. Files that still conflict are committed with markers and listed; lines referencing foundation-only paths (noir-projects/fnd,barretenberg/, …) are flagged. Result: branchport/pr-<n>, commit titled like the PR with the(AztecProtocol/aztec-packages#n)suffix aztec-node uses; the push andgh pr createcommands are printed, nothing is pushed.main(which already has the hand port Update trees as we generate blocks #96): the code merged as a no-op and the only conflict was the bump-log comment where the human changed dates and numbers.scripts/tests/labs_port_pr_test(offline,--diff/--no-fetch) runs withmake labs-patches-tests.</git_staging>/<labs_submodule_patches>tags swallowed by chore(labs-patches): upstream command and a tooling reference in CLAUDE.md #25330's rewrite are restored.Follow-up, not here: a workflow behind the
port-to-aztec-nodelabel that runs this and opens the aztec-node PR as AztecBot.