fix: harden release gate and page delivery
Memind CI / Test, build, and release guards (push) Failing after 12m3s
Memind CI / Test, build, and release guards (push) Failing after 12m3s
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env node
|
||||
import { executeReleaseGate, parseRunnerArgs } from '../release-gate/runner.mjs';
|
||||
|
||||
function usage() {
|
||||
console.log(`Usage:
|
||||
node scripts/run-release-gate.mjs --mode <deterministic|scenarios|browser|providers|upgrade|all> --artifact .runtime/portal [--suite-concurrency 4]
|
||||
|
||||
The runner always fails closed. Unknown, skipped, blocked, failed, or unimplemented
|
||||
scenarios make the command exit non-zero. Production hosts are rejected in code.`);
|
||||
}
|
||||
|
||||
try {
|
||||
const options = parseRunnerArgs(process.argv);
|
||||
if (options.help) {
|
||||
usage();
|
||||
process.exit(0);
|
||||
}
|
||||
const { report, outputDir } = await executeReleaseGate(options);
|
||||
const summary = report.summary;
|
||||
console.log(`Release gate report: ${outputDir}`);
|
||||
console.log(JSON.stringify(summary));
|
||||
const passed = summary.failed === 0
|
||||
&& summary.skipped === 0
|
||||
&& summary.blocked === 0
|
||||
&& summary.unknown === 0
|
||||
&& summary.cleanup_failed === 0
|
||||
&& summary.passed + summary.not_applicable === summary.required;
|
||||
process.exit(passed ? 0 : 1);
|
||||
} catch (error) {
|
||||
console.error(`Release gate failed: ${error.message}`);
|
||||
process.exit(1);
|
||||
}
|
||||
Reference in New Issue
Block a user