diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index 1166642..a678007 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -1,10 +1,12 @@
name: Docs
# Builds the documentation site (site/build.sh) and publishes it to GitHub
-# Pages from main. Pull requests that touch what the site is made from only
-# build it, so a broken page or include fails before it merges.
+# Pages when a release tag is pushed, so the site describes the released
+# binary. Pull requests that touch what the site is made from only build it,
+# so a broken page or include fails before it merges; a manual run publishes
+# the ref it runs on.
on:
push:
- branches: [main]
+ tags: ["v*"]
pull_request:
paths: ["site/**", "README.md", "CHANGELOG.md", "docs/classification-cascade.md", "jevgate.schema.json", ".github/workflows/docs.yml"]
workflow_dispatch:
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 82b6fd5..84fa444 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -40,7 +40,7 @@ JevGate asks the model small questions and decides findings in code. When you ch
## Documentation site
-The site at is built from `site/` with [mdBook](https://rust-lang.github.io/mdBook/): `site/build.sh` generates the rules, configuration and command-line reference pages from a release build, then builds the book into `site/book`. Guide pages are in `site/src`; the reference pages are generated, so change the rule catalog, the configuration types or the `--help` text instead.
+The site at is built from `site/` with [mdBook](https://rust-lang.github.io/mdBook/): `site/build.sh` generates the rules, configuration and command-line reference pages from a release build, then builds the book into `site/book`. It is published with each release, so it describes the released binary. Guide pages are in `site/src`; the reference pages are generated, so change the rule catalog, the configuration types or the `--help` text instead.
## Pull requests