Skip to content

chore(labs): one toolchain hash path, a leaner labs-fast, and a lockfile drift note - #25331

Merged
ludamad merged 1 commit into
ad/delete-in-tree-labsfrom
ad/review-b
Aug 27, 2026
Merged

ludamad merged 1 commit into
ad/delete-in-tree-labsfrom
ad/review-b

Conversation

@ludamad

@ludamad ludamad commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator

Review follow-ups for #25318, as a separate PR into ad/delete-in-tree-labs.

  • Patch 0003 — one hash path. Foundation mode no longer probes bin/ (and no longer refuses to run before a build): both modes hash the directory's committed content plus the optional binaries expected on this machine — predicted from the pins in pinned mode, and in foundation mode read from a new optional= line that scripts/labs_fnd_hashes.sh records with the provider hashes. Verified in the devbox: identical hash with and without bin/ provisioned, a different hash when the optional= record changes, pinned mode unchanged.
  • labs-fast scope. Keeps yarn-project (+tests, e2e), aztec-nr, noir-contracts, contract-snapshots-tests — what a foundation change can break. docs, spartan, playground, claude-tests move to labs-full with the benches (the pin-bump PR should run ci-full). Saves the ~3 min of upstream-uncached work (nargo check in aztec-nr is kept; the docs example compile goes).
  • Lockfile refresh. commit-use-local now lists lock entries that changed outside the portal rewrite. Yarn keeps existing resolutions for unchanged descriptors; the exception is tag ranges (latest), which it re-resolves — that is now visible in the build log rather than silently moving every labs cache key. The rewrite lives in the marker commit and is never exported.
  • CLAUDE.md <labs_build_tooling>: the make targets, scripts/labs_env.sh / labs_test_cmds.sh / labs_fnd_hashes.sh, labs-patches/test_cmd_skip and the cache identity.

Not changed, with reasons in the threads: the skip list stays in labs-patches/ (the whole directory is foundation-only tooling; only the .patch contents go upstream), and patch 0002 stays (it exists for the cd labs prefix, which a test-pattern file cannot express).

…ile drift note

Labs patch 0003: the toolchain hash no longer has a foundation-mode branch that
probes bin/ (and refuses to run before a build). Both modes hash the
directory's committed content and mix in the optional binaries expected on
this machine — predicted from the pins in pinned mode and, in foundation mode,
read from a new `optional=` line that scripts/labs_fnd_hashes.sh records
alongside the provider hashes. The hash is computable before provisioning in
both modes and the two branches collapse into one.

labs-fast now runs what a foundation change can break — labs against the
portals with its tests, and the contracts against this tree's nargo/bb; docs,
spartan, playground and the claude tests move to labs-full with the benches.

commit-use-local reports lockfile entries that changed outside the portal
rewrite (yarn re-resolves tag ranges such as `latest`), so an unrelated bump
is visible in the build log instead of silently moving every labs cache key.

CLAUDE.md gains a <labs_build_tooling> block describing the make targets, the
scripts under scripts/labs_*, the skip list and the cache identity.
@ludamad ludamad added the ci-draft Run CI on draft PRs. label Aug 27, 2026
@ludamad
ludamad merged commit e0613be into ad/delete-in-tree-labs Aug 27, 2026
13 of 16 checks passed
@ludamad
ludamad deleted the ad/review-b branch August 27, 2026 14:23
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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant