Add multi-repo local build system - #9
Closed
ritorhymes wants to merge 3 commits into
Closed
Conversation
Add the local workspace model for the multi-repo build system. This adds workspace config and profile support, workspace init, refresh, and doctor commands, generated helper tasks, and the local site build path against sibling repos and theme inputs. The site commands support normal local usage, parity checks, standard clone and git worktree checkouts, and explicit dirty builds from the active content repo.
Add explicit editorial commands and keep them separate from the site command surface. This adds targeted editorial selection, dirty live serving, and static preview for the local multi-repo workflow.
Document the local multi-repo workflow and command surface. Describe local workspace setup, dirty workflow, site commands, editorial commands, parity usage, and the separate serve and preview paths using stable public-facing terminology.
This was referenced Apr 15, 2026
ritorhymes
marked this pull request as ready for review
April 15, 2026 12:15
4 tasks
Contributor
Author
|
I am going to split this PR into a new set of multiple stacked PR's for review for tomorrow. I will leave this one opened for reference of what the consolidated system looks like. |
This was referenced Apr 16, 2026
Closed
Contributor
Author
|
I split this PR into a new stacked PR series:
|
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.
Important
This PR is part of the coordinated multi-repo local build system series tracked in preprocessor#8. Since opening, this original full
preprocessorimplementation has been split into the stacked review PRs preprocessor#10, preprocessor#11, preprocessor#12, and preprocessor#13 for easier review. The downstream PRs in EIPs#10, ERCs#10, and template#1 still depend on thebuild-eipscommand surface introduced by this implementation and should land only after the stackedpreprocessorseries is merged and released.Description
This PR adds a local multi-repo build system to
preprocessor.It makes the full site pipeline practical to run locally across the WG repo stack, adds workspace config and generated task support for that local workflow, introduces explicit separation between site and editorial workflows, and adds both local dev-serving and built-output preview paths.
Architecture
The local system is organized around a few key distinctions:
EIPs,ERCs, andtheme.local-build/.../repoused for site checks, builds, and serving.local-build/.../outputCommands are always anchored to an active content repo (
EIPsorERCs). Site commands operate on the assembled build-time repo, while editorial commands target selected proposal files througheipw.serveandprevieware also separate paths:serveis the local dev loop, whilepreviewserves already-built output.Command Surface
check: validate the assembled site source tree without producing final outputbuild: build the site and write output under.local-build/.../outputserve: run the local dev-serving pathpreview: serve existing built output without rebuilding iteditorial lint: run targeted editorial validation on selected proposal fileseditorial build: run targeted editorial validation, then the site check pathworkspace init: create workspace config and clone any missing sibling reposworkspace refresh: regenerate generated workspace helper filesworkspace doctor: validate local workspace readinessChanges
.build-eips.tomlworkspace init,workspace refresh, andworkspace doctorjustfilefor common local commandscheck,build,serve, andpreviewlintandbuild--working-tree, and--against-upstreamValidation
Local verification included:
--working-treeselectionFinal CI-shaped verification used the rewritten
EIPsandERCsbranches with thebuild-eipsbinary built from this PR branch.From those branches, I ran:
build-eips --staging editorial build --against-upstream --format githubbuild-eips --staging buildIn both repos, the editorial selector resolved no changed proposal files relative to upstream, and the full staging site build completed successfully.
Release Note
The downstream
EIPs,ERCs, andtemplatePRs depend on the releasedbuild-eipsbinary from this PR. Those PRs should be merged only after this PR is merged and a release is cut.