pr_ready: work out the affected harnesses once, not once per harness

affected_here called parity.affected_harnesses inside the filter, once for
each of the 343 harnesses. Since the selection reads the Rust items each
probe reaches (#1964) one call takes about a minute and a half, so
pr_ready sat for hours before its first step.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Ludovic Marie
2026-10-26 01:31:38 +01:00
parent b3149d43ef
commit bdbf67ef93
+2 -1
View File
@@ -164,7 +164,8 @@ def affected_here(changed):
(parity.SHARED / "dependencies" / f"{name}.json").exists() for name in found)
if not known and not changed & parity.SHARED_INPUTS:
return None
return harness_names(name for name in found if name in parity.affected_harnesses(found, records, changed))
affected = parity.affected_harnesses(found, records, changed)
return harness_names(name for name in found if name in affected)
def short_list(names, limit=12):