Umbrella GitHub Pages site serving multiple projects under one custom domain:
Each project keeps its source in its own repository. On every push to that
project's main branch, a CI workflow builds the project and pushes the built
output into this repo under /<project-name>/. GitHub Pages on this repo
serves the merged tree.
Populated as each project is wired up.
| Path | Source repo |
|---|---|
| none yet | none yet |
- In the project repo, set the build's base path to
/<project-name>/(e.g.base: '/contact-details-page/'invite.config). - Add
HUB_DEPLOY_TOKEN(a fine-grained PAT with write access to this repo) as a secret on the project repo. - Add
.github/workflows/deploy-to-hub.ymlto the project repo (see the pattern indocs/per-project-workflow.ymlif checked in, or the plan file). - Push or
workflow_dispatchit. The output lands in<project-name>/on this repo'smainbranch and Pages republishes.
project repo --build--> dist/ --(actions-gh-pages, keep_files: true)--> projects-hub/<project>/
|
v
projects.lalitkumar.dev/<project>/
keep_files: true in the deploy action is critical — without it, each project
push would wipe every other project's directory.