From a1d0ebbb0edaa27450a3816c95fcac7957d0a564 Mon Sep 17 00:00:00 2001 From: Dotta Date: Wed, 9 Sep 2026 16:40:55 -0500 Subject: [PATCH] test(runner): validate nested provider-pack export layout --- tests/runner-e2e/daytona-image.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/runner-e2e/daytona-image.test.ts b/tests/runner-e2e/daytona-image.test.ts index ff629ade20..8c492ee085 100644 --- a/tests/runner-e2e/daytona-image.test.ts +++ b/tests/runner-e2e/daytona-image.test.ts @@ -168,7 +168,8 @@ describe("runner E2E Daytona image contract", () => { it("exports the canonical provider stage without a mutable base or recursive builder", async () => { const dockerfile = await readFile(path.join(repositoryRoot, "docker/daytona-runner/Dockerfile"), "utf8"); - expect(dockerfile).toContain("FROM scratch AS provider-pack-export\nCOPY --from=provider-pack-build /provider-pack /"); + const exportStage = dockerfile.split(/^FROM /m).find((stage) => stage.startsWith("scratch AS provider-pack-export\n")); + expect(exportStage).toMatch(/^COPY --from=provider-pack-build \/provider-pack \/provider-pack$/m); expect(extractDaytonaBaseImages(dockerfile)).not.toContain("scratch"); expect(() => extractDaytonaBaseImages("FROM node:latest\nFROM scratch AS exported")).toThrow("immutable"); const builder = await readFile(path.join(repositoryRoot, "packages/paperclip-runner/scripts/build-provider-pack.mjs"), "utf8");