docs: regenerate installer samples with manifests

testing-guide listed the generated artifacts without derivable.json and
the run samples of wiki/installer.md, and tools.md gave the manifest
command alone. The nightly's commit rules also had no place for the two
files its offline pipeline rewrites, so autorun stopped on them.
This commit is contained in:
Abdessamad Derraz committed 2026-11-06 04:06:45 +01:00
1 parent 78e2b85c1b
commit 548a1bc636
4 files changed
+31 -4

No files matched your search

+3 -2
View File
@@ -87,8 +87,9 @@ jobs:
body: >-
Regenerated by the offline pipeline, database.json and the
manifests computed twice with the same result.
paths: [database.json, install/*.json, install/targets/*.json, install/games/*.json,
install/games/*/*.json, README.md, CONTRIBUTING.md, website/src/data/*.json]
paths: [database.json, derivable.json, install/*.json, install/targets/*.json,
install/games/*.json, install/games/*/*.json, README.md, CONTRIBUTING.md,
wiki/installer.md, website/src/data/*.json]
scratch: [dist, tmp/autorun]
bios-integrity:
+22
View File
@@ -1900,6 +1900,28 @@ class SkipFlagsNameTheSteps(unittest.TestCase):
self.assertEqual(set(re.findall(self.STEP, text)), steps)
class TheInstallerSamplesTravelWithTheManifests(unittest.TestCase):
"""A manifest refresh (c624a820f) went out without the run samples of
wiki/installer.md, which count what the manifests hold, and CI turned
red. The rule lived in no page, and the nightly's commit rules had no
place for the samples the gate's pipeline rewrites."""
def test_the_pages_and_the_nightly_carry_them(self):
import autorun # noqa: PLC0415
guide = (WIKI / "testing-guide.md").read_text(encoding="utf-8")
for name in ("wiki/installer.md", "derivable.json", "generate_installer_doc.py"):
self.assertIn(name, guide)
tools = (WIKI / "tools.md").read_text(encoding="utf-8")
manifests = tools.index("--all --manifest --output-dir install/")
self.assertIn("generate_installer_doc.py", tools[manifests:manifests + 300])
nightly = autorun.load_jobs()["nightly"]
patterns = [p for rule in nightly.commits for p in rule.paths]
for path in ("wiki/installer.md", "derivable.json", "install/retroarch.json"):
with self.subTest(path=path):
self.assertTrue(any(autorun.path_matches(p, path) for p in patterns))
class APlatformListIsDescribedNotJudged(unittest.TestCase):
"""adding-a-platform opened on files a platform's own list "leaves out",
read first by the maintainer of that platform: "does not name" says the
+5 -2
View File
@@ -463,9 +463,12 @@ refactor: extract shared utils to common.py
Files are staged by name, never with `git add -A` or `git add .`, which sweep in
deletions and work that is not yours. Generated artifacts (`database.json`,
`install/*.json`, `README.md`, `CONTRIBUTING.md`, `exports/`) are committed
`derivable.json`, `install/*.json`, `README.md`, `CONTRIBUTING.md`, `exports/`,
the generated tables and run samples of `wiki/installer.md`) are committed
with the data they derive from, never alone: a manifest committed before the
files it points at gives the installer a 404.
files it points at gives the installer a 404. The run samples count what the
manifests hold, so `generate_installer_doc.py` runs after every manifest
regeneration and its output goes in the same commit.
## CI integration
+1
View File
@@ -238,6 +238,7 @@ python scripts/generate_pack.py --all --offline # cache-only, never open t
# Install manifests (consumed by install.py)
python scripts/generate_pack.py --all --manifest --output-dir install/
python scripts/generate_pack.py --manifest-targets --output-dir install/targets/
python scripts/generate_installer_doc.py # run samples of wiki/installer.md, from the manifests
```
Packs include platform baseline files plus files required by the platform's cores.