Allow dashboard aggregate quality commands through the pnpm script boundary. - Normalize pnpm’s leading argument separator before validating runner options - Add end-to-end aggregate and fail-fast quality-runner coverage with a deterministic fixture - Document aggregate quality-runner invocation and failure reporting Files changed: docs/testing.md | 15 ++++ packages/dashboard/scripts/__tests__/quality-runner-fixture.mjs | 18 +++++ packages/dashboard/scripts/__tests__/run-quality-tests.test.ts | 88 ++++++++++++++++++++++ packages/dashboard/scripts/run-quality-tests.mjs | 23 ++++-- 4 files changed, 139 insertions(+), 5 deletions(-) Fusion-Task-Id: FN-8714 Fusion-Task-Lineage: 48dbd434-a9e6-4283-8658-cbaa254a7dc7 Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
19 lines
652 B
JavaScript
19 lines
652 B
JavaScript
#!/usr/bin/env node
|
|
|
|
import { appendFileSync } from "node:fs";
|
|
import process from "node:process";
|
|
|
|
const projectIndex = process.argv.indexOf("--project");
|
|
const project = process.argv[projectIndex + 1] ?? "unknown-project";
|
|
|
|
if (process.env.FUSION_DASHBOARD_QUALITY_LANE_LOG) {
|
|
appendFileSync(process.env.FUSION_DASHBOARD_QUALITY_LANE_LOG, `${project}\n`);
|
|
}
|
|
|
|
if (process.env.FUSION_DASHBOARD_QUALITY_SIGNAL_PROJECT === project) {
|
|
process.kill(process.pid, "SIGTERM");
|
|
}
|
|
|
|
const failedProjects = new Set((process.env.FUSION_DASHBOARD_QUALITY_FAIL_PROJECTS ?? "").split(",").filter(Boolean));
|
|
process.exitCode = failedProjects.has(project) ? 1 : 0;
|