From c294b1533945382f5b1e72916a4a27026953c89b Mon Sep 17 00:00:00 2001 From: Nicolas De Loof Date: Wed, 20 May 2026 18:04:53 +0200 Subject: [PATCH 1/4] chore: test compose-spec/compose-go#874 (v3 yaml.Node-based loader) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a go.mod `replace` directive pointing the compose-go dependency at ndeloof/compose-go branch `v3-yaml-node-context` (PR compose-spec/compose-go#874) and migrate all imports from `compose-spec/compose-go/v2` to `/v3`. DO NOT MERGE — exploratory branch to validate CI against the v3 loader refactor. Signed-off-by: Nicolas De Loof --- cmd/compose/build.go | 4 ++-- cmd/compose/compose.go | 20 +++++++++++++------- cmd/compose/compose_test.go | 2 +- cmd/compose/config.go | 6 +++--- cmd/compose/create.go | 2 +- cmd/compose/exec.go | 2 +- cmd/compose/hooks.go | 2 +- cmd/compose/options.go | 6 +++--- cmd/compose/options_test.go | 2 +- cmd/compose/pull.go | 4 ++-- cmd/compose/pullOptions_test.go | 2 +- cmd/compose/push.go | 2 +- cmd/compose/run.go | 8 ++++---- cmd/compose/scale.go | 2 +- cmd/compose/up.go | 2 +- cmd/compose/up_test.go | 2 +- cmd/compose/watch.go | 2 +- cmd/formatter/shortcut.go | 2 +- go.mod | 5 ++++- go.sum | 4 ++-- internal/tracing/attributes.go | 2 +- internal/tracing/attributes_test.go | 2 +- pkg/api/api.go | 4 ++-- pkg/api/api_test.go | 2 +- pkg/bridge/convert.go | 2 +- pkg/compose/apiSocket.go | 2 +- pkg/compose/attach.go | 2 +- pkg/compose/build.go | 2 +- pkg/compose/build_bake.go | 2 +- pkg/compose/build_classic.go | 2 +- pkg/compose/build_test.go | 2 +- pkg/compose/compose.go | 2 +- pkg/compose/containers.go | 2 +- pkg/compose/convergence.go | 2 +- pkg/compose/convergence_test.go | 2 +- pkg/compose/convert.go | 2 +- pkg/compose/create.go | 4 ++-- pkg/compose/create_test.go | 4 ++-- pkg/compose/dependencies.go | 2 +- pkg/compose/dependencies_test.go | 2 +- pkg/compose/down.go | 2 +- pkg/compose/down_test.go | 2 +- pkg/compose/generate.go | 2 +- pkg/compose/hash.go | 2 +- pkg/compose/hash_test.go | 2 +- pkg/compose/hook.go | 2 +- pkg/compose/hook_test.go | 2 +- pkg/compose/image_pruner.go | 2 +- pkg/compose/loader.go | 6 +++--- pkg/compose/loader_test.go | 2 +- pkg/compose/logs_test.go | 2 +- pkg/compose/model.go | 2 +- pkg/compose/plugins.go | 2 +- pkg/compose/publish.go | 4 ++-- pkg/compose/publish_test.go | 4 ++-- pkg/compose/pull.go | 2 +- pkg/compose/push.go | 2 +- pkg/compose/restart.go | 2 +- pkg/compose/run.go | 2 +- pkg/compose/scale.go | 2 +- pkg/compose/secrets.go | 2 +- pkg/compose/shellout.go | 2 +- pkg/compose/start.go | 2 +- pkg/compose/up.go | 2 +- pkg/compose/viz.go | 2 +- pkg/compose/viz_test.go | 2 +- pkg/compose/watch.go | 4 ++-- pkg/compose/watch_test.go | 2 +- pkg/mocks/mock_docker_compose_api.go | 2 +- pkg/remote/git.go | 6 +++--- pkg/remote/oci.go | 2 +- pkg/watch/dockerignore.go | 2 +- 72 files changed, 107 insertions(+), 98 deletions(-) diff --git a/cmd/compose/build.go b/cmd/compose/build.go index 996cf4d9ef0..ed67682a854 100644 --- a/cmd/compose/build.go +++ b/cmd/compose/build.go @@ -22,8 +22,8 @@ import ( "os" "strings" - "github.com/compose-spec/compose-go/v2/cli" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/cli" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/cli/cli/command" cliopts "github.com/docker/cli/opts" "github.com/spf13/cobra" diff --git a/cmd/compose/compose.go b/cmd/compose/compose.go index ce019e77d04..dcbba4c43f3 100644 --- a/cmd/compose/compose.go +++ b/cmd/compose/compose.go @@ -29,12 +29,12 @@ import ( "strings" "syscall" - "github.com/compose-spec/compose-go/v2/cli" - "github.com/compose-spec/compose-go/v2/dotenv" - "github.com/compose-spec/compose-go/v2/loader" - composepaths "github.com/compose-spec/compose-go/v2/paths" - "github.com/compose-spec/compose-go/v2/types" - composegoutils "github.com/compose-spec/compose-go/v2/utils" + "github.com/compose-spec/compose-go/v3/cli" + "github.com/compose-spec/compose-go/v3/dotenv" + "github.com/compose-spec/compose-go/v3/loader" + composepaths "github.com/compose-spec/compose-go/v3/paths" + "github.com/compose-spec/compose-go/v3/types" + composegoutils "github.com/compose-spec/compose-go/v3/utils" dockercli "github.com/docker/cli/cli" "github.com/docker/cli/cli-plugins/metadata" "github.com/docker/cli/cli/command" @@ -317,7 +317,13 @@ func (o *ProjectOptions) ToProject(ctx context.Context, dockerCli command.Cli, b case "extends": metrics.CountExtends++ case "include": - paths := metadata["path"].(types.StringList) + var paths []string + switch p := metadata["path"].(type) { + case []string: + paths = p + case types.StringList: + paths = p + } for _, path := range paths { var isRemote bool for _, r := range remotes { diff --git a/cmd/compose/compose_test.go b/cmd/compose/compose_test.go index 708929ff8cd..26026803055 100644 --- a/cmd/compose/compose_test.go +++ b/cmd/compose/compose_test.go @@ -19,7 +19,7 @@ package compose import ( "testing" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "gotest.tools/v3/assert" ) diff --git a/cmd/compose/config.go b/cmd/compose/config.go index 646ecd81806..7ed093f6fa1 100644 --- a/cmd/compose/config.go +++ b/cmd/compose/config.go @@ -27,9 +27,9 @@ import ( "sort" "strings" - "github.com/compose-spec/compose-go/v2/cli" - "github.com/compose-spec/compose-go/v2/template" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/cli" + "github.com/compose-spec/compose-go/v3/template" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/cli/cli/command" "github.com/spf13/cobra" "go.yaml.in/yaml/v4" diff --git a/cmd/compose/create.go b/cmd/compose/create.go index 5f9f7908315..5da222158ab 100644 --- a/cmd/compose/create.go +++ b/cmd/compose/create.go @@ -24,7 +24,7 @@ import ( "strings" "time" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/cli/cli/command" "github.com/sirupsen/logrus" "github.com/spf13/cobra" diff --git a/cmd/compose/exec.go b/cmd/compose/exec.go index f548730dc06..1e55daaf9d6 100644 --- a/cmd/compose/exec.go +++ b/cmd/compose/exec.go @@ -22,7 +22,7 @@ import ( "fmt" "os" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/cli/cli" "github.com/docker/cli/cli/command" "github.com/sirupsen/logrus" diff --git a/cmd/compose/hooks.go b/cmd/compose/hooks.go index 1697c8686b1..ae9a76e8712 100644 --- a/cmd/compose/hooks.go +++ b/cmd/compose/hooks.go @@ -23,7 +23,7 @@ import ( "os" "time" - "github.com/compose-spec/compose-go/v2/cli" + "github.com/compose-spec/compose-go/v3/cli" "github.com/docker/cli/cli-plugins/hooks" "github.com/docker/cli/cli-plugins/metadata" "github.com/spf13/cobra" diff --git a/cmd/compose/options.go b/cmd/compose/options.go index 6454f6aed9b..52693977340 100644 --- a/cmd/compose/options.go +++ b/cmd/compose/options.go @@ -26,9 +26,9 @@ import ( "strings" "text/tabwriter" - "github.com/compose-spec/compose-go/v2/cli" - "github.com/compose-spec/compose-go/v2/template" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/cli" + "github.com/compose-spec/compose-go/v3/template" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/cli/cli/command" "github.com/docker/compose/v5/cmd/display" diff --git a/cmd/compose/options_test.go b/cmd/compose/options_test.go index b681c221378..5f0db47a946 100644 --- a/cmd/compose/options_test.go +++ b/cmd/compose/options_test.go @@ -25,7 +25,7 @@ import ( "strings" "testing" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/cli/cli/streams" "go.uber.org/mock/gomock" "gotest.tools/v3/assert" diff --git a/cmd/compose/pull.go b/cmd/compose/pull.go index 694731155f6..1796d92b47b 100644 --- a/cmd/compose/pull.go +++ b/cmd/compose/pull.go @@ -21,8 +21,8 @@ import ( "fmt" "os" - "github.com/compose-spec/compose-go/v2/cli" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/cli" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/cli/cli/command" "github.com/morikuni/aec" "github.com/spf13/cobra" diff --git a/cmd/compose/pullOptions_test.go b/cmd/compose/pullOptions_test.go index 05dd868edf7..2924ef42512 100644 --- a/cmd/compose/pullOptions_test.go +++ b/cmd/compose/pullOptions_test.go @@ -19,7 +19,7 @@ package compose import ( "testing" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "gotest.tools/v3/assert" ) diff --git a/cmd/compose/push.go b/cmd/compose/push.go index 4dd23aedb6f..ca7008a92f8 100644 --- a/cmd/compose/push.go +++ b/cmd/compose/push.go @@ -19,7 +19,7 @@ package compose import ( "context" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/cli/cli/command" "github.com/spf13/cobra" diff --git a/cmd/compose/run.go b/cmd/compose/run.go index 573c0e14d4f..4966d4ec72e 100644 --- a/cmd/compose/run.go +++ b/cmd/compose/run.go @@ -22,10 +22,10 @@ import ( "os" "strings" - composecli "github.com/compose-spec/compose-go/v2/cli" - "github.com/compose-spec/compose-go/v2/dotenv" - "github.com/compose-spec/compose-go/v2/format" - "github.com/compose-spec/compose-go/v2/types" + composecli "github.com/compose-spec/compose-go/v3/cli" + "github.com/compose-spec/compose-go/v3/dotenv" + "github.com/compose-spec/compose-go/v3/format" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/cli/cli" "github.com/docker/cli/cli/command" "github.com/docker/cli/opts" diff --git a/cmd/compose/scale.go b/cmd/compose/scale.go index 8070858e9a1..ce381e1f867 100644 --- a/cmd/compose/scale.go +++ b/cmd/compose/scale.go @@ -24,7 +24,7 @@ import ( "strconv" "strings" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/cli/cli/command" "github.com/spf13/cobra" diff --git a/cmd/compose/up.go b/cmd/compose/up.go index cda2678bbb2..1a4e43100d8 100644 --- a/cmd/compose/up.go +++ b/cmd/compose/up.go @@ -24,7 +24,7 @@ import ( "strings" "time" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/cli/cli/command" xprogress "github.com/moby/buildkit/util/progress/progressui" "github.com/sirupsen/logrus" diff --git a/cmd/compose/up_test.go b/cmd/compose/up_test.go index f567e97ad44..0dbe1476854 100644 --- a/cmd/compose/up_test.go +++ b/cmd/compose/up_test.go @@ -19,7 +19,7 @@ package compose import ( "testing" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "gotest.tools/v3/assert" "github.com/docker/compose/v5/pkg/api" diff --git a/cmd/compose/watch.go b/cmd/compose/watch.go index c60b243860e..111786a690c 100644 --- a/cmd/compose/watch.go +++ b/cmd/compose/watch.go @@ -20,7 +20,7 @@ import ( "context" "fmt" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/cli/cli/command" "github.com/sirupsen/logrus" "github.com/spf13/cobra" diff --git a/cmd/formatter/shortcut.go b/cmd/formatter/shortcut.go index ffa083e2f84..3d1cdc1930b 100644 --- a/cmd/formatter/shortcut.go +++ b/cmd/formatter/shortcut.go @@ -27,7 +27,7 @@ import ( "time" "github.com/buger/goterm" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/eiannone/keyboard" "github.com/skratchdot/open-golang/open" diff --git a/go.mod b/go.mod index ed4d4069324..bc80b9f2b0d 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( github.com/Microsoft/go-winio v0.6.2 github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d github.com/buger/goterm v1.0.4 - github.com/compose-spec/compose-go/v2 v2.11.0 + github.com/compose-spec/compose-go/v3 v3.0.0-00010101000000-000000000000 github.com/containerd/console v1.0.5 github.com/containerd/containerd/v2 v2.2.3 github.com/containerd/errdefs v1.0.0 @@ -155,3 +155,6 @@ exclude ( github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 ) + +// Test compose-spec/compose-go#874 (v3 yaml.Node-based loader) +replace github.com/compose-spec/compose-go/v3 => github.com/ndeloof/compose-go/v3 v3.0.0-20260520163748-45cca9cd7f44 diff --git a/go.sum b/go.sum index cd00fd7fea7..57b8d3cf119 100644 --- a/go.sum +++ b/go.sum @@ -36,8 +36,6 @@ github.com/cloudflare/circl v1.6.3 h1:9GPOhQGF9MCYUeXyMYlqTR6a5gTrgR/fBLXvUgtVcg github.com/cloudflare/circl v1.6.3/go.mod h1:2eXP6Qfat4O/Yhh8BznvKnJ+uzEoTQ6jVKJRn81BiS4= github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb h1:EDmT6Q9Zs+SbUoc7Ik9EfrFqcylYqgPZ9ANSbTAntnE= github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb/go.mod h1:ZjrT6AXHbDs86ZSdt/osfBi5qfexBrKUdONk989Wnk4= -github.com/compose-spec/compose-go/v2 v2.11.0 h1:xoq/ootgIL6TsHmbJHrkuh7+bzjhPV3NHftHRPPyVXM= -github.com/compose-spec/compose-go/v2 v2.11.0/go.mod h1:ZU6zlcweCZKyiB7BVfCizQT9XmkEIMFE+PRZydVcsZg= github.com/containerd/cgroups/v3 v3.1.3 h1:eUNflyMddm18+yrDmZPn3jI7C5hJ9ahABE5q6dyLYXQ= github.com/containerd/cgroups/v3 v3.1.3/go.mod h1:PKZ2AcWmSBsY/tJUVhtS/rluX0b1uq1GmPO1ElCmbOw= github.com/containerd/console v1.0.5 h1:R0ymNeydRqH2DmakFNdmjR2k0t7UPuiOV/N/27/qqsc= @@ -274,6 +272,8 @@ github.com/morikuni/aec v1.1.0 h1:vBBl0pUnvi/Je71dsRrhMBtreIqNMYErSAbEeb8jrXQ= github.com/morikuni/aec v1.1.0/go.mod h1:xDRgiq/iw5l+zkao76YTKzKttOp2cwPEne25HDkJnBw= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/ndeloof/compose-go/v3 v3.0.0-20260520163748-45cca9cd7f44 h1:QShh5OfKbtgTsDVuj1FuP/rYLb6BTfrE7pBlJIeDuRI= +github.com/ndeloof/compose-go/v3 v3.0.0-20260520163748-45cca9cd7f44/go.mod h1:T2nHQNgm3/qlnFZYTkVqiJbiGlwUK/ksjhkZCOLrJvg= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid/v2 v2.1.1 h1:suPZ4ARWLOJLegGFiZZ1dFAkqzhMjL3J1TzI+5wHz8s= github.com/oklog/ulid/v2 v2.1.1/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ= diff --git a/internal/tracing/attributes.go b/internal/tracing/attributes.go index 89570091505..153e9115e55 100644 --- a/internal/tracing/attributes.go +++ b/internal/tracing/attributes.go @@ -24,7 +24,7 @@ import ( "strings" "time" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/moby/moby/api/types/container" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/trace" diff --git a/internal/tracing/attributes_test.go b/internal/tracing/attributes_test.go index 8416f69728b..50408630613 100644 --- a/internal/tracing/attributes_test.go +++ b/internal/tracing/attributes_test.go @@ -19,7 +19,7 @@ package tracing import ( "testing" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "gotest.tools/v3/assert" ) diff --git a/pkg/api/api.go b/pkg/api/api.go index 1e84cca2bf7..33b9d6dc570 100644 --- a/pkg/api/api.go +++ b/pkg/api/api.go @@ -24,8 +24,8 @@ import ( "strings" "time" - "github.com/compose-spec/compose-go/v2/cli" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/cli" + "github.com/compose-spec/compose-go/v3/types" "github.com/containerd/platforms" "github.com/docker/cli/opts" "github.com/moby/moby/api/types/container" diff --git a/pkg/api/api_test.go b/pkg/api/api_test.go index fc44abe7f1a..c3eb62d83b6 100644 --- a/pkg/api/api_test.go +++ b/pkg/api/api_test.go @@ -19,7 +19,7 @@ package api import ( "testing" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "gotest.tools/v3/assert" ) diff --git a/pkg/bridge/convert.go b/pkg/bridge/convert.go index adf676eab4b..95560384a0a 100644 --- a/pkg/bridge/convert.go +++ b/pkg/bridge/convert.go @@ -26,7 +26,7 @@ import ( "runtime" "strconv" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/containerd/errdefs" "github.com/docker/cli/cli/command" cli "github.com/docker/cli/cli/command/container" diff --git a/pkg/compose/apiSocket.go b/pkg/compose/apiSocket.go index ddc7a029030..6cc683f16ea 100644 --- a/pkg/compose/apiSocket.go +++ b/pkg/compose/apiSocket.go @@ -21,7 +21,7 @@ import ( "errors" "fmt" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/cli/cli/config/configfile" ) diff --git a/pkg/compose/attach.go b/pkg/compose/attach.go index 0739a021ed3..338aeeb27c3 100644 --- a/pkg/compose/attach.go +++ b/pkg/compose/attach.go @@ -23,7 +23,7 @@ import ( "io" "strings" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/moby/moby/api/pkg/stdcopy" containerType "github.com/moby/moby/api/types/container" "github.com/moby/moby/client" diff --git a/pkg/compose/build.go b/pkg/compose/build.go index 7b9cc76f96c..ed4dacc4e60 100644 --- a/pkg/compose/build.go +++ b/pkg/compose/build.go @@ -22,7 +22,7 @@ import ( "strings" "time" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/containerd/platforms" specs "github.com/opencontainers/image-spec/specs-go/v1" "github.com/sirupsen/logrus" diff --git a/pkg/compose/build_bake.go b/pkg/compose/build_bake.go index dc691cca9ff..8656aa120d9 100644 --- a/pkg/compose/build_bake.go +++ b/pkg/compose/build_bake.go @@ -32,7 +32,7 @@ import ( "slices" "strings" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/containerd/console" "github.com/containerd/errdefs" "github.com/docker/cli/cli-plugins/manager" diff --git a/pkg/compose/build_classic.go b/pkg/compose/build_classic.go index a5f750ae2dc..8ab67eb0e5e 100644 --- a/pkg/compose/build_classic.go +++ b/pkg/compose/build_classic.go @@ -26,7 +26,7 @@ import ( "path/filepath" "strings" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/cli/cli" "github.com/docker/cli/cli/command/image/build" "github.com/moby/go-archive" diff --git a/pkg/compose/build_test.go b/pkg/compose/build_test.go index 48f41464b1a..83f9255aade 100644 --- a/pkg/compose/build_test.go +++ b/pkg/compose/build_test.go @@ -20,7 +20,7 @@ import ( "slices" "testing" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "gotest.tools/v3/assert" ) diff --git a/pkg/compose/compose.go b/pkg/compose/compose.go index 33ed81af9b8..781d89bbbe0 100644 --- a/pkg/compose/compose.go +++ b/pkg/compose/compose.go @@ -25,7 +25,7 @@ import ( "strings" "sync" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/buildx/store/storeutil" "github.com/docker/cli/cli/command" "github.com/docker/cli/cli/config/configfile" diff --git a/pkg/compose/containers.go b/pkg/compose/containers.go index b2f6b974869..cf01455dfec 100644 --- a/pkg/compose/containers.go +++ b/pkg/compose/containers.go @@ -23,7 +23,7 @@ import ( "sort" "strconv" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/moby/moby/api/types/container" "github.com/moby/moby/client" "golang.org/x/sync/errgroup" diff --git a/pkg/compose/convergence.go b/pkg/compose/convergence.go index 6a5d9500702..bc4d5df4213 100644 --- a/pkg/compose/convergence.go +++ b/pkg/compose/convergence.go @@ -28,7 +28,7 @@ import ( "sync" "time" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/containerd/platforms" "github.com/moby/moby/api/types/container" mmount "github.com/moby/moby/api/types/mount" diff --git a/pkg/compose/convergence_test.go b/pkg/compose/convergence_test.go index 441356959b8..27af453db7a 100644 --- a/pkg/compose/convergence_test.go +++ b/pkg/compose/convergence_test.go @@ -23,7 +23,7 @@ import ( "strings" "testing" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/cli/cli/config/configfile" "github.com/google/go-cmp/cmp/cmpopts" "github.com/moby/moby/api/types/container" diff --git a/pkg/compose/convert.go b/pkg/compose/convert.go index a854564f63d..8a307ceeb2c 100644 --- a/pkg/compose/convert.go +++ b/pkg/compose/convert.go @@ -22,7 +22,7 @@ import ( "fmt" "time" - compose "github.com/compose-spec/compose-go/v2/types" + compose "github.com/compose-spec/compose-go/v3/types" "github.com/moby/moby/api/types/container" ) diff --git a/pkg/compose/create.go b/pkg/compose/create.go index cc0b4afbce3..9a3ef382824 100644 --- a/pkg/compose/create.go +++ b/pkg/compose/create.go @@ -30,8 +30,8 @@ import ( "strconv" "strings" - "github.com/compose-spec/compose-go/v2/paths" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/paths" + "github.com/compose-spec/compose-go/v3/types" "github.com/containerd/errdefs" "github.com/moby/moby/api/types/blkiodev" "github.com/moby/moby/api/types/container" diff --git a/pkg/compose/create_test.go b/pkg/compose/create_test.go index e08e4227dae..81982dcb4a6 100644 --- a/pkg/compose/create_test.go +++ b/pkg/compose/create_test.go @@ -24,8 +24,8 @@ import ( "sort" "testing" - composeloader "github.com/compose-spec/compose-go/v2/loader" - composetypes "github.com/compose-spec/compose-go/v2/types" + composeloader "github.com/compose-spec/compose-go/v3/loader" + composetypes "github.com/compose-spec/compose-go/v3/types" "github.com/google/go-cmp/cmp/cmpopts" "github.com/moby/moby/api/types/container" mountTypes "github.com/moby/moby/api/types/mount" diff --git a/pkg/compose/dependencies.go b/pkg/compose/dependencies.go index 84565c46c61..2354a4d0e90 100644 --- a/pkg/compose/dependencies.go +++ b/pkg/compose/dependencies.go @@ -23,7 +23,7 @@ import ( "strings" "sync" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "golang.org/x/sync/errgroup" "github.com/docker/compose/v5/pkg/api" diff --git a/pkg/compose/dependencies_test.go b/pkg/compose/dependencies_test.go index 947a9bd4a3d..b1f3d217099 100644 --- a/pkg/compose/dependencies_test.go +++ b/pkg/compose/dependencies_test.go @@ -23,7 +23,7 @@ import ( "sync" "testing" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "gotest.tools/v3/assert" is "gotest.tools/v3/assert/cmp" diff --git a/pkg/compose/down.go b/pkg/compose/down.go index abc6f3a8268..5994246776d 100644 --- a/pkg/compose/down.go +++ b/pkg/compose/down.go @@ -22,7 +22,7 @@ import ( "strings" "time" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/containerd/errdefs" containerType "github.com/moby/moby/api/types/container" "github.com/moby/moby/client" diff --git a/pkg/compose/down_test.go b/pkg/compose/down_test.go index c52f736b1de..cbfb2fc392b 100644 --- a/pkg/compose/down_test.go +++ b/pkg/compose/down_test.go @@ -22,7 +22,7 @@ import ( "strings" "testing" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/containerd/errdefs" "github.com/docker/cli/cli/streams" "github.com/moby/moby/api/types/container" diff --git a/pkg/compose/generate.go b/pkg/compose/generate.go index 5892a3bb729..c1c3b63f234 100644 --- a/pkg/compose/generate.go +++ b/pkg/compose/generate.go @@ -23,7 +23,7 @@ import ( "slices" "strings" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/moby/moby/api/types/container" "github.com/moby/moby/api/types/mount" "github.com/moby/moby/api/types/network" diff --git a/pkg/compose/hash.go b/pkg/compose/hash.go index 24c6cce2e88..a494230d866 100644 --- a/pkg/compose/hash.go +++ b/pkg/compose/hash.go @@ -19,7 +19,7 @@ package compose import ( "encoding/json" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/opencontainers/go-digest" ) diff --git a/pkg/compose/hash_test.go b/pkg/compose/hash_test.go index 73b7f387735..8f307bb2c7b 100644 --- a/pkg/compose/hash_test.go +++ b/pkg/compose/hash_test.go @@ -19,7 +19,7 @@ package compose import ( "testing" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "gotest.tools/v3/assert" ) diff --git a/pkg/compose/hook.go b/pkg/compose/hook.go index 8acc24011f9..12be4ba42c8 100644 --- a/pkg/compose/hook.go +++ b/pkg/compose/hook.go @@ -22,7 +22,7 @@ import ( "io" "time" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/moby/moby/api/pkg/stdcopy" "github.com/moby/moby/api/types/container" "github.com/moby/moby/client" diff --git a/pkg/compose/hook_test.go b/pkg/compose/hook_test.go index 9c085082b56..0692bfce115 100644 --- a/pkg/compose/hook_test.go +++ b/pkg/compose/hook_test.go @@ -23,7 +23,7 @@ import ( "os" "testing" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/creack/pty" "github.com/docker/cli/cli/streams" "github.com/moby/moby/api/types/container" diff --git a/pkg/compose/image_pruner.go b/pkg/compose/image_pruner.go index 7016fb7ef4f..c8ff0f5e7b0 100644 --- a/pkg/compose/image_pruner.go +++ b/pkg/compose/image_pruner.go @@ -22,7 +22,7 @@ import ( "sort" "sync" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/containerd/errdefs" "github.com/distribution/reference" "github.com/moby/moby/api/types/image" diff --git a/pkg/compose/loader.go b/pkg/compose/loader.go index 9a0699da7c6..597b7b1dfa5 100644 --- a/pkg/compose/loader.go +++ b/pkg/compose/loader.go @@ -22,9 +22,9 @@ import ( "os" "strings" - "github.com/compose-spec/compose-go/v2/cli" - "github.com/compose-spec/compose-go/v2/loader" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/cli" + "github.com/compose-spec/compose-go/v3/loader" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/compose/v5/pkg/api" "github.com/docker/compose/v5/pkg/remote" diff --git a/pkg/compose/loader_test.go b/pkg/compose/loader_test.go index 979db0aa91f..b03dbf75135 100644 --- a/pkg/compose/loader_test.go +++ b/pkg/compose/loader_test.go @@ -21,7 +21,7 @@ import ( "path/filepath" "testing" - "github.com/compose-spec/compose-go/v2/cli" + "github.com/compose-spec/compose-go/v3/cli" "gotest.tools/v3/assert" is "gotest.tools/v3/assert/cmp" diff --git a/pkg/compose/logs_test.go b/pkg/compose/logs_test.go index b0499f15606..73c44b8d3be 100644 --- a/pkg/compose/logs_test.go +++ b/pkg/compose/logs_test.go @@ -25,7 +25,7 @@ import ( "sync" "testing" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/moby/moby/api/pkg/stdcopy" containerType "github.com/moby/moby/api/types/container" "github.com/moby/moby/client" diff --git a/pkg/compose/model.go b/pkg/compose/model.go index 345ad1272bc..847fd7a762a 100644 --- a/pkg/compose/model.go +++ b/pkg/compose/model.go @@ -26,7 +26,7 @@ import ( "strconv" "strings" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/containerd/errdefs" "github.com/docker/cli/cli-plugins/manager" "github.com/moby/moby/client/pkg/versions" diff --git a/pkg/compose/plugins.go b/pkg/compose/plugins.go index 5b64855104c..3fb9b0a539e 100644 --- a/pkg/compose/plugins.go +++ b/pkg/compose/plugins.go @@ -29,7 +29,7 @@ import ( "strings" "sync" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/containerd/errdefs" "github.com/docker/cli/cli-plugins/manager" "github.com/docker/cli/cli/config" diff --git a/pkg/compose/publish.go b/pkg/compose/publish.go index 2e820cf8a5c..cb6f4c8429e 100644 --- a/pkg/compose/publish.go +++ b/pkg/compose/publish.go @@ -31,8 +31,8 @@ import ( "github.com/DefangLabs/secret-detector/pkg/detectors/keyword" "github.com/DefangLabs/secret-detector/pkg/scanner" "github.com/DefangLabs/secret-detector/pkg/secrets" - "github.com/compose-spec/compose-go/v2/loader" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/loader" + "github.com/compose-spec/compose-go/v3/types" "github.com/distribution/reference" "github.com/opencontainers/go-digest" "github.com/opencontainers/image-spec/specs-go" diff --git a/pkg/compose/publish_test.go b/pkg/compose/publish_test.go index 21cdfa1bed3..05e4b8719e0 100644 --- a/pkg/compose/publish_test.go +++ b/pkg/compose/publish_test.go @@ -24,8 +24,8 @@ import ( "strings" "testing" - "github.com/compose-spec/compose-go/v2/loader" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/loader" + "github.com/compose-spec/compose-go/v3/types" "github.com/google/go-cmp/cmp" v1 "github.com/opencontainers/image-spec/specs-go/v1" "gotest.tools/v3/assert" diff --git a/pkg/compose/pull.go b/pkg/compose/pull.go index f1b6a64a12a..1e8dda04a39 100644 --- a/pkg/compose/pull.go +++ b/pkg/compose/pull.go @@ -27,7 +27,7 @@ import ( "sync" "time" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/containerd/platforms" "github.com/distribution/reference" "github.com/docker/cli/cli/config/configfile" diff --git a/pkg/compose/push.go b/pkg/compose/push.go index b981baf028d..cf582d46857 100644 --- a/pkg/compose/push.go +++ b/pkg/compose/push.go @@ -25,7 +25,7 @@ import ( "io" "strings" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/distribution/reference" "github.com/docker/go-units" "github.com/moby/moby/api/types/jsonstream" diff --git a/pkg/compose/restart.go b/pkg/compose/restart.go index 97d10b2dcb1..b77ce106aef 100644 --- a/pkg/compose/restart.go +++ b/pkg/compose/restart.go @@ -20,7 +20,7 @@ import ( "context" "strings" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/moby/moby/client" "golang.org/x/sync/errgroup" diff --git a/pkg/compose/run.go b/pkg/compose/run.go index 7ca080264da..28e3a8f7e12 100644 --- a/pkg/compose/run.go +++ b/pkg/compose/run.go @@ -24,7 +24,7 @@ import ( "os/signal" "slices" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/cli/cli" cmd "github.com/docker/cli/cli/command/container" "github.com/moby/moby/api/types/container" diff --git a/pkg/compose/scale.go b/pkg/compose/scale.go index 4ef8134a264..9339211a6f1 100644 --- a/pkg/compose/scale.go +++ b/pkg/compose/scale.go @@ -18,7 +18,7 @@ package compose import ( "context" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/compose/v5/internal/tracing" "github.com/docker/compose/v5/pkg/api" diff --git a/pkg/compose/secrets.go b/pkg/compose/secrets.go index ac64684f8f3..ae7b90cb61a 100644 --- a/pkg/compose/secrets.go +++ b/pkg/compose/secrets.go @@ -24,7 +24,7 @@ import ( "strconv" "time" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/moby/moby/client" ) diff --git a/pkg/compose/shellout.go b/pkg/compose/shellout.go index 06f007546a8..ed6cf5ed6dd 100644 --- a/pkg/compose/shellout.go +++ b/pkg/compose/shellout.go @@ -22,7 +22,7 @@ import ( "os/exec" "path/filepath" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/cli/cli-plugins/metadata" "github.com/docker/cli/cli/command" "github.com/docker/cli/cli/flags" diff --git a/pkg/compose/start.go b/pkg/compose/start.go index 8af52e97c13..5eabc689ff5 100644 --- a/pkg/compose/start.go +++ b/pkg/compose/start.go @@ -22,7 +22,7 @@ import ( "fmt" "strings" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/moby/moby/client" "github.com/docker/compose/v5/pkg/api" diff --git a/pkg/compose/up.go b/pkg/compose/up.go index b2bcb3f7dbb..f870f0350f7 100644 --- a/pkg/compose/up.go +++ b/pkg/compose/up.go @@ -27,7 +27,7 @@ import ( "sync/atomic" "syscall" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/containerd/errdefs" "github.com/docker/cli/cli" "github.com/eiannone/keyboard" diff --git a/pkg/compose/viz.go b/pkg/compose/viz.go index cf8c4401254..23b7890db7e 100644 --- a/pkg/compose/viz.go +++ b/pkg/compose/viz.go @@ -21,7 +21,7 @@ import ( "strconv" "strings" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/compose/v5/pkg/api" ) diff --git a/pkg/compose/viz_test.go b/pkg/compose/viz_test.go index 9a56bc4dda0..6f113e91425 100644 --- a/pkg/compose/viz_test.go +++ b/pkg/compose/viz_test.go @@ -20,7 +20,7 @@ import ( "strconv" "testing" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "go.uber.org/mock/gomock" "gotest.tools/v3/assert" is "gotest.tools/v3/assert/cmp" diff --git a/pkg/compose/watch.go b/pkg/compose/watch.go index f63c51683ab..54ee7e38576 100644 --- a/pkg/compose/watch.go +++ b/pkg/compose/watch.go @@ -29,8 +29,8 @@ import ( gsync "sync" "time" - "github.com/compose-spec/compose-go/v2/types" - "github.com/compose-spec/compose-go/v2/utils" + "github.com/compose-spec/compose-go/v3/types" + "github.com/compose-spec/compose-go/v3/utils" ccli "github.com/docker/cli/cli/command/container" "github.com/go-viper/mapstructure/v2" "github.com/moby/buildkit/util/progress/progressui" diff --git a/pkg/compose/watch_test.go b/pkg/compose/watch_test.go index 0c59b884ba6..f6b59b146f4 100644 --- a/pkg/compose/watch_test.go +++ b/pkg/compose/watch_test.go @@ -23,7 +23,7 @@ import ( "testing" "time" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/cli/cli/streams" "github.com/jonboulle/clockwork" "github.com/moby/moby/api/types/container" diff --git a/pkg/mocks/mock_docker_compose_api.go b/pkg/mocks/mock_docker_compose_api.go index db6ddb92ec4..02a24f6ba36 100644 --- a/pkg/mocks/mock_docker_compose_api.go +++ b/pkg/mocks/mock_docker_compose_api.go @@ -13,7 +13,7 @@ import ( context "context" reflect "reflect" - types "github.com/compose-spec/compose-go/v2/types" + types "github.com/compose-spec/compose-go/v3/types" api "github.com/docker/compose/v5/pkg/api" gomock "go.uber.org/mock/gomock" ) diff --git a/pkg/remote/git.go b/pkg/remote/git.go index 689f08dd903..73c25e27a37 100644 --- a/pkg/remote/git.go +++ b/pkg/remote/git.go @@ -28,9 +28,9 @@ import ( "strconv" "strings" - "github.com/compose-spec/compose-go/v2/cli" - "github.com/compose-spec/compose-go/v2/loader" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/cli" + "github.com/compose-spec/compose-go/v3/loader" + "github.com/compose-spec/compose-go/v3/types" "github.com/docker/cli/cli/command" gitutil "github.com/moby/buildkit/frontend/dockerfile/dfgitutil" "github.com/sirupsen/logrus" diff --git a/pkg/remote/oci.go b/pkg/remote/oci.go index 58d1a61589f..733de22fbbf 100644 --- a/pkg/remote/oci.go +++ b/pkg/remote/oci.go @@ -27,7 +27,7 @@ import ( "strings" "sync" - "github.com/compose-spec/compose-go/v2/loader" + "github.com/compose-spec/compose-go/v3/loader" "github.com/containerd/containerd/v2/core/images" "github.com/containerd/containerd/v2/core/remotes" "github.com/distribution/reference" diff --git a/pkg/watch/dockerignore.go b/pkg/watch/dockerignore.go index ce7d57fbfee..b0b1c46614f 100644 --- a/pkg/watch/dockerignore.go +++ b/pkg/watch/dockerignore.go @@ -24,7 +24,7 @@ import ( "slices" "strings" - "github.com/compose-spec/compose-go/v2/types" + "github.com/compose-spec/compose-go/v3/types" "github.com/moby/patternmatcher" "github.com/moby/patternmatcher/ignorefile" From 7f21c08c61c5ad8aed4447ddbba059561c13599b Mon Sep 17 00:00:00 2001 From: Nicolas De Loof Date: Wed, 20 May 2026 22:14:50 +0200 Subject: [PATCH 2/4] test: bump compose-go to 40c3140 (per-layer secrets env) Signed-off-by: Nicolas De Loof --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index bc80b9f2b0d..d486117c8d9 100644 --- a/go.mod +++ b/go.mod @@ -157,4 +157,4 @@ exclude ( ) // Test compose-spec/compose-go#874 (v3 yaml.Node-based loader) -replace github.com/compose-spec/compose-go/v3 => github.com/ndeloof/compose-go/v3 v3.0.0-20260520163748-45cca9cd7f44 +replace github.com/compose-spec/compose-go/v3 => github.com/ndeloof/compose-go/v3 v3.0.0-20260520201336-40c31405b959 diff --git a/go.sum b/go.sum index 57b8d3cf119..a5dca3ef2c7 100644 --- a/go.sum +++ b/go.sum @@ -272,8 +272,8 @@ github.com/morikuni/aec v1.1.0 h1:vBBl0pUnvi/Je71dsRrhMBtreIqNMYErSAbEeb8jrXQ= github.com/morikuni/aec v1.1.0/go.mod h1:xDRgiq/iw5l+zkao76YTKzKttOp2cwPEne25HDkJnBw= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/ndeloof/compose-go/v3 v3.0.0-20260520163748-45cca9cd7f44 h1:QShh5OfKbtgTsDVuj1FuP/rYLb6BTfrE7pBlJIeDuRI= -github.com/ndeloof/compose-go/v3 v3.0.0-20260520163748-45cca9cd7f44/go.mod h1:T2nHQNgm3/qlnFZYTkVqiJbiGlwUK/ksjhkZCOLrJvg= +github.com/ndeloof/compose-go/v3 v3.0.0-20260520201336-40c31405b959 h1:ArBHKfqxtyKQdfokGSVusZZoDsU8wDkM4+S8vsSqEcI= +github.com/ndeloof/compose-go/v3 v3.0.0-20260520201336-40c31405b959/go.mod h1:T2nHQNgm3/qlnFZYTkVqiJbiGlwUK/ksjhkZCOLrJvg= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid/v2 v2.1.1 h1:suPZ4ARWLOJLegGFiZZ1dFAkqzhMjL3J1TzI+5wHz8s= github.com/oklog/ulid/v2 v2.1.1/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ= From 46e126412f411962dd45cc159a5d90a8f884ea18 Mon Sep 17 00:00:00 2001 From: Nicolas De Loof Date: Wed, 20 May 2026 22:34:35 +0200 Subject: [PATCH 3/4] test: bump compose-go to be24303 (multi-doc yaml load) Signed-off-by: Nicolas De Loof --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d486117c8d9..5e7c657baf1 100644 --- a/go.mod +++ b/go.mod @@ -157,4 +157,4 @@ exclude ( ) // Test compose-spec/compose-go#874 (v3 yaml.Node-based loader) -replace github.com/compose-spec/compose-go/v3 => github.com/ndeloof/compose-go/v3 v3.0.0-20260520201336-40c31405b959 +replace github.com/compose-spec/compose-go/v3 => github.com/ndeloof/compose-go/v3 v3.0.0-20260520203259-be243038d95d diff --git a/go.sum b/go.sum index a5dca3ef2c7..99cae0a0729 100644 --- a/go.sum +++ b/go.sum @@ -272,8 +272,8 @@ github.com/morikuni/aec v1.1.0 h1:vBBl0pUnvi/Je71dsRrhMBtreIqNMYErSAbEeb8jrXQ= github.com/morikuni/aec v1.1.0/go.mod h1:xDRgiq/iw5l+zkao76YTKzKttOp2cwPEne25HDkJnBw= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/ndeloof/compose-go/v3 v3.0.0-20260520201336-40c31405b959 h1:ArBHKfqxtyKQdfokGSVusZZoDsU8wDkM4+S8vsSqEcI= -github.com/ndeloof/compose-go/v3 v3.0.0-20260520201336-40c31405b959/go.mod h1:T2nHQNgm3/qlnFZYTkVqiJbiGlwUK/ksjhkZCOLrJvg= +github.com/ndeloof/compose-go/v3 v3.0.0-20260520203259-be243038d95d h1:M7N1bFY3Bo9xAQXcITR+mBS/BxWQR2bg8Nit3rAQ6WQ= +github.com/ndeloof/compose-go/v3 v3.0.0-20260520203259-be243038d95d/go.mod h1:T2nHQNgm3/qlnFZYTkVqiJbiGlwUK/ksjhkZCOLrJvg= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid/v2 v2.1.1 h1:suPZ4ARWLOJLegGFiZZ1dFAkqzhMjL3J1TzI+5wHz8s= github.com/oklog/ulid/v2 v2.1.1/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ= From b3a8bb66aeb7871cc44054d962128db7024dbae9 Mon Sep 17 00:00:00 2001 From: Nicolas De Loof Date: Thu, 21 May 2026 08:47:51 +0200 Subject: [PATCH 4/4] =?UTF-8?q?test:=20bump=20compose-go=20to=20212e4ae=20?= =?UTF-8?q?=E2=80=94=20phase=20A=20+=20B.2/B.3/B.4/B.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit compose-go HEAD on the v3-yaml-node-context branch carries five new commits: - loader: rename loadV3 to load and expose ComposeModel.Merged()/Dict() (Phase A); LoadModelWithContext is replaced by LoadModel returning *ComposeModel. - loader: strip obsolete `version` key on yaml.Node (Phase B.5). - loader: port OmitEmpty to yaml.Node (Phase B.4). - validation: port semantic checks (ValidateSemantics) to yaml.Node (Phase B.3). - loader: port SetDefaultValues to yaml.Node (Phase B.2). Adapt cmd/compose/compose.go::ToModel to the new ProjectOptions.LoadModel return type (*loader.ComposeModel) by calling .Dict() to preserve the previous map[string]any output. Signed-off-by: Nicolas De Loof --- cmd/compose/compose.go | 6 +++++- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/cmd/compose/compose.go b/cmd/compose/compose.go index dcbba4c43f3..49dc5fda832 100644 --- a/cmd/compose/compose.go +++ b/cmd/compose/compose.go @@ -302,7 +302,11 @@ func (o *ProjectOptions) ToModel(ctx context.Context, dockerCli command.Cli, ser api.Separator = "_" } - return options.LoadModel(ctx) + model, err := options.LoadModel(ctx) + if err != nil { + return nil, err + } + return model.Dict(), nil } // ToProject loads a Compose project using the LoadProject API. diff --git a/go.mod b/go.mod index 5e7c657baf1..95334c59f7d 100644 --- a/go.mod +++ b/go.mod @@ -157,4 +157,4 @@ exclude ( ) // Test compose-spec/compose-go#874 (v3 yaml.Node-based loader) -replace github.com/compose-spec/compose-go/v3 => github.com/ndeloof/compose-go/v3 v3.0.0-20260520203259-be243038d95d +replace github.com/compose-spec/compose-go/v3 => github.com/ndeloof/compose-go/v3 v3.0.0-20260521063750-212e4aea5300 diff --git a/go.sum b/go.sum index 99cae0a0729..50bf6731d5a 100644 --- a/go.sum +++ b/go.sum @@ -272,8 +272,8 @@ github.com/morikuni/aec v1.1.0 h1:vBBl0pUnvi/Je71dsRrhMBtreIqNMYErSAbEeb8jrXQ= github.com/morikuni/aec v1.1.0/go.mod h1:xDRgiq/iw5l+zkao76YTKzKttOp2cwPEne25HDkJnBw= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/ndeloof/compose-go/v3 v3.0.0-20260520203259-be243038d95d h1:M7N1bFY3Bo9xAQXcITR+mBS/BxWQR2bg8Nit3rAQ6WQ= -github.com/ndeloof/compose-go/v3 v3.0.0-20260520203259-be243038d95d/go.mod h1:T2nHQNgm3/qlnFZYTkVqiJbiGlwUK/ksjhkZCOLrJvg= +github.com/ndeloof/compose-go/v3 v3.0.0-20260521063750-212e4aea5300 h1:lAzo8h0JqNCZ2xB7TBT2tvl8+S1H0Udd3+gUX2eNhbY= +github.com/ndeloof/compose-go/v3 v3.0.0-20260521063750-212e4aea5300/go.mod h1:T2nHQNgm3/qlnFZYTkVqiJbiGlwUK/ksjhkZCOLrJvg= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid/v2 v2.1.1 h1:suPZ4ARWLOJLegGFiZZ1dFAkqzhMjL3J1TzI+5wHz8s= github.com/oklog/ulid/v2 v2.1.1/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ=