Skip to content

Commit b2e7cb5

Browse files
Add test for using previous stages as FROM source (#342)
Depends on apple/container-builder-shim#38 and a new builder image tag Related to #334 Signed-off-by: Kathryn Baldauf <k_baldauf@apple.com>
1 parent 1707e1b commit b2e7cb5

2 files changed

Lines changed: 18 additions & 1 deletion

File tree

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import PackageDescription
2323
let releaseVersion = ProcessInfo.processInfo.environment["RELEASE_VERSION"] ?? "0.0.0"
2424
let gitCommit = ProcessInfo.processInfo.environment["GIT_COMMIT"] ?? "unspecified"
2525
let scVersion = "0.4.1"
26-
let builderShimVersion = "0.3.0"
26+
let builderShimVersion = "0.4.0"
2727

2828
let package = Package(
2929
name: "container",

Tests/CLITests/Subcommands/Build/CLIBuilderTest.swift

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,23 @@ extension TestCLIBuildBase {
4747
#expect(try self.inspectImage(imageName) == imageName, "expected to have successfully built \(imageName)")
4848
}
4949

50+
@Test func testBuildFromPreviousStage() throws {
51+
let tempDir: URL = try createTempDir()
52+
let dockerfile =
53+
"""
54+
FROM ghcr.io/linuxcontainers/alpine:3.20 AS layer1
55+
RUN sh -c "echo 'layer1' > /layer1.txt"
56+
57+
FROM layer1
58+
CMD ["cat", "/layer1.txt"]
59+
"""
60+
61+
try createContext(tempDir: tempDir, dockerfile: dockerfile)
62+
let imageName = "registry.local/from-previous-layer:\(UUID().uuidString)"
63+
try self.build(tag: imageName, tempDir: tempDir)
64+
#expect(try self.inspectImage(imageName) == imageName, "expected to have successfully build \(imageName)")
65+
}
66+
5067
@Test func testBuildFromLocalImage() throws {
5168
let tempDir: URL = try createTempDir()
5269
let dockerfile: String =

0 commit comments

Comments
 (0)