feat(web): add incremental modifier reader batch
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled

This commit is contained in:
mes123456
2026-09-03 13:30:30 +08:00
parent 646e580b94
commit c3cce050f8
24 changed files with 9295 additions and 57 deletions

View File

@@ -62,8 +62,15 @@ const reusableProductionEvidence = () => {
try { evidence = json(evidencePath); }
catch { return null; }
if (evidence.task !== task || evidence.browser !== "chromium" || evidence.queueMutation !== false
|| evidence.error !== undefined || evidence.saveReopenExact !== true || evidence.deterministicExact !== true) return null;
if (!evidence.fixture || !fs.existsSync(abs(evidence.fixture)) || evidence.fixtureSha256 !== sha(evidence.fixture)) return null;
|| evidence.error !== undefined) return null;
const fixturePaths = Array.isArray(evidence.fixtures) ? evidence.fixtures : evidence.fixture ? [evidence.fixture] : [];
if (!fixturePaths.length) return null;
const fixtureEvidence = Array.isArray(evidence.fixtures) ? fixturePaths.map((fixture) => evidence[fixture]) : [evidence];
if (fixtureEvidence.some((entry) => !entry || entry.error !== undefined || entry.saveReopenExact !== true || entry.deterministicExact !== true)) return null;
if (Array.isArray(evidence.fixtures)) {
if (!evidence.fixtureSha256 || typeof evidence.fixtureSha256 !== "object") return null;
if (fixturePaths.some((fixture) => !fs.existsSync(abs(fixture)) || evidence.fixtureSha256[fixture] !== sha(fixture))) return null;
} else if (!fs.existsSync(abs(evidence.fixture)) || evidence.fixtureSha256 !== sha(evidence.fixture)) return null;
const expectedUnits = record.module.coverageBindings ?? [];
if (expectedUnits.length && !sameIds(evidence.sourceUnits, expectedUnits)) return null;
if (!fs.existsSync(abs(reportPath))) return null;