feat(ql3): rehearse exact local upgrade cutover

This commit is contained in:
whyour
2026-08-30 22:05:04 +08:00
parent 784e77a971
commit 93b45ca62d
16 changed files with 539 additions and 36 deletions
+6 -1
View File
@@ -206,7 +206,7 @@ function finalizeOptions(paths) {
test('finalizes two exact native trial kits into one closed milestone index', (t) => {
const paths = fixture(t);
const manifest = finalizeLocalAlphaMilestone(finalizeOptions(paths));
assert.equal(manifest.schema, 'qinglong/alpha-local-milestone@v4');
assert.equal(manifest.schema, 'qinglong/alpha-local-milestone@v5');
assert.match(
manifest.artifacts.amd64.upgradeReadinessSha256,
/^sha256:[0-9a-f]{64}$/,
@@ -215,6 +215,10 @@ test('finalizes two exact native trial kits into one closed milestone index', (t
manifest.artifacts.amd64.upgradeRehearsalSha256,
/^sha256:[0-9a-f]{64}$/,
);
assert.match(
manifest.artifacts.amd64.upgradeCutoverRehearsalSha256,
/^sha256:[0-9a-f]{64}$/,
);
assert.equal(manifest.variant, 'headless');
assert.equal(manifest.sourceRevision, revision);
assert.deepEqual(Object.keys(manifest.artifacts), ['amd64', 'arm64']);
@@ -243,6 +247,7 @@ test('finalizes two exact native trial kits into one closed milestone index', (t
assert.equal(report.workflowRunId, runId);
assert.equal(report.workflowRunAttempt, runAttempt);
assert.equal(report.variant, 'headless');
assert.equal(report.schema, 'qinglong/alpha-local-milestone-audit@v5');
});
test('finalizes Console trial kits as a separately named milestone', (t) => {