Commit Graph
17 Commits
Author SHA1 Message Date
Abdessamad Derraz 9dd770f4bf fix: retry a bad data download, keep the site step
The buildbot answered once with something that was not ScummVM.zip. refresh_data_dirs gave up at once, Generate the site was skipped, and 228 site tests failed in its place. A failed or unreadable download is now tried three times, with waits of 5 and 20 s, and an empty archive still fails at once. The site step runs after a failed fetch, which stays red on its own step.
2026-10-28 12:33:23 +01:00
Abdessamad Derraz 9c07dabfae refactor: one proof line per claim
Records that back the same field or issue claim share one line. Each
line says what the runs showed: the BIOS the core ran, the file strace
saw opened, or what a maintainer watched in an issue's run
(tests/campaign/observations.yml). A run with nothing to state stays
off the page.
2026-10-28 08:08:16 +01:00
Abdessamad Derraz f9f688ae6e fix: hold the probes to the repository checks
The new probes now refuse abbreviated options, read the GitHub token through github_headers, type every signature and document every option. The site build watches region_check.py and the content list, and validate.yml's tests/** counts as watching the list. The testing guide names the two new test modules.
2026-10-27 17:05:10 +01:00
Abdessamad Derraz 123d698e43 feat: build the site with Astro Starlight
generate_site.py writes the Starlight project in website/ and nothing
else: mkdocs.yml, the MkDocs hooks, theme overrides and stylesheet go,
and the wiki is written in Starlight's syntax. Both workflows set up
Node with the official actions/setup-node pinned by commit, run npm ci
from the committed lockfile, build with the strict link validator and
check the result with validate_site.py.

The search weighs a page by what it answers: Start here pages first,
a system page's cards and file names before a guide citing them, deep
guides, launchers, aliases and frozen copies after. Status badges,
hash blocks and the export change lists leave the index. The ranking
sits at the centre of a range where the 13 queries of search_gate.py
all answer, in the search box itself.

839 pages, every URL and 45,611 ids match the MkDocs build. The tests
read the Starlight content and syntax.
2026-10-22 18:47:22 +02:00
Abdessamad Derraz 7a120d7a51 fix: generate the site before CI runs the suite
docs/ is gitignored and was built after the tests, so the three guards
that read rendered pages skipped on every CI run. The site is generated
first, the suite runs whatever that step returns, and the guards fail
in CI when the pages are absent.
2026-10-21 09:59:22 +02:00
Abdessamad Derraz fbc8b1877e fix: build the site in pull request validation
mkdocs was installed by the deploy alone, after the merge, and wiki/
was not a validation path: a dead link or a stray heading failed the
deploy on main with nothing in front of it. The test job now runs the
deploy's site build, and every site input triggers validation.
2026-10-21 05:08:37 +02:00
Abdessamad Derraz 4231902a6c docs: write prose without dashes or semicolons
Profiles, the wiki, comments, docstrings, command output and schema descriptions carried em-dashes, clause-joining semicolons, unicode arrows, box-drawing banners and check-mark glyphs. Each sentence was rewritten rather than having its character swapped. Hashes, paths, source_ref values and every cited file:line are unchanged, which a comparison of each parsed profile against the previous revision confirms.

validate_pr comments now say PASS and FAIL in words, and source_ref values in a profile's structured blocks render as code. test_prose_style fails if any of these comes back, in tracked files or in the generated site.
2026-10-19 06:47:31 +02:00
Abdessamad Derraz 04deb95a35 docs: give every command-line option a help text 2026-10-19 04:23:34 +02:00
Abdessamad Derraz 4bfe4eef2c docs: name both methods a scraper must define 2026-10-19 04:16:52 +02:00
Abdessamad Derraz 0af103542d docs: describe the variant search the code runs 2026-10-19 04:16:25 +02:00
Abdessamad Derraz afb5c4e8c1 docs: document every profile field and validation 2026-10-19 04:15:50 +02:00
Abdessamad Derraz 7895657747 docs: name the new-profile check CI runs 2026-10-19 04:14:44 +02:00
Abdessamad Derraz c229daac3a refactor: move the source_ref grammar out of sync
The site imported two parsing functions from profile_sync, so every change to the comparison tool redeployed an unchanged site. The grammar now lives in sourceref.py.
2026-10-18 20:38:47 +02:00
Abdessamad Derraz bd75defb61 fix: date sitemap entries from their pages
The sitemap gave every page the build date. A page now states its own date
and a mkdocs hook passes it on, or leaves lastmod out. The values added to
the site's code spans today are also escaped: a backtick in a profile or
file name could close the span and inject markup.
2026-10-18 10:08:18 +02:00
Abdessamad Derraz 168e569b11 chore: trigger the site only on its own inputs
The site deploy still triggered on seven scripts it stopped importing
when the pack and site modules were split, and on the test suite it
never runs, so a builder-only push rebuilt the site for nothing. The
triggers now match the build's import closure in both directions.
2026-10-18 04:16:14 +02:00
Abdessamad Derraz 5c89ac6edc docs: name jsonschema where the build needs it 2026-10-06 09:46:10 +02:00
Abdessamad Derraz d3e02c8c5e fix: redeploy the site on any script it imports 2026-10-06 05:23:27 +02:00