Commit Graph
1002 Commits
Author SHA1 Message Date
Abdessamad Derraz 1a96853aee feat: sign the release checksum list
SHA256SUMS.txt sat beside the artifacts it vouches for, so whoever could
rewrite a release rewrote the list with it. The packs were already
reproducible, which answers corruption and lets a third party rebuild an
archive byte for byte; nothing answered a rewritten release.

The list is now signed with an ed25519 key kept for this alone, and the
public half is allowed_signers at the repository root, so verification
does not go through the release page: ssh-keygen -Y verify against the
committed file, then sha256sum --check. Rehearsed on all three outcomes:
a good signature, a tampered pack caught by the sums, a rewritten list
caught by the signature.

The release steps sign and upload the signature, the README points a
downloader at the procedure, and the reproducibility section says what
each half proves. Rotation keeps retired lines so past releases stay
verifiable. Three tests hold the trust root, the signing step and the
documented principal in agreement.
2026-09-04 14:01:05 +02:00
Abdessamad Derraz 5587c25675 fix: run the suite on both roads into main
validate.yml triggered on pull_request alone, and it holds the only
unittest invocation in the repository: deploy-site.yml stops at
validate_schemas, generation and the freshness diff. Work lands on main
by direct push far more often than by pull request, so 1,318 cases were
guarding the road almost nothing takes.

The suite and the schema check now run on both events. validate-bios and
label-pr read pull request context and carry an event guard. The
concurrency group falls back to the ref, so a push series collapses to
the tip: what stays verified is the head of main.

The path lists are spelled out per event because the workflow parser
reads no YAML anchor, which PyYAML would have accepted in silence. Four
tests hold the wiring: the suite reachable from a push, the two path
lists equal, every job reading pull request context guarded, and no
anchor in any workflow.
2026-09-04 13:40:11 +02:00
Abdessamad Derraz 60c723a3bf docs: name the files adler32 belongs to
The field reference carried the same attribution the FAQ did:
known_hash_adler32 described as Dolphin's IPL files, when dolphin.yml
declares it on dsp_rom.bin and dsp_coef.bin. The guard now scans every
wiki page rather than the FAQ alone.
2026-09-04 11:43:38 +02:00
Abdessamad Derraz fe77535c3b fix: state one catalog ratio, correct the faq
The home page and the stats export counted every file carrying a
provenance record, the provenance page and the README only the system
files. The site published 553 and 566 for the same quantity, one click
apart, and the export paired the wider count with composition.systems as
its denominator. common.count_catalog_matched is now the single source,
scoped to the systems bucket.

The FAQ had drifted from the profiles it describes: MAME pinned at 0.287
against 0.289 in mame.yml, Adler-32 attributed to Dolphin's IPL rather
than the DSP ROMs that carry known_hash_adler32, and the per-emulator
verbose report named as the only content check on an existence platform,
which skips the DISCREPANCY line the platform report raises itself.

