mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-20 18:59:07 -05:00
feat: the pipeline runs the schema check first
PR validation runs validate_schemas.py --source-only and the pipeline did not, so a profile with an unquoted numeric core name passed every step and failed CI on push. It is step 0 now, skipped where jsonschema is not installed.
This commit is contained in:
1 parent
8a44161810
commit
8bd2d319b2
4 files changed
+33
No files matched your search
@@ -2,6 +2,7 @@
|
||||
"""Run the full retrobios pipeline.
|
||||
|
||||
Steps, numbered as the run prints them:
|
||||
0 validate_schemas.py profiles and platform YAMLs, as PR CI checks them
|
||||
1 generate_db.py --force rebuild database.json from bios/
|
||||
1b provenance_report.py dump-catalog coverage, derivable.json
|
||||
1c romset_recipes.py archive identification, reconstruction targets
|
||||
@@ -39,6 +40,7 @@ from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import contextlib
|
||||
import importlib.util
|
||||
import os
|
||||
import re
|
||||
import subprocess
|
||||
@@ -469,6 +471,20 @@ def main() -> None:
|
||||
total_start = time.monotonic()
|
||||
results = StepResults(total_start)
|
||||
|
||||
# Step 0: the schema check PR validation runs. Without it a profile with
|
||||
# `cores: [81]` unquoted passed the whole pipeline and failed CI on push.
|
||||
# jsonschema is tooling only, so its absence skips the step.
|
||||
if importlib.util.find_spec("jsonschema") is None:
|
||||
print("\n--- 0/8 validate schemas: SKIPPED (jsonschema not installed) ---")
|
||||
results["validate_schemas"] = SKIPPED
|
||||
else:
|
||||
ok, _ = run(
|
||||
[sys.executable, "scripts/validate_schemas.py", "--source-only"],
|
||||
"0/8 validate schemas",
|
||||
)
|
||||
results["validate_schemas"] = ok
|
||||
all_ok = all_ok and ok
|
||||
|
||||
# Step 1: Generate database
|
||||
ok, out = run(
|
||||
[
|
||||
|
||||
Reference in new issue
Block a user