Cutting a release¶
Ordinary pushes never release. Only a v* tag triggers
.github/workflows/release.yml.
What a release ships¶
| Artifact | Source |
|---|---|
opentofu-workshop-full-<tag>.pdf |
Superset (slides.md) |
opentofu-workshop-3day-<tag>.pdf |
Three-day cut (slides-3day.md) |
opentofu-workshop-day-1-<tag>.pdf |
Day-1 cut (slides-day-1.md) |
opentofu-workshop-day-2-<tag>.pdf |
Day-2 cut (slides-day-2.md) |
opentofu-workshop-day-3-<tag>.pdf |
Day-3 cut (slides-day-3.md) |
opentofu-workshop-site-<tag>.zip |
Static HTML decks (relative asset paths) |
How to cut¶
git checkout main && git pull --ff-only
# Confirm CI is green for the tip you intend.
git tag v1.2.0
git push origin v1.2.0 # → Release workflow exports PDFs
GitHub Pages (docs + decks)¶
Every push to main that touches the site inputs (the workflow's paths:
filter — docs, pages, decks, theme, scripts; workflow_dispatch forces a
rebuild past the filter) runs
.github/workflows/pages.yml:
MkDocs Material at /, hash-routed Slidev under /deck/. Locally:
python3 -m pip install -r docs/requirements-docs.txt
task pages:build
task pages:preview # http://localhost:4173