From ae53f7f7077649d25b237cbe85af1bbed1768f09 Mon Sep 17 00:00:00 2001 From: Aidan Gauland Date: Sat, 20 Jun 2026 22:01:17 +1200 Subject: [PATCH] fix: podman-compose build-arg handling getBuildInfoForService assumes build args are in the YAML map form, but podman compose config outputs build args in the YAML list form. Add a type check on composeBuild.args and convert it to key/value object if it's an array. --- src/spec-node/dockerCompose.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/spec-node/dockerCompose.ts b/src/spec-node/dockerCompose.ts index 8093464cc..900dc20ca 100644 --- a/src/spec-node/dockerCompose.ts +++ b/src/spec-node/dockerCompose.ts @@ -6,7 +6,7 @@ import * as yaml from 'js-yaml'; import * as shellQuote from 'shell-quote'; -import { createContainerProperties, startEventSeen, ResolverResult, getTunnelInformation, DockerResolverParameters, inspectDockerImage, getEmptyContextFolder, getFolderImageName, SubstitutedConfig, checkDockerSupportForGPU, isBuildKitImagePolicyError } from './utils'; +import { createContainerProperties, startEventSeen, ResolverResult, getTunnelInformation, DockerResolverParameters, inspectDockerImage, getEmptyContextFolder, getFolderImageName, SubstitutedConfig, checkDockerSupportForGPU, isBuildKitImagePolicyError, envListToObj } from './utils'; import { ContainerProperties, setupInContainer, ResolverProgress } from '../spec-common/injectHeadless'; import { ContainerError } from '../spec-common/errors'; import { Workspace } from '../spec-utils/workspaces'; @@ -144,7 +144,7 @@ export function getBuildInfoForService(composeService: any, cliHostPath: typeof dockerfilePath: (composeBuild.dockerfile as string | undefined) ?? 'Dockerfile', context: (composeBuild.context as string | undefined) ?? cliHostPath.dirname(localComposeFiles[0]), target: composeBuild.target as string | undefined, - args: composeBuild.args as Record | undefined, + args: Array.isArray(composeBuild.args) ? envListToObj(composeBuild.args) : composeBuild.args as Record | undefined, } }; }