From 2a0088a0fc03bbe598702aba08da45784a0456c9 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Fri, 6 Nov 2026 08:17:11 +0100 Subject: [PATCH] docs: name the launcher index in installer changes install/launchers/index.json records the SHA-256 of install.py that --add-app checks, and the page listed only the pins of install.sh and install.ps1 as what a change to install.py rewrites. --- tests/test_port.py | 7 +++++++ wiki/installer.md | 5 ++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/test_port.py b/tests/test_port.py index 269d4023e..5c873e84b 100644 --- a/tests/test_port.py +++ b/tests/test_port.py @@ -124,6 +124,13 @@ class LauncherIndex(unittest.TestCase): "install/launchers/index.json is stale: run " "python scripts/generate_launcher_index.py") + def test_the_installer_page_says_when_to_rewrite_it(self): + """The list records install.py's SHA-256, and the page that says + what a change to install.py rewrites named only the two pins.""" + page = (REPO_ROOT / "wiki" / "installer.md").read_text(encoding="utf-8") + section = page.split("## Changing the installer", 1)[1].split("\n## ", 1)[0] + self.assertIn("scripts/generate_launcher_index.py", section) + def test_every_member_of_the_archives_is_listed(self): import generate_launcher_index # noqa: PLC0415 diff --git a/wiki/installer.md b/wiki/installer.md index 73719bf16..afcacf4ef 100644 --- a/wiki/installer.md +++ b/wiki/installer.md @@ -1702,7 +1702,10 @@ a real 3.8 interpreter, which CI installs beside 3.12 so the check cannot skip. The build scripts need 3.9 and are not bound by this. Every change to `install.py` recomputes the SHA-256 pinned in `install.sh` and -`install.ps1` in the same commit. The tests compare the pins with the file. +`install.ps1` in the same commit, and runs `scripts/generate_launcher_index.py`: +`install/launchers/index.json` records the hash of `install.py` that +`--add-app` checks before it writes a launcher on a card. The tests compare +the pins and the list with the file. The tables of options, events, exit codes, keys and card markers, the line menu and the run samples on this page sit between `generated` markers and are