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