mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-01 07:33:45 -06:00
feat: show measurements on the site
Each emulator with records gets a Tested block: claim, result, method, computer, core build and the permalink of its record at the pin. A Measurements page filters every test in the browser from the compact index, and the Data page lists measurements.sqlite with its tables. One SQLite file per emulator is linked from its page. wiki/measurements.md says how a test runs, held to the Start here budgets. Both workflows fetch the pinned commit alone with git before the build, and the deploy fails without it.
This commit is contained in:
1 parent
effa9e332f
commit
087e5b4d73
10 files changed
+926
-16
No files matched your search
@@ -30,6 +30,7 @@ on:
|
||||
- "scripts/largefiles.py"
|
||||
- "scripts/launchers.py"
|
||||
- "scripts/manifestselect.py"
|
||||
- "scripts/measurement_records.py"
|
||||
- "scripts/nativemode.py"
|
||||
- "scripts/packextras.py"
|
||||
- "scripts/packpaths.py"
|
||||
@@ -46,6 +47,7 @@ on:
|
||||
- "scripts/sitediagrams.py"
|
||||
- "scripts/siteguides.py"
|
||||
- "scripts/sitemarkup.py"
|
||||
- "scripts/sitemeasurements.py"
|
||||
- "scripts/siteexports.py"
|
||||
- "scripts/siterender.py"
|
||||
- "scripts/sitesources.py"
|
||||
@@ -55,6 +57,7 @@ on:
|
||||
- "scripts/slots.py"
|
||||
- "scripts/sourceref.py"
|
||||
- "scripts/split_pack.py"
|
||||
- "scripts/sync_measurements.py"
|
||||
- "scripts/truth.py"
|
||||
- "scripts/upstream.py"
|
||||
- "scripts/validate_schemas.py"
|
||||
@@ -69,6 +72,7 @@ on:
|
||||
- "database.json"
|
||||
- "release.json"
|
||||
- "derivable.json"
|
||||
- "measurements-pin.json"
|
||||
# The Starlight project: config, components, styles, lockfile. Its
|
||||
# generated folders are gitignored and never trigger anything.
|
||||
- "website/**"
|
||||
@@ -114,6 +118,18 @@ jobs:
|
||||
|
||||
- run: npm ci --prefix website
|
||||
|
||||
# The core probe records live in Abdess/retrobios-measurements, read
|
||||
# at the commit measurements-pin.json names and never at its head: a
|
||||
# record reaches the site when the pin moves. One shallow fetch of that
|
||||
# commit, with git alone.
|
||||
- name: Clone the measurements at their pin
|
||||
run: |
|
||||
repo=$(python -c "import json; print(json.load(open('measurements-pin.json'))['repo'])")
|
||||
commit=$(python -c "import json; print(json.load(open('measurements-pin.json'))['commit'])")
|
||||
git init -q .cache/measurements
|
||||
git -C .cache/measurements fetch -q --depth 1 "$repo" "$commit"
|
||||
git -C .cache/measurements checkout -q --detach "$commit"
|
||||
|
||||
- name: Validate data contracts
|
||||
run: python scripts/validate_schemas.py
|
||||
|
||||
@@ -133,7 +149,7 @@ jobs:
|
||||
|
||||
- name: Generate site
|
||||
run: |
|
||||
python scripts/generate_site.py
|
||||
python scripts/generate_site.py --require-measurements
|
||||
python scripts/generate_readme.py --db database.json --platforms-dir platforms
|
||||
# starlight-links-validator fails the build on a dead link or anchor.
|
||||
npm run build --prefix website
|
||||
|
||||
@@ -29,6 +29,7 @@ on:
|
||||
- "database.json"
|
||||
- "release.json"
|
||||
- "derivable.json"
|
||||
- "measurements-pin.json"
|
||||
- "website/**"
|
||||
# Spelled out twice because the workflow parser reads no YAML anchor. A test
|
||||
# holds the two lists equal.
|
||||
@@ -53,6 +54,7 @@ on:
|
||||
- "database.json"
|
||||
- "release.json"
|
||||
- "derivable.json"
|
||||
- "measurements-pin.json"
|
||||
- "website/**"
|
||||
|
||||
permissions:
|
||||
@@ -257,11 +259,21 @@ jobs:
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
# The measurement records at their pin, as deploy-site.yml reads them:
|
||||
# the pages and the schema check read the same lines.
|
||||
- name: Clone the measurements at their pin
|
||||
run: |
|
||||
repo=$(python -c "import json; print(json.load(open('measurements-pin.json'))['repo'])")
|
||||
commit=$(python -c "import json; print(json.load(open('measurements-pin.json'))['commit'])")
|
||||
git init -q .cache/measurements
|
||||
git -C .cache/measurements fetch -q --depth 1 "$repo" "$commit"
|
||||
git -C .cache/measurements checkout -q --detach "$commit"
|
||||
|
||||
# The pages are gitignored, and the tests that read them fail
|
||||
# in CI without it. The suite runs whatever this step returned, so a
|
||||
# generator that stops still leaves every other test reporting.
|
||||
- name: Generate the site
|
||||
run: python scripts/generate_site.py
|
||||
run: python scripts/generate_site.py --require-measurements
|
||||
|
||||
- name: Run test suite
|
||||
if: ${{ !cancelled() }}
|
||||
|
||||
Reference in new issue
Block a user