Tests read both sides: no generator may count matches inline, and each
FAQ claim is checked against the profile or the script that owns it.
2026-09-04 11:41:17 +02:00
Abdessamad Derraz 022888e9ea docs: name the two sizes a pack has 2026-09-04 10:19:04 +02:00
Abdessamad Derraz ee6e7558f9 refactor: assign each module constant once 2026-09-04 10:19:04 +02:00
Abdessamad Derraz 626c012a6b docs: document split packs and region filtering 2026-09-04 10:18:14 +02:00
Abdessamad Derraz 361b958f41 feat: download packs published as split volumes 2026-09-04 10:18:14 +02:00
Abdessamad Derraz d368b37165 docs: surface region filtering in the readme 2026-09-04 08:31:05 +02:00
Abdessamad Derraz 11c4a6a945 docs: answer the installer questions on the page 2026-09-04 08:31:05 +02:00
Abdessamad Derraz b1d1eeab06 docs: give the installer a page of its own 2026-09-04 06:55:23 +02:00
Abdessamad Derraz f2346d6001 docs: keep only the latest release 2026-09-04 04:40:50 +02:00
Abdessamad Derraz 9669ae06d2 docs: publish a release only once its assets are up 2026-09-04 04:16:58 +02:00
Abdessamad Derraz 7ff6ea20d1 docs: one pack per platform, the complete one 2026-09-04 04:10:15 +02:00
Abdessamad Derraz 26df60db75 chore: build releases locally, retire the ci build 2026-09-04 03:37:01 +02:00
Abdessamad Derraz 3d7852cdb7 chore: refuse a busy output before any work 2026-09-04 03:11:11 +02:00
Abdessamad Derraz 3adb34d322 fix: let a run name its host os 2026-09-04 02:57:46 +02:00
Abdessamad Derraz e2863b13ca chore: regenerate database, manifests and readme 2026-09-03 23:21:17 +02:00
Abdessamad Derraz 0cff7f1156 fix: serve the drop mame4droid 0.139 pins 2026-09-03 23:21:17 +02:00
Abdessamad Derraz 3e6e7690de chore: read skyline from its archived revision 2026-09-03 22:45:17 +02:00
Abdessamad Derraz 38820416e4 feat: collect project64 cheats, languages and scsi rom 2026-09-03 22:43:58 +02:00
Abdessamad Derraz 1f5f18219f feat: collect the sound canvas va engine and data 2026-09-03 22:42:12 +02:00
Abdessamad Derraz 59d3b0683a refactor: let cached branch tips expire 2026-09-03 22:29:48 +02:00
Abdessamad Derraz b362d81910 feat: profile hatari on main and hatarib 2026-09-03 22:28:59 +02:00
Abdessamad Derraz ce739761fb feat: collect the x68030 and xm6 typeg data files 2026-09-03 22:26:09 +02:00
Abdessamad Derraz 1ede72edb7 feat: collect apple iie, atari and multiface roms 2026-09-03 22:18:28 +02:00
Abdessamad Derraz 6ccba5e31f feat: collect mister, namco 246 and apple iie roms 2026-09-03 22:14:35 +02:00
Abdessamad Derraz 20da2e1bca feat: derive the six ctf sc-55mkii program roms 2026-09-03 22:08:13 +02:00
Abdessamad Derraz f62e986192 docs: keep the abc note inside its entry 2026-09-03 22:06:51 +02:00
Abdessamad Derraz 3c85f51314 feat: profile nuance, pcee2 and pokketstation 2026-09-03 22:06:30 +02:00
Abdessamad Derraz df7346b3e0 docs: say which built-ins the derived files export 2026-09-03 22:06:30 +02:00
Abdessamad Derraz cbb81fb176 feat: collect desktop emulator bundle files 2026-09-03 22:05:27 +02:00
Abdessamad Derraz 8c686dee48 feat: profile nine new buildbot cores 2026-09-03 22:04:14 +02:00
Abdessamad Derraz cad82f9103 fix: serve the drop mame4droid 2024 pins 2026-09-03 22:04:14 +02:00
Abdessamad Derraz 3efe87f42b feat: collect the fpse, epsxe and mastergear assets 2026-09-03 22:04:14 +02:00
Abdessamad Derraz de1b4c4e6a refactor: resolve subproject paths by suffix 2026-09-03 21:54:47 +02:00
Abdessamad Derraz 068b66de89 feat: collect dos printer fonts and xbox keys 2026-09-03 21:54:29 +02:00
Abdessamad Derraz 131d133025 chore: keep the zoneinfo aliases out of dedup 2026-09-03 21:49:42 +02:00
Abdessamad Derraz 2fec61a7d3 feat: collect the swf player, skyline and super3 assets 2026-09-03 21:48:24 +02:00
Abdessamad Derraz c1835d15ae refactor: judge binary and linked citations 2026-09-03 21:48:23 +02:00
Abdessamad Derraz 39f61d0527 chore: refresh platform lists and targets by hand 2026-09-03 18:08:02 +02:00
Abdessamad Derraz 47e25138b2 feat: name the two mednafen files a setting points at 2026-09-03 17:53:32 +02:00
Abdessamad Derraz 562e3fb20c feat: serve the pc engine cards to turbografx-cd 2026-09-03 17:51:34 +02:00
Abdessamad Derraz 1b3575fa48 feat: add the 48k cpc images and disk ii p6 rom 2026-09-03 17:51:34 +02:00
Abdessamad Derraz 75f4542ea8 refactor: scope validation to a platform's cores 2026-09-03 17:51:34 +02:00
Abdessamad Derraz b4b925ebff fix: name the rustation images by their hashes 2026-09-03 17:51:08 +02:00
Abdessamad Derraz 3d9df87dd0 fix: follow linked dirs and ask for a platform 2026-09-03 17:51:08 +02:00
Abdessamad Derraz d66e891051 chore: retire the weekly platform sync 2026-09-03 17:34:22 +02:00
Abdessamad Derraz 4da8eaa0b1 feat: declare the upstream names of 26 profiles
Each name is attested by a buildbot .info file, a hardware target core
list or an ES-DE find rule. Two of them resolved to no profile at all:
dosbox_staging, declared by Batocera on three targets, and
freeintvtsoverlay, shipped as FreeIntvTSOverlay_libretro.info.

vba_m keeps no cores list: no upstream calls it that. It is a legacy key
folded into vbam, which already carries the buildbot name vba-m.
2026-08-23 18:06:22 +02:00
Abdessamad Derraz 81c7093834 feat: resolve bare paths in the xenios profile
Re-read at 87b176a: refs anchored from the repo root, locale bundle
loader, spa.bin resolution in the content manager, iOS patch export and
embedded.mobileprovision.
2026-08-23 17:16:11 +02:00