Skip to content

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.

Publication is a manual deploy-docs dispatch on accepted main, authorized by the IaC publication controller. Its accepted_commit must match the exact workflow source and current accepted repository revision. Pull requests, tags, and other branches cannot publish.

make gh-docs-install selects the source-owned history renderer recipe: Python 3.11.17 on Ubuntu 24.04 with the complete hash-locked documentation closure. It installs into artifacts/docs/publication/python; this environment is separate from ordinary documentation and application tools. Publication uses the reviewed git revision plugin 1.6.0 while the normal documentation lock remains independent.

make gh-docs-build checks the exact fetched Std pin and generated projection, captures committed source identity, and renders the configured production artifact through the shared qualified producer. It records reconstruction, content security, routes and search verification before admitting the publication manifest. make gh-docs-verify rechecks that manifest and its source and bundle bytes without rebuilding.

The only selected bundle is artifacts/docs/site, at https://bijux.io/bijux-atlas/. Missing artifacts, unqualified renderer profiles, changed source or incomplete evidence fail before Pages upload. There is no artifact-directory discovery or fallback render.

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 qualified producer proves the selected source and rendered artifact. A successful Pages deployment and external site checks remain separate evidence; local qualification alone does not establish public reachability.

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.