From 49bd7e4edc187e5ddc433bc96607619498ac828f Mon Sep 17 00:00:00 2001 From: Tonis Tiigi Date: Mon, 7 Apr 2025 14:14:40 -0700 Subject: [PATCH] bake: fix platforms field in compose yaml Signed-off-by: Tonis Tiigi --- bake/compose.go | 1 + bake/compose_test.go | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/bake/compose.go b/bake/compose.go index 523d52cdd950..931fec36281e 100644 --- a/bake/compose.go +++ b/bake/compose.go @@ -177,6 +177,7 @@ func ParseCompose(cfgs []composetypes.ConfigFile, envs map[string]string) (*Conf CacheFrom: cacheFrom, CacheTo: cacheTo, NetworkMode: networkModeP, + Platforms: s.Build.Platforms, SSH: ssh, Secrets: secrets, ShmSize: shmSize, diff --git a/bake/compose_test.go b/bake/compose_test.go index 82182cc18973..7619fc7ab768 100644 --- a/bake/compose_test.go +++ b/bake/compose_test.go @@ -463,6 +463,21 @@ services: require.NoError(t, err) } +func TestPlatforms(t *testing.T) { + dt := []byte(` +services: + foo: + build: + context: . + platforms: + - linux/amd64 + - linux/arm64 +`) + c, err := ParseCompose([]composetypes.ConfigFile{{Content: dt}}, nil) + require.NoError(t, err) + require.Equal(t, []string{"linux/amd64", "linux/arm64"}, c.Targets[0].Platforms) +} + func newBool(val bool) *bool { b := val return &b