Merge pull request 'fix(ci): required buildArgs im QuickStack-App-Payload erhalten' (#7) from codex/quickstack-build-args into main
Platform CI tests / QuickStack deploy action tests (push) Successful in 5s
Nuvisphere/Platform-CI: Immutable QuickStack OCI deployment / Build once and deploy exact digest (push) Successful in 4s

This commit was merged in pull request #7.
This commit is contained in:
2026-10-21 09:58:49 +00:00
2 changed files with 5 additions and 2 deletions
+1 -1
View File
@@ -22,7 +22,7 @@ const APP_FIELDS = [
"containerCommand", "containerArgs", "securityContextRunAsUser",
"securityContextRunAsGroup", "securityContextFsGroup", "securityContextPrivileged",
"gitUrl", "gitBranch", "gitUsername", "gitToken", "dockerfilePath", "replicas",
"envVars", "memoryReservation", "memoryLimit", "cpuReservation", "cpuLimit",
"envVars", "buildArgs", "memoryReservation", "memoryLimit", "cpuReservation", "cpuLimit",
"webhookId", "useNetworkPolicy",
"healthChechHttpGetPath", "healthCheckHttpScheme", "healthCheckHttpHeadersJson",
"healthCheckHttpPort", "healthCheckPeriodSeconds", "healthCheckTimeoutSeconds",
@@ -42,7 +42,7 @@ function app(overrides = {}) {
id: "app-one", name: "One", appType: "APP", projectId: "project-one",
sourceType: "GIT", buildMethod: "DOCKERFILE", containerImageSource: null,
containerRegistryUsername: null, containerRegistryPassword: null, dockerfilePath: "./Dockerfile",
replicas: 1, envVars: "SECRET=preserved\nENVIRONMENT=old", ingressNetworkPolicy: "[]",
replicas: 1, buildArgs: "EXISTING_BUILD_ARG=preserved", envVars: "SECRET=preserved\nENVIRONMENT=old", ingressNetworkPolicy: "[]",
egressNetworkPolicy: "[]", useNetworkPolicy: false, healthCheckPeriodSeconds: 10,
healthCheckTimeoutSeconds: 2, healthCheckFailureThreshold: 3, appDomains: [], appPorts: [],
appNodePorts: [], appFileMounts: [], appVolumes: [], appBasicAuths: [], project: {},
@@ -290,6 +290,8 @@ test("application dependencies reject missing nodes and cycles", () => {
test("preserves response-only fields and existing environment secrets safely", () => {
const payload = toSavePayload(app());
assert.equal(payload.createdAt, undefined);
assert.equal(payload.buildArgs, app().buildArgs);
assert.equal(toSavePayload(app({ buildArgs: "" })).buildArgs, "");
assert.equal(mergeEnvironment(app().envVars, { ENVIRONMENT: "new" }), "SECRET=preserved\nENVIRONMENT=new");
assert.deepEqual(parseEnvironment("SECRET=preserved\nAPP_DEPLOYMENT_ID=source\nENVIRONMENT=new\ninvalid line"), {
SECRET: "preserved",
@@ -384,6 +386,7 @@ test("failed public verification restores and redeploys the previous source", as
getApp: async () => current,
saveApp: async (payload) => {
assert.deepEqual(payload.appNetworkPolicy, original.appNetworkPolicy);
assert.equal(payload.buildArgs, original.buildArgs);
assert.equal(Object.hasOwn(payload, "appPorts"), false);
current = { ...current, ...payload };
},