diff --git a/Package.swift b/Package.swift index 205affc3..585e9802 100644 --- a/Package.swift +++ b/Package.swift @@ -23,7 +23,7 @@ import PackageDescription let releaseVersion = ProcessInfo.processInfo.environment["RELEASE_VERSION"] ?? "0.0.0" let gitCommit = ProcessInfo.processInfo.environment["GIT_COMMIT"] ?? "unspecified" let scVersion = "0.4.1" -let builderShimVersion = "0.3.0" +let builderShimVersion = "0.4.0" let package = Package( name: "container", diff --git a/Tests/CLITests/Subcommands/Build/CLIBuilderTest.swift b/Tests/CLITests/Subcommands/Build/CLIBuilderTest.swift index 8ddcea0c..7101e0d4 100644 --- a/Tests/CLITests/Subcommands/Build/CLIBuilderTest.swift +++ b/Tests/CLITests/Subcommands/Build/CLIBuilderTest.swift @@ -47,6 +47,23 @@ extension TestCLIBuildBase { #expect(try self.inspectImage(imageName) == imageName, "expected to have successfully built \(imageName)") } + @Test func testBuildFromPreviousStage() throws { + let tempDir: URL = try createTempDir() + let dockerfile = + """ + FROM ghcr.io/linuxcontainers/alpine:3.20 AS layer1 + RUN sh -c "echo 'layer1' > /layer1.txt" + + FROM layer1 + CMD ["cat", "/layer1.txt"] + """ + + try createContext(tempDir: tempDir, dockerfile: dockerfile) + let imageName = "registry.local/from-previous-layer:\(UUID().uuidString)" + try self.build(tag: imageName, tempDir: tempDir) + #expect(try self.inspectImage(imageName) == imageName, "expected to have successfully build \(imageName)") + } + @Test func testBuildFromLocalImage() throws { let tempDir: URL = try createTempDir() let dockerfile: String =