feat(ci): split artifact builds from deployment
Platform CI tests / QuickStack deploy action tests (push) Successful in 32s
Nuvisphere/Platform-CI: Immutable QuickStack OCI deployment / Build once and deploy exact digest (push) Successful in 34s

This commit is contained in:
2026-08-25 10:58:14 +02:00
parent c8bc0ff58d
commit 7625cab0d3
4 changed files with 148 additions and 4 deletions
@@ -6,6 +6,8 @@ import {
deployExactImage,
expandTokens,
mergeEnvironment,
resolveActionMode,
resolveArtifactIndex,
resolveBuildSecretArguments,
resolveSecretEnvironment,
orderApplications,
@@ -100,6 +102,16 @@ test("production pull requests validate tested candidates without rebuilding", (
);
});
test("validates split action modes and artifact build slots", () => {
assert.equal(resolveActionMode(undefined), "all");
assert.equal(resolveActionMode("BUILD"), "build");
assert.equal(resolveActionMode("coordinate"), "coordinate");
assert.throws(() => resolveActionMode("parallel"), /Unsupported QuickStack action mode/);
assert.equal(resolveArtifactIndex("2"), 2);
assert.throws(() => resolveArtifactIndex("-1"), /non-negative integer/);
assert.throws(() => resolveArtifactIndex("1.5"), /non-negative integer/);
});
test("validates OCI paths and repository-local build paths", () => {
assert.equal(validateTarget({ name: "Web", image: "Owner/Web", appId: "app-1" }).image, "owner/web");
assert.throws(() => validateTarget({ name: "Web", image: "owner/web", appId: "app-1", context: "../secret" }), /inside/);