Documentation build
Builds documentation as a check so broken cross-references, links and markup fail like code.
Sub-techniques
3
| ID | Name | Description |
|---|---|---|
V1010.001 | Strict docs build | Treat warnings as errors (sphinx -W, mkdocs --strict). |
V1010.002 | Link checking | Check internal and external links on a schedule. |
V1010.003 | Doctests | Run code examples in documentation as tests. |
Craft it
- Build docs in CI with warnings as errors.
- Run a link checker on PRs for internal links and weekly for external ones.
- Execute examples so docs and code cannot drift.
Reverse engineer it
Signs that a codebase already runs this technique, and where to read how it is configured.
- docs/conf.py or mkdocs.yml plus a CI docs job.
- A lychee or linkcheck step, or doctest options in pytest config.
Where the scanned repositories configure it:
.github/workflows/*.ymlin 10 repositoriespyproject.tomlin 7 repositoriesMakefilein 2 repositoriestox.iniin 2 repositoriesjustfilein 1 repositories
Detected by the scanner as: Docs build (broken cross-references, links and markup in documentation.)
Procedure examples
repositories that run it, most-starred first
| Repository | Tools | Runs in | Evidence |
|---|---|---|---|
| TheAlgorithms/Python | sphinx |
ci | .github/workflows/sphinx.yml jobs.build_docs.steps[5] |
| pallets/flask | sphinx |
local | pyproject.toml [tool.tox.env.docs] |
| traefik/traefik | mkdocs |
ci | .github/workflows/check_doc.yaml jobs.docs.steps[4] (Build documentation) |
| astral-sh/ruff | mkdocs |
ci | .github/workflows/ci.yaml jobs.docs.steps[7] (Build docs) |
| celery/celery | sphinx |
ci, local | .github/workflows/python-package.yml jobs.Unit.steps[4] (Run tox for "${{ mat... |
| pydantic/pydantic | mkdocs |
ci, local | .github/workflows/ci.yml jobs.docs-build.steps[5] |
| jj-vcs/jj | mkdocs |
ci | .github/workflows/ci.yml jobs.check-mkdocs.steps[3] (Check that `mkdocs` can ... |
| argoproj/argo-cd | mkdocs |
local | Makefile target build-docs-local (line 570) |
| SWE-agent/SWE-agent | mkdocs |
ci | .github/workflows/build-docs.yaml jobs.deploy.steps[7] (Build Documentation) |
| astral-sh/ty | mkdocs |
ci | .github/workflows/ci.yaml jobs.docs.steps[2] (Build docs) |
| LMCache/LMCache | sphinx |
ci | .github/workflows/translate_doc_zh.yml jobs.translate-docs.steps[5] (Update g... |
| salesforce/cloudsplaining | mkdocs |
local | justfile recipe build-docs (line 5) |
| open-telemetry/opentelemetry-python | sphinx |
ci, local | .github/workflows/misc.yml jobs.docs.steps[3] (Run tests) |