Skip to content

feat(docs): fork a v6 docs line and serve it in previews - #25768

Merged
alejoamiras merged 21 commits into
nextfrom
docs-dev-lines-v6
Nov 6, 2026
Merged

alejoamiras merged 21 commits into
nextfrom
docs-dev-lines-v6

Conversation

@alejoamiras

Copy link
Copy Markdown
Contributor

Adds the v6 docs line: docs/lines/v6/ is a copy of the dev docs that follows aztec-node's v6 branch with its own pin, so v6 docs can keep changing after the dev docs move to v7. Previews serve it at /developers-v6 and /operate-v6. Production builds none of it.

Stacked on #25765.

  • The first commit is a pure copy of the dev pages, sidebars, examples and pin, so it needs no line-by-line review. The second only points the copy at its own examples and contracts package.
  • In previews, every link on a v6 page stays in the v6 line, including the navbar on desktop and mobile.
  • The v6 pages are hidden from search engines, and search, the sitemap and the AI index files leave them out.
  • CI checks the v6 line's references and compiles its examples. They run against a network only when a v6 release is cut.
  • Production never reads the v6 line.

Tests:

  • New unit tests for the line pages, links, navbar and search.
  • The production fingerprint is identical before and after.
  • A full local CI run passes.
  • In a local preview build, none of the 291 v6 pages links into the dev docs.
  • A planted error in a v6 example, or a typo on a v6 page, fails only the v6 checks.

Without COMMIT_TAG (previews, local builds) the legacy macros resolved to next and latest. aztec-node has no next ref, so 38 source links and the aztec-nr Nargo tags pointed nowhere. They now take the ref docs/aztec-node.json pins. Release cuts set COMMIT_TAG and are unchanged.

Three @aztec-foundation installs used the Labs macro and named the Labs version in every build; they now use #include_foundation_version_without_prefix.
From 2026-11-04 aztec-node carries v7 on main and v6 on a v6 branch, with hand backports. The dev pin moves to the newest nightly of main's major and is checked to be on main; release cuts pin their tag. The release skills now find hand backports in migration-note triage (TBD and Unreleased) and expect adapted backports on both sides of the content check. update-doc-references reports, without editing, v6 PRs the pin lacks; updating-changelog takes a PR's major from its base. networks.md and support.md no longer name a development branch or aztec-node's nonexistent next.
…rry a v7 line

A v6.x release is cut from the dev docs' pages and examples, so it works
only while they are v6 content. The pin check now tests that the recorded
commit is on v6, and update-doc-references gates PRs into main (v7)
instead of PRs into v6.
Prints a sorted hash per page, markdown twin and llms file, the sitemap paths and the search index, so a production build can be diffed against another to show tooling changes leave what docs.aztec.network serves untouched.
…work

check_source_urls requires every docs.aztec.network URL in tracked files to resolve, and the fixture's page does not exist.
A line root docs/lines/<line>/ gets its own pin, checkout and toolchain through --line <line>. It never reads AZTEC_NODE_DIR. It refuses another major's tag offline. It gets its own l1-artifacts from npm, checked against the registry integrity. fetch covers every line except in production, and pin installs a line's l1-artifacts before checking. With no docs/lines/ nothing changes.
A page under docs/lines/<line>/ takes its labs/ snippets, source links, COMMIT_TAG and foundation version from its line's pin and checkout. Its #api_ref_version is the folder of the network on its major, and it fails when no network runs that major. Its links into /developers/ and /operate/ move onto the line's instances. A page that quotes another line's examples or l1-artifacts is refused. The lines are processed into processed-docs/lines/<line>/ outside production.
check_source_urls requires every docs.aztec.network URL in tracked files to resolve.
examples/bootstrap.sh --line <line> builds the line's examples with its own pin. nargo takes the topmost Nargo.toml as its workspace, so the build runs in a copy outside the repository that mirrors docs/. The example scripts read DOCS_ROOT instead of a hardcoded docs/. check_doc_references.sh docs/lines/<line> and update_docs.sh --line <line> check the line's references in the line's own checkout. Main's examples build as before; execute stays main-only.
…ng its state

check_doc_references.sh also recognises an absolute docs/lines/<line>. The staged examples build no longer creates the line's .aztec-node/l1-artifacts before fetch provisions it.
…ngerprint

include_code caches a passed checkout check per pin, not per directory: main's AZTEC_NODE_DIR may name a line's checkout. The production fingerprint keeps <link> tags, so a changed canonical or alternate URL shows. The staged examples build sets its cleanup before copying and refuses a malformed line name. A refused l1-artifacts upgrade keeps the installed package (now tested).
Copies the dev docs' developer and operator pages, their sidebars, the aztec-node pin, the Noir workspace and the example sources into docs/lines/v6, byte for byte. The examples' build tooling (bootstrap scripts, compose file, rebuild patterns) stays main-only, since it builds a line from main's copy. The line's .aztec-node state is gitignored.
A mechanical rewrite of the line's pages only: #include_code paths and references: entries under docs/examples/ now name docs/lines/v6/examples/, and l1-artifacts snippets name the line's provisioned copy in docs/lines/v6/.aztec-node/l1-artifacts/. Every changed line differs from main's only by those prefixes. Prose links into aztec-node and reader setup instructions are unchanged.
Previews serve docs/lines/v6 at /developers-v6 and /operate-v6 as two
noindex docs instances; production builds neither. Line pages keep their
links on the line, hide the version dropdown and link the API reference
of the network that runs v6. Search, llms.txt and the sitemap leave them
out. bootstrap.sh checks each line's references and builds its examples.
…ion checks

On a line's pages the navbar's Build, Run a Node and Resources links now
lead to the line's instances instead of the dev docs. Production no
longer spellchecks line pages, and `aztec_node.mts lines` lists none
there, so bootstrap's line steps skip in production like fetch does.
…s them

On a line's page the Resources dropdown now sees its children's line
URLs, so the mobile menu opens on the page it contains. The navbar
rewrite is one tested function in docsLine.mjs.
@alejoamiras
alejoamiras requested a review from a team as a code owner November 5, 2026 17:46
Base automatically changed from docs-dev-lines-plumbing to next November 5, 2026 19:58
# Conflicts:
#	docs/scripts/aztec_node.mts
#	docs/src/__tests__/network_docs.test.js
#	docs/src/network_docs.js
#	docs/src/preprocess/include_version.js
@alejoamiras
alejoamiras merged commit a4c61d8 into next Nov 6, 2026
16 checks passed
@alejoamiras
alejoamiras deleted the docs-dev-lines-v6 branch November 6, 2026 14:53
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