Backfill historical release sites and validate documentation links - #433
Merged
Merged
Conversation
Signed-off-by: helly25 <6420169+helly25@users.noreply.github.com>
Signed-off-by: helly25 <6420169+helly25@users.noreply.github.com>
Signed-off-by: helly25 <6420169+helly25@users.noreply.github.com>
This was referenced Sep 7, 2026
This was referenced Sep 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Publish historical mbo documentation without creating a release or moving an existing tag. Manual publication can supply a configuration from main while all documentation still comes from the original tag. Publishing now rejects missing Markdown mappings and broken links or anchors within the generated snapshot.
AG;DR
Add
.github/release-notes.md.templateand a validated tag renderer to append the versioned website and coverage links to the existing release notes. Two additional tests cover exact tag spelling, normalized coverage paths, prereleases, invalid input, and invocation outside the repository.Add optional
config_pathto manual Pages dispatch and--configto the builder. The workflow restricts overrides to tracked files inside its main checkout; automatic release publication continues to use the tagged configuration.Retain the exact supplied configuration as
release-site.json, with its SHA-256, origin, and original source commit recorded inrelease.json. Existing snapshots remain unchanged on retries, including when the override changes.Require linked local Markdown pages and directory READMEs to have conversion mappings. Audit generated HTML links, copied assets, and anchors before atomically retaining the snapshot. Coverage and external links remain outside the internal snapshot audit.
Reject hidden destination components that the Pages artifact uploader would omit, and map
.github/workflows/README.mdto the publicworkflows/index.htmldestination.Extend mbo's configuration to its 22 Markdown documents, closing the missing reflection/style/contributor-document mappings. This configuration also matches the original 0.15.0 tree.
Add regression coverage for backfill provenance, immutable retries, missing historical content, missing mappings, and broken generated links. CI now also builds and validates the actual configured documentation in a disposable runner directory; it never publishes this preview.
Local development verification successfully converted the actual
0.15.0checkout (7dcc431112fcd57c79d340fb57ef21766f20b76d) using the override, validated its complete generated link graph, and generated the correct latest redirect. Current documentation conversion and focused pre-commit checks also passed. Validation before the release-note addition on pushed commit27162792d: all 24 regression tests, focused pre-commit checks, andgit diff --checkpassed. A fresh conversion of the actual 0.15.0 checkout using that pushed builder also passed the complete generated-link audit. GitHub CI additionally verifies the current documentation in a disposable preview.After merge, the normal manual backfill entry point is:
No release or tag was created or changed. Pre-merge live verification succeeded: the PR generator read the original 0.15.0 checkout, its validated static output was committed to
coverage-pages, and the main-branch Pages workflow deployed it. Deployment run completed successfully. All 40 published files checked over HTTP match the generated bytes; the root latest redirect and the 0.15.0 coverage endpoint also passed. The live site is https://mboworks.github.io/mbo/site/tag/0.15.0/. The Pages environment remains restricted to main. The initial deployment was cancelled before its deploy step after discovering the hidden destination; the corrected destination is covered by a regression test. The successful live mbo backfill now provides the reference implementation for the other repositories. Historical tags with a different documentation layout need their own compatible configuration; missing sources never fall back to current content.Release-note addition validation: all 26 site/template regression tests and focused pre-commit checks passed locally. CI also runs the template tests on the new pushed head. Existing published snapshots and historical release notes are unchanged.
Coordinated rollout: xff #783, carve #119, coderef #113, bashtest #46, bzl #61.