From d748289c115d5a819786a4b833dde9811664779d Mon Sep 17 00:00:00 2001 From: Rootiest Date: Mon, 17 Aug 2026 20:49:42 -0400 Subject: [PATCH] feat(docs): regenerate component registry before building the manual --- docs/build-manual.py | 3 +++ docs/verify-manual.py | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/docs/build-manual.py b/docs/build-manual.py index 7b3070d..5f1227d 100644 --- a/docs/build-manual.py +++ b/docs/build-manual.py @@ -15,6 +15,7 @@ import sys from pathlib import Path import manualtools as mt +import generate_component_registry DOCS = Path(__file__).parent MANUAL = DOCS / "manual" @@ -840,6 +841,8 @@ def main() -> int: if not (args.concat or args.site): ap.error("nothing to do: pass --concat and/or --site") + generate_component_registry.main() + if args.site: src = DOCS / "site" / "src" out = src / "content" / "docs" diff --git a/docs/verify-manual.py b/docs/verify-manual.py index 5d6d449..8626168 100644 --- a/docs/verify-manual.py +++ b/docs/verify-manual.py @@ -1005,6 +1005,16 @@ def test_render_registry_is_valid_fish_and_round_trips(): assert "status=0" in proc.stdout, f"lookup did not report found: {proc.stdout!r}" +def test_build_manual_regenerates_registry_before_building(): + """docs/build-manual.py must regenerate the registry as a pre-step.""" + import build_manual + + assert hasattr(build_manual, "generate_component_registry"), ( + "build-manual.py must import generate_component_registry so its " + "main() can be called as a pre-step before --site/--concat run" + ) + + TESTS = [v for k, v in sorted(globals().items()) if k.startswith("test_")]