Docs Pages Deployment
This runbook covers how JACK docs are deployed to GitHub Pages and mapped to docs.jack.lukas.money.
Deployment Workflow
- Workflow file:
.github/workflows/deploy-docs-pages.yml - Trigger: push to
mainwhen docs or workflow files change - Manual trigger:
workflow_dispatch - Build output:
apps/docs/build
The docs app includes apps/docs/static/CNAME, so every deploy keeps the custom domain pinned to:
docs.jack.lukas.money
GitHub Repository Settings
- Open repository settings:
Settings -> Pages. - Set Source to GitHub Actions.
- Ensure the Pages environment deploys successfully at least once from the workflow.
Release Script Integration
Standalone docs release:
pnpm release:docs
Build + trigger Pages deploy workflow:
pnpm release:docs:deploy
Integrate docs into standard release script:
pnpm release -- --with-docs
pnpm release:minor -- --with-docs-deploy
--with-docs: build docs during release.--with-docs-deploy: build docs and dispatch the Pages workflow.
Cloud DNS Mapping (GCloud)
Use the helper script:
GCLOUD_PROJECT=<project-id> \
GCLOUD_DNS_ZONE=<managed-zone-name> \
DOCS_DOMAIN=docs.jack.lukas.money \
DOCS_GITHUB_PAGES_TARGET=hashpass-tech.github.io \
./scripts/gcloud/configure-docs-dns.sh
Optional:
DOCS_DNS_TTL(default300)GOOGLE_APPLICATION_CREDENTIALS(service account key path)
Verification
dig +short docs.jack.lukas.money
Expected result: CNAME chain to hashpass-tech.github.io and GitHub Pages IPs.
Then verify site headers:
curl -I https://docs.jack.lukas.money