Add test for using previous stages as FROM source (#342)

Depends on https://github.com/apple/container-builder-shim/pull/38 and a
new builder image tag
Related to https://github.com/apple/container/issues/334

Signed-off-by: Kathryn Baldauf <k_baldauf@apple.com>
This commit is contained in:
Kathryn Baldauf
2025-07-16 14:35:29 -07:00
committed by GitHub
parent 1707e1b530
commit b2e7cb5e87
2 changed files with 18 additions and 1 deletions
+1 -1
View File
@@ -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",
@@ -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 =