From 5af057f4b3a8455496e476a4880c98439e9d3467 Mon Sep 17 00:00:00 2001 From: cristian64 Date: Fri, 18 Sep 2026 21:05:09 +0100 Subject: [PATCH] CI: Skip symbols order check if object not marked as complete. When working on a translation unit, it is not rare that other `.cpp` files have to be touched, even though those files have not been worked on and therefor are not expected to have all the symbols defined yet, or in the right order. This change is to skip objects that have not yet been marked as complete, as that makes fail PR checks fail in the CI. --- tools/check-changed-symbol-order.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/tools/check-changed-symbol-order.py b/tools/check-changed-symbol-order.py index 88f09a52..ce525c14 100644 --- a/tools/check-changed-symbol-order.py +++ b/tools/check-changed-symbol-order.py @@ -36,9 +36,17 @@ def source_to_unit() -> dict: units = json.load(f).get("units", []) out = {} for u in units: - sp = u.get("metadata", {}).get("source_path") - if sp: - out[norm(sp)] = (u["name"], u.get("base_path", "")) + metadata = u.get("metadata", {}) + if not metadata: + continue + sp = metadata.get("source_path") + if not sp: + continue + out[norm(sp)] = ( + u["name"], + u.get("base_path", ""), + metadata.get("complete", False), + ) return out @@ -58,11 +66,15 @@ def main(argv) -> int: print(f"skip {f} (not a tracked decomp unit)") skipped.append(f) continue - unit, base = entry + unit, base, complete = entry if base and not os.path.exists(os.path.join(root_dir, base)): print(f"skip {f} ({unit}: object not built)") skipped.append(f) continue + if not complete: + print(f"skip {f} ({unit}: object not marked as complete)") + skipped.append(f) + continue print(f"\n{'=' * 72}\n{f} -> {unit}\n{'=' * 72}") rc = subprocess.run([sys.executable, VALIDATOR, "-u", unit],