Commit Graph
77 Commits
Author SHA1 Message Date
Abdessamad Derraz 70f530516d chore: merge pack and resolver fixes 2026-11-07 00:06:15 +01:00
Abdessamad Derraz b9f309940c chore: merge site and docs fixes, fifth pass 2026-11-06 17:15:57 +01:00
Abdessamad Derraz 84cffe3f8d chore: merge origin/main 2026-11-06 16:42:16 +01:00
Abdessamad Derraz a195023d3d chore: run every test class when a file runs alone 2026-11-06 16:01:27 +01:00
Abdessamad Derraz 35be4cf033 fix: compare whole md5 in the folder check
check_platform_folder.py, the script the site publishes, still accepted
a cut md5 by prefix. It now compares whole digests as Batocera does
(batocera-systems:1088), like verify since cut_md5_owner.
2026-11-06 16:01:04 +01:00
Abdessamad Derraz 057fd2d0f6 fix: isolate every test module however it runs
tests/__init__.py keeps a run offline, its scratch under tmp/ and its
installer cache its own, but only discover -s tests -t . imported it.
discover tests ran with RETROBIOS_OFFLINE unset, scratch on the /tmp
tmpfs and the user's real installer cache, the setting in which e2e
fixtures had written into the shared .cache/large. Every test module now
imports the package first, and a test fails on a module that does not.
test_verify_listing.py took its line with the previous commit.
2026-11-06 15:14:05 +01:00
Abdessamad Derraz 093b1b21cf docs: document the commit rules and their hook 2026-11-06 15:00:49 +01:00
Abdessamad Derraz 747d40e988 docs: give the clone command and size for packs 2026-11-06 14:47:47 +01:00
Abdessamad Derraz 7657d4aa02 docs: name where psxonpsp660.bin is not world 2026-11-06 14:43:31 +01:00
Abdessamad Derraz 4d3f589ef4 refactor: drop the archived platform status
RetroPie was the only platform with status: archived, which kept it out
of verify --all, slots, the pipeline and list_platforms unless
--include-archived was typed. release_pack already decides which packs a
release publishes and the installer serves every platform, so the status
set nothing apart. The field, its schema entry and the flag are gone, and
RetroPie is covered by every full run like any other platform.
2026-11-06 11:52:34 +01:00
Abdessamad Derraz 328bfbe53b chore: run the catalog row test from its file
The class sat after unittest.main(), so running test_doc_pages.py on its
own skipped it.
2026-11-06 08:37:16 +01:00
Abdessamad Derraz 5f8205b36b docs: date the Redump DATs instead of judging them
The catalog table called redump.org's DATs stale and said Dat-o-Matic
blocks automation. redump.org serves BIOS DATs dated 2010 to 2022
(Content-Disposition of /datfile/{psx,ps2,gc,xbox}-bios/, read
2026-11-06), and the Redump row named /static/bios links the scraper
replaced with one /bios/<CODE> route per system.
2026-11-06 08:26:22 +01:00
Abdessamad Derraz 302f2a1df9 docs: name launcher records among removal proofs
tools.md listed what keeps a platform entry out of removal_candidates
without the platform's launchers: records, which candidates.py checks
right after a path (_PROOF_ORDER).
2026-11-06 04:07:55 +01:00
Abdessamad Derraz 548a1bc636 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.
2026-11-06 04:06:45 +01:00
Abdessamad Derraz ffc4632bb1 docs: describe a platform list without judging it
adding-a-platform said a platform's list leaves files out. It now says
the files its list does not name.
2026-11-06 04:05:06 +01:00
Abdessamad Derraz 657e3bc55b docs: say what archived means on the RetroPie page
The RetroPie guide note still tied the archived status to a scraping
schedule no tool runs. The doc test now reads _guides.yml too.
2026-11-06 03:51:05 +01:00
Abdessamad Derraz 7b4c03afc2 docs: say what the archived status changes
The README, the setup pages and adding-a-platform tied archived to a
scraping schedule and a CI matrix that do not exist. Archived keeps a
platform out of the runs that cover every platform unless
--include-archived is passed.
2026-11-06 03:20:01 +01:00
Abdessamad Derraz 55ac3162f5 docs: name the slot function the pack reads
architecture.md said the pack and verify decide through slots.arbitrate(),
while a test forbids them to call it: they read slot_choices() through
pack_overrides(). build_claim_index, the name-keyed index the module
docstring described, had no caller outside its own tests.
2026-11-06 03:13:57 +01:00
Abdessamad Derraz b873c6a9fb fix: skip the report excerpt without the assets
The excerpt quotes verify over the whole collection. The PR workflow
restores none of the release assets, so the run there printed other
counts and failed on every push since the engine batch. The test now
names how many assets are absent and skips.
2026-11-06 02:20:14 +01:00
Abdessamad Derraz 49ff682eda chore: merge origin/main 2026-11-05 23:25:48 +01:00
Abdessamad Derraz 54a3876a8b feat: carry the data trees a platform's cores read
A platform pack carried only the trees its own systems declared, so for_platforms reached RetroArch, Lakka and RetroPie alone and every other platform running blueMSX, FBNeo or Dolphin got no tree. The pack, the install list and the pipeline's tree members now add the trees of the libretro cores the platform runs, below the system directory and build folder the core reads, unless the platform installs or never opens them. A platform entry the manifest resolved into a carried tree becomes that tree's member, which the installer can fetch: AmberELEC and EmuELEC no longer hold 192 blueMSX machine configs back. stonesoup reads its tree beside the content and pcee2 compiles its resources in, so neither tree reaches a BIOS pack.
2026-11-05 23:25:29 +01:00
Abdessamad Derraz 0350f42351 chore: merge site and docs batch 2026-11-05 22:22:37 +01:00
Abdessamad Derraz e9ecef6896 docs: name the committed files over 50 MB
release-process.md listed tbblue.mmc, removed from bios/ on 2026-10-20, and left out uqm-remix-disc1.uqm. A test now reads the list against git ls-files.
2026-11-05 19:55:59 +01:00
Abdessamad Derraz 71457078e6 docs: state the cross-reference settlement rule
reading-reports.md said the cross-reference checks whether a profile's files appear in the platform config, a rule by name. Since 2026-10-10 declaration_settles counts a declaration only at the core's slot or at a size the core accepts, and an alias only where the core reads it.
2026-11-05 19:55:39 +01:00
Abdessamad Derraz 911dea8e4c docs: state the size proof slots.py counts
architecture.md said a file found by its name claims nothing. Since 2b535525e slots.py counts such a copy (size_exact) when it has the exact size the profile declares and the platform's file another size, as RetroDECK's sgb2.boot.rom shows.
2026-11-05 19:55:15 +01:00
Abdessamad Derraz 3011ee498e feat: record the build file behind a held pin
pin_frozen was prose, and no tool read the build file it cites, so a platform building another revision left the profile holding one nobody ships. pin_build records the platform, its repository, the revision read, the file, the variable and its value. check_freshness reads the file again where the platform's YAML now stands and reports STALE when the value moved. 36 of the 46 held profiles carry it, each value read from the build file at the platform's scraped revision. The other ten name no build file and are counted on one row: six RetroBat binary packages and four holds not tied to a platform build.
2026-11-05 19:54:48 +01:00
Abdessamad Derraz 6ae9e461bd docs: name the steps the pipeline skip flags skip
--skip-packs said --skip-docs would stop after verify while 4d and 4e still run, and the tools.md flag table left 8b out of --skip-docs. The help, the usage and the flag table now name the steps the step table marks.
2026-11-05 19:16:32 +01:00
Abdessamad Derraz b90f8bb0b9 chore: merge tooling batch 2026-11-05 15:57:19 +01:00
Abdessamad Derraz 3a36350f5c docs: state the .info hash rule one way 2026-11-05 12:19:58 +01:00
Abdessamad Derraz e835c3862e docs: document every version_basis kind and key 2026-11-05 12:19:42 +01:00
Abdessamad Derraz 964812f977 chore: drop review tags from comments
Comments, docstrings and test texts ended on tags that name private review notes no clone holds. The tags go, the facts stay. Test methods named after a finding number are named after what they hold. test_prose_style refuses a tag that comes back. install.py changes in comments only: its pin and the launcher index follow.
2026-11-05 12:19:12 +01:00
Abdessamad Derraz 9c500ff216 docs: describe how a contested slot is decided 2026-11-05 12:18:51 +01:00
Abdessamad Derraz 832b2890d4 docs: say what the unsourceable count is 2026-11-05 12:17:51 +01:00
Abdessamad Derraz 0d60cc19c9 docs: quote the current verify report 2026-11-05 11:54:22 +01:00
Abdessamad Derraz 8d0ba26a0f docs: show --required-only in the README 2026-11-05 11:53:11 +01:00
Abdessamad Derraz 329fcc0f62 docs: name the installer cache and its variable 2026-11-05 11:52:23 +01:00
Abdessamad Derraz 33add072cb chore: merge installer page refresh 2026-11-04 05:52:02 +01:00
Abdessamad Derraz fa9fbbed9e fix: a cited module may be a package
python -m runs a package by its __main__.py: scripts.scraper.romfolders is one.
2026-11-04 05:51:40 +01:00
Abdessamad Derraz 8848f3e6f6 chore: merge tools page refresh 2026-11-04 05:49:49 +01:00
Abdessamad Derraz 058bb13884 docs: list pipeline step 4e
The games index step came in with main. The installer samples test now reads step 7 in the list form the pipeline steps test holds.
2026-11-04 05:45:29 +01:00
Abdessamad Derraz 0bd206da4d chore: merge main into Sony pages 2026-11-04 05:11:58 +01:00
Abdessamad Derraz 1cc12d8e2a docs: which-pack names the folder in fewer words 2026-11-03 14:56:45 +01:00
Abdessamad Derraz 48fa8abf44 chore: audit 24 and 17 cases, host kept out 2026-11-03 10:45:18 +01:00
Abdessamad Derraz 4f7000f66d feat: hold installer pages to the code's words 2026-11-03 10:17:47 +01:00
Abdessamad Derraz 09fd7af35b chore: hold contributor pages to schema and code 2026-11-03 10:14:55 +01:00
Abdessamad Derraz 7f6af11bbd feat: hold wiki commands and steps to the code 2026-11-03 10:12:41 +01:00
Abdessamad Derraz 57e0f306e8 chore: merge games parts and cores ticked
# Conflicts:
#	tests/test_doc_pages.py
2026-10-28 17:23:11 +01:00
Abdessamad Derraz a4faf536dd fix: a games part is its system's card
Closes every finding of code_audit_23 and tui_audit_16: AmberELEC and
EmuELEC cards found as theirs, ArkOS cards told by bgmusic or
launchimages, counts that agree and read a copy of the right size before
calling it in place, one terminal width, line mode in the screen's order
and words, a tap shown armed, and which-pack naming the first screen.
2026-10-28 16:34:55 +01:00
Abdessamad Derraz c1a02ef24f fix: print installer page samples from install.py
The dry run, the Batocera walkthrough and the narrowing line of
wiki/installer.md were typed by hand and went stale with each list.
generate_installer_doc.py now runs install.py against the committed
lists in a sandbox, dated by each list, and the pipeline runs it at
step 7.
2026-10-28 16:22:04 +01:00
Abdessamad Derraz 9314edb0be fix: one vocabulary and one count in both modes
Line mode says the screen's words for the files in place, missing or to
replace, counts the data files in its last line, names what the --from
folders hold before Enter, says Copying and the result's count once, and ends
every result with the same-choice command. Each data tree is hashed once per
run. A wrapped command reads one rule for PowerShell, a pack path keeps its
file name, folder lines keep one indent, and the systems question fits its
terminal. On the screen a tap on the focused Install row arms it, the Game
data row keeps the focus, a choice in place opens on Choose systems, a pack
holding none of the files offers no Install, and the 40x12 plan keeps its
version note.
2026-10-28 14:02:46 +01:00