Add offline SQLite database/WAL inspection through the shared CLI/MCP. Use compact inventory, selected-table schema, exact ordered columns and bounded row samples while preserving source identity and lossless values. Retain completed Evidence through late cancellation and private-root cleanup failures, bound concurrent inspections, and recheck journal validity after acquisition. Reuse prepared CI runtime artifacts across supported Node lines. Co-authored-by: Y0UW1SH <29498139+Y0UW1SH@users.noreply.github.com> Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
26 lines
922 B
JavaScript
26 lines
922 B
JavaScript
const jobs = JSON.parse(process.env.CI_JOBS);
|
|
const outputs = jobs.changes.outputs;
|
|
const required = ["changes", "static", "test"];
|
|
const lanes = {
|
|
code: ["build", "test-shard", "sqlite-runtime"],
|
|
runtime: ["windows-native-build", "package-e2e"],
|
|
package: ["windows-curated"],
|
|
apple: ["apple-artifacts"],
|
|
fixtures: ["conformance-fixtures"],
|
|
readiness: ["reconstruction-readiness"],
|
|
docs: ["docs"],
|
|
};
|
|
for (const [scope, value] of Object.entries(outputs)) {
|
|
if (value === "true") required.push(...(lanes[scope] ?? [scope]));
|
|
}
|
|
const failed = [...new Set(required)].filter(
|
|
(name) => jobs[name]?.result !== "success",
|
|
);
|
|
for (const [name, job] of Object.entries(jobs)) {
|
|
if (["failure", "cancelled"].includes(job.result) && !failed.includes(name))
|
|
failed.push(name);
|
|
}
|
|
if (failed.length)
|
|
throw new Error(`CI lanes did not pass: ${failed.join(", ")}`);
|
|
console.log("Every selected CI lane passed");
|