Website Management & Operations¶
This page outlines recommended processes for building, publishing and managing the OSG Networking site (MkDocs) with a
focus on persona-based documentation. The goal is to maintain docs/ as the single source of truth and manage generated
site/ through CI.
Overview¶
-
Use
docs/as canonical source of content. -
Build & verify with
mkdocs buildlocally or via CI. -
Use CI to deploy to
gh-pagesor a hosted platform; avoid committing generatedsite/to the repo when possible.
Local development & testing¶
- Create a Python virtualenv and install dependencies:
python3 -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install mkdocs mkdocs-material pymdown-extensions
- Run a local preview server:
mkdocs serve -a 0.0.0.0:8000
- Build the site for local verification:
mkdocs build --clean -d site
CI & Publishing¶
-
CI should run the following steps on PRs and pushes to
master: -
mkdocs build --clean(fail on build errors) -
Run link checks and the
verify-site-scripts.shscript to assert docs/site parity for changed files (optional if not keepingsite/in repo) -
Run
autoupdate-scripts-sha.shto update*.sha256files when scripts change in docs. -
CI publish step (if you want to auto-deploy): use
peaceiris/actions-gh-pagesorJamesIves/github-pages-deploy-actionto publish thesite/directory to thegh-pagesbranch or a host.
Keep docs/ canonical¶
-
Prefer editing and reviewing changes to files under
docs/. -
If you must edit
site/(e.g., for manual content patches), follow the same review process and back-propagate changes intodocs/.
Persona content & operational workflow¶
-
Persona pages live under
docs/personas/<persona>/and should include the canonicallanding.md,intro.md, and other materials. -
Owners and status metadata should be included in frontmatter (owner email or team, status: proposed/draft/stable). This helps review and governance.
Actions we automated¶
-
CI verification:
.github/scripts/verify-site-scripts.sh— verifiesdocs/script copies andsite/parity for changed scripts. -
Autoupdate:
.github/scripts/autoupdate-scripts-sha.sh— updates per script*.sha256andscripts.sha256when a script indocs/changes in a PR.
Migration / Next steps¶
-
Consider removing
site/from the repo if CI deployment is configured and stable; commitsite/removal with a PR that updates CI to publish built site togh-pages. -
Add a
web-site-management.mdpage (this page) with step-by-step instructions for maintainers. -
Add code owners for
docs/andpersonasto ensure consistent review.
If anything in this workflow should be changed (e.g., we continue to check in site), we can adapt the CI accordingly to
keep both the ease of site/ updates and code reviewing safeguards.