diff --git a/Package.resolved b/Package.resolved index 2ae54a2b..3a6e34f2 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "ee0892935fd158d90844c467fb84568e8fd24f3fe7b04d49504fdf99e6322df6", + "originHash" : "544a30d2ac05eddd41c7f5cf38fdf0599550a026c40495d7dd16dfbfc302f7f8", "pins" : [ { "identity" : "async-http-client", @@ -15,8 +15,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/apple/containerization.git", "state" : { - "revision" : "d0383eb5bf97f27bceb51538597194b020bc8945", - "version" : "0.10.0" + "revision" : "e283e023ab42f7bcda6d7d31d5dd61336efaeccc", + "version" : "0.10.1" } }, { diff --git a/Package.swift b/Package.swift index 679c12f0..4b29c405 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 builderShimVersion = "0.6.1" -let scVersion = "0.10.0" +let scVersion = "0.10.1" let package = Package( name: "container", diff --git a/Sources/ContainerCommands/Builder/BuilderStart.swift b/Sources/ContainerCommands/Builder/BuilderStart.swift index 56abd546..805dbcfc 100644 --- a/Sources/ContainerCommands/Builder/BuilderStart.swift +++ b/Sources/ContainerCommands/Builder/BuilderStart.swift @@ -148,20 +148,6 @@ extension Application { let id = "buildkit" try ContainerClient.Utility.validEntityName(id) - let processConfig = ProcessConfiguration( - executable: "/usr/local/bin/container-builder-shim", - arguments: shimArguments, - environment: [], - workingDirectory: "/", - terminal: false, - user: .id(uid: 0, gid: 0) - ) - - let resources = try Parser.resources( - cpus: cpus, - memory: memory - ) - let image = try await ClientImage.fetch( reference: builderImage, platform: builderPlatform, @@ -178,12 +164,28 @@ extension Application { platform: builderPlatform, progressUpdate: ProgressTaskCoordinator.handler(for: unpackTask, from: progressUpdate) ) - let imageConfig = ImageDescription( + + let imageDesc = ImageDescription( reference: builderImage, descriptor: image.descriptor ) - var config = ContainerConfiguration(id: id, image: imageConfig, process: processConfig) + let imageConfig = try await image.config(for: builderPlatform).config + let processConfig = ProcessConfiguration( + executable: "/usr/local/bin/container-builder-shim", + arguments: shimArguments, + environment: imageConfig?.env ?? [], + workingDirectory: "/", + terminal: false, + user: .id(uid: 0, gid: 0) + ) + + let resources = try Parser.resources( + cpus: cpus, + memory: memory + ) + + var config = ContainerConfiguration(id: id, image: imageDesc, process: processConfig) config.resources = resources config.mounts = [ .init(