Publish Clusterflux 45bbc21
This commit is contained in:
parent
eb1077f380
commit
3f88254c70
28 changed files with 896 additions and 167 deletions
|
|
@ -159,6 +159,11 @@ function staleEvidence(file, currentSourceCommit) {
|
|||
|
||||
assert(fs.existsSync(manifestPath), `missing public release manifest: ${manifestPath}`);
|
||||
const manifest = readJson(manifestPath);
|
||||
for (const asset of manifest.assets ?? []) {
|
||||
asset.file = path.isAbsolute(asset.file)
|
||||
? asset.file
|
||||
: path.resolve(path.dirname(manifestPath), asset.file);
|
||||
}
|
||||
const currentSourceCommit = expectedSourceCommit();
|
||||
const currentTreeStatus = commandOutput("git", ["status", "--short"]) || "";
|
||||
assert.strictEqual(
|
||||
|
|
@ -233,6 +238,20 @@ assert(
|
|||
manifest.final_evidence && manifest.final_evidence.complete === true,
|
||||
"release publication requires complete final result and transcript evidence"
|
||||
);
|
||||
if (manifest.candidate_configuration_identity) {
|
||||
assert.strictEqual(
|
||||
finalResult.release_binding.configuration.evidence_identity,
|
||||
manifest.candidate_configuration_identity,
|
||||
"live configuration identity differs from the candidate binding"
|
||||
);
|
||||
}
|
||||
if (manifest.candidate_proxy_configuration_identity) {
|
||||
assert.strictEqual(
|
||||
finalResult.release_binding.proxy_configuration.evidence_identity,
|
||||
manifest.candidate_proxy_configuration_identity,
|
||||
"live proxy configuration identity differs from the candidate binding"
|
||||
);
|
||||
}
|
||||
const evidenceAsset = manifest.assets.find((asset) =>
|
||||
asset.name.startsWith("clusterflux-public-evidence-")
|
||||
);
|
||||
|
|
@ -289,11 +308,17 @@ assert.deepStrictEqual(
|
|||
);
|
||||
assert.strictEqual(finalResult.acceptance_result, "passed");
|
||||
assert.deepStrictEqual(finalResult.scenario_skips, []);
|
||||
assert(
|
||||
finalResult.release_binding?.deployment &&
|
||||
finalResult.release_binding?.configuration &&
|
||||
finalResult.release_binding?.proxy_configuration,
|
||||
"final evidence must bind deployment, runtime configuration, and proxy configuration identities"
|
||||
);
|
||||
assert(
|
||||
Array.isArray(finalResult.named_scenarios) &&
|
||||
finalResult.named_scenarios.length === 16 &&
|
||||
finalResult.named_scenarios.length === 25 &&
|
||||
finalResult.named_scenarios.every((scenario) => scenario.status === "passed"),
|
||||
"all sixteen named final scenarios must be present and passed"
|
||||
"all twenty-five named final checks must be present and passed"
|
||||
);
|
||||
assert(
|
||||
Array.isArray(finalResult.strict_requirement_ledger) &&
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue