GitHub Actions only loads workflow YAML from .github/workflows/ (repo root). Executable files use the deploy-* prefix there; this folder is the index and runbook for deployment.
Pipeline map: .github/CI-CD.md
| Workflow | File | Job | Trigger | Purpose |
|---|---|---|---|---|
| Deploy / GitHub Pages | ../deploy-pages.yml |
Build site → Deploy to GitHub Pages | Push main (docs paths), manual; release workflow dispatches on main |
Publish extended-docs/ site |
Supports workflow_dispatch.
- Settings → Pages → Source: GitHub Actions (not “Deploy from a branch”).
- Optional variable
DOCS_SITE_URL— ACTIONS-SECRETS.md.
- Build: Python 3.12,
make install+make checkinextended-docs/. - Deploy:
actions/deploy-pagesto environmentgithub-pages. - Concurrency:
group: pages,cancel-in-progress: false(no partial deploys).
make extended-docs-check # same strict build as CI/deploy build job
# or
cd extended-docs && make check| Symptom | Action |
|---|---|
| Deploy 404 / workflow “Not Found” | Pages source must be GitHub Actions |
Tag v* deploy rejected by environment |
Do not trigger on tags; use Run workflow on main or release workflow dispatch — GITHUB_PAGES.md |
| Wrong canonical URL | Set DOCS_SITE_URL variable or site_url in MkDocs |
| Skipped on PR | Deploy runs on push to main only — not on PR |
See docs/GITHUB_PAGES.md.
| Name | Required | Purpose |
|---|---|---|
GITHUB_TOKEN |
Auto | Pages OIDC deploy |
DOCS_SITE_URL |
Optional | MkDocs site_url override |
No extra repository secrets.