Docs Deploy Pipeline¶
Documentation deployment turns validated source into a GitHub Pages artifact. The workflow resolves repository-specific install, build, verify, site URL, and site directory settings before it installs tools or publishes output.
Docs Deploy Model¶
flowchart LR
Source[Docs and generated references] --> Resolve[Resolve commands and site contract]
Resolve --> Build[Install toolchain and build]
Build --> Locate[Locate site directory with index.html]
Locate --> Verify[Run configured site verification]
Verify --> Upload[Upload Pages artifact]
Upload --> Deploy[Deploy from approved ref]
Build success, artifact validity, Pages deployment, and public reachability are different claims. The workflow must preserve those distinctions in its result and in any release evidence that cites the documentation site.
Resolution and Publication¶
The workflow resolves configuration from repository variables, environment,
and .github/docs-deploy.env, then falls back to discovered Make targets. It
fails if no build command can be found. Python, uv, Node, and Rust setup are
enabled according to the resolved repository shape unless explicitly
configured.
After the build, the workflow searches the configured site directory and known
artifact roots for a directory containing index.html. If none is found, it
may invoke the repository's docs Make target as a fallback. The selected
directory is passed to the configured verification command, then checked for a
directory and root index.html before upload.
Deployment occurs only for a reusable workflow call, main, master, or a
v* tag. Manual dispatch from another ref is rejected because it would build
without reaching the deployment boundary.
Evidence Strength¶
| Observation | Safe conclusion | Still required for a stronger claim |
|---|---|---|
| source validation passed | Markdown, metadata, navigation, and checked links satisfy the configured validator | rendered-site and deployment evidence |
site directory contains index.html |
a candidate Pages bundle has a root document | asset completeness and route behavior |
| configured site verifier passed | repository-specific publish checks accepted the selected bundle | Pages deployment result |
| upload action passed | GitHub accepted the artifact | successful deployment and public fetch |
| deploy action returned a URL | Pages reported a deployment | external route, asset, redirect, and cache checks when required |
The shared workflow itself guarantees only the generic root index.html check
unless the repository's resolved verify command enforces more. Asset, redirect,
search, canonical URL, and public smoke-test claims must name the command or
post-deploy observation that proves them.
Operational Record¶
Retain the source revision, resolved site URL and directory, resolved commands, tool versions, verification result, Pages artifact identity, deployment URL, and workflow run. A public-site incident can then distinguish stale source, build drift, incomplete assets, Pages failure, and routing failure.
Workflow authority: .github/workflows/deploy-docs.yml.
Repository documentation checks are described in
Docs Governance Workflow.