Documentation Deployment
The TSI documentation is built with MkDocs and deployed to GitHub Pages by the Documentation workflow (.github/workflows/docs.yml).
When Documentation Is Deployed
- Pull requests and pushes to
devbuild the docs withmkdocs build --strict, so a broken link or page fails CI, but nothing is deployed. - Pushes to
mainthat touchdocs/**,mkdocs.ymlorrequirements-docs.txtbuild the docs and deploy them to GitHub Pages. - Manual runs (Actions → Documentation → Run workflow on
main) redeploy the currentmaindocs.
Deploys run from main rather than from release tags because the github-pages environment only accepts deployments from the default branch; a tag-triggered deploy is rejected before it starts. Releases are cut from main, so the live docs match the latest release.
GitHub Pages Setup
To enable GitHub Pages for this repository:
- Go to Settings → Pages
- Under Source, select GitHub Actions
- The documentation will be available at:
https://pantersoft.github.io/TheSourceInstaller/
Local Development
To build and test documentation locally:
# Create and activate virtual environment
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
pip install -r requirements-docs.txt
# Build documentation
mkdocs build
# Serve locally
mkdocs serve
The documentation will be available at http://127.0.0.1:8000/
Troubleshooting
Build Fails
- Check that all dependencies are installed:
pip install -r requirements-docs.txt - Verify
mkdocs.ymlsyntax is correct - Check for broken links:
mkdocs build --strict
Pages Not Updating
- Documentation deploys only from
main. Ensure the change is merged tomain, or run the Documentation workflow manually onmain. - Verify GitHub Pages is enabled in repository settings (Source: GitHub Actions).
- Check that the Documentation workflow completed successfully in the Actions tab. A deploy job that fails within seconds with "not allowed to deploy to github-pages" was started from a branch or tag the environment's deployment rules don't allow (Settings → Environments → github-pages).