Skip to content

Publish versioned release websites and templated resource links - #97

Merged
helly25 merged 1 commit into
mainfrom
feat/versioned-release-site
Sep 8, 2026
Merged

helly25 merged 1 commit into
mainfrom
feat/versioned-release-site

Conversation

@helly25

@helly25 helly25 commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

Publish proto documentation as immutable static websites for each release, with a root redirect to the latest stable release. Release notes link to that release's website and coverage report; historical documentation can be backfilled without creating a release or moving a tag.

AG;DR

  • Add release-site.json mapping all 11 Markdown documents to static HTML under site/tag/<exact-tag>/. Rewrite configured links, snapshot images, and validate internal files and anchors before retaining a snapshot.
  • Publish after successful Release workflows or manual dispatch. Backfill accepts an explicit tracked configuration from main while all content comes from the original tag. Retain the exact configuration, checksum, and source commit with each immutable snapshot; retries preserve existing bytes.
  • Coordinate site and coverage publishers with the same queued concurrency group. Both deploy the complete retained Pages tree so neither removes the other's output.
  • Append resources rendered from .github/release-notes.md.template by tools/release_notes.sh TAG to the existing changelog and installation notes. Link to /proto/site/tag/<tag>/ and /proto/coverage/tag/<version>/.
  • Add 24 site regression tests and two release-note tests. Main CI converts actual documentation in a disposable preview and validates the generated links; the required done gate includes this job. CI previews never publish.
  • Document configuration, manual backfill, Pages setup, and the About website URL. No repository settings, release tags, or live websites are changed by this PR.

Validation before push: all 26 site/template tests, a complete conversion of the actual documentation, focused pre-commit checks (including existing coverage-policy tests), and bazel test //... (four tests) passed. Local hooks use current Homebrew Python because the system Python is too old for an existing coverage test. Pushed-head verification and GitHub CI are recorded below as they complete.

This independently includes the implementation from mbo #433, with no merge dependency. The original mbo 0.15.0 tag was successfully backfilled and deployed before merge: live snapshot. Historical proto tags with different documentation layouts need a compatible explicit configuration; missing sources never fall back to current content.

Coordinated rollout: xff #783, carve #119, coderef #113, bashtest #46, bzl #61.

Verification on pushed commit f9c000e52488ec23fdce7ca9a9b3b3b97d89243a, current with main: all 26 site/template tests, bazel test //... (four tests), and focused pre-commit checks passed. GitHub reports the PR mergeable; CI is queued/running.

Signed-off-by: helly25 <6420169+helly25@users.noreply.github.com>
@helly25
helly25 merged commit 884f472 into main Sep 8, 2026
15 checks passed
@helly25
helly25 deleted the feat/versioned-release-site branch September 8, 2026 00:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant