diff --git a/.golangci.yml b/.golangci.yml index ad06ff5bd37..d00a1f9f734 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -30,6 +30,10 @@ linters: deny: - pkg: io/ioutil desc: io/ioutil package has been deprecated + - pkg: golang.org/x/exp/maps + desc: use stdlib maps package + - pkg: golang.org/x/exp/slices + desc: use stdlib slices package - pkg: gopkg.in/yaml.v2 desc: compose-go uses yaml.v3 gocritic: diff --git a/cmd/compose/scale.go b/cmd/compose/scale.go index f28a256d79a..afa1f8cb232 100644 --- a/cmd/compose/scale.go +++ b/cmd/compose/scale.go @@ -19,14 +19,13 @@ package compose import ( "context" "fmt" + "maps" + "slices" "strconv" "strings" - "github.com/docker/cli/cli/command" - "github.com/compose-spec/compose-go/v2/types" - "golang.org/x/exp/maps" - + "github.com/docker/cli/cli/command" "github.com/docker/compose/v2/pkg/api" "github.com/spf13/cobra" ) @@ -60,7 +59,7 @@ func scaleCommand(p *ProjectOptions, dockerCli command.Cli, backend api.Service) } func runScale(ctx context.Context, dockerCli command.Cli, backend api.Service, opts scaleOptions, serviceReplicaTuples map[string]int) error { - services := maps.Keys(serviceReplicaTuples) + services := slices.Sorted(maps.Keys(serviceReplicaTuples)) project, _, err := opts.ToProject(ctx, dockerCli, services) if err != nil { return err diff --git a/go.mod b/go.mod index a6950445c9b..c104ba59020 100644 --- a/go.mod +++ b/go.mod @@ -53,7 +53,6 @@ require ( go.opentelemetry.io/otel/trace v1.35.0 go.uber.org/goleak v1.3.0 go.uber.org/mock v0.5.2 - golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 golang.org/x/sync v0.14.0 golang.org/x/sys v0.33.0 google.golang.org/grpc v1.72.1 diff --git a/go.sum b/go.sum index 12d466dd4e8..e2c9a919615 100644 --- a/go.sum +++ b/go.sum @@ -544,8 +544,6 @@ golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWP golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE= golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc= -golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM= -golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= diff --git a/pkg/bridge/convert.go b/pkg/bridge/convert.go index aa2b64a0ecc..d514354e7e0 100644 --- a/pkg/bridge/convert.go +++ b/pkg/bridge/convert.go @@ -111,14 +111,14 @@ func convert(ctx context.Context, dockerCli command.Cli, model map[string]any, o return err } - user, err := user.Current() + usr, err := user.Current() if err != nil { return err } created, err := dockerCli.Client().ContainerCreate(ctx, &container.Config{ Image: transformation, Env: []string{"LICENSE_AGREEMENT=true"}, - User: user.Uid, + User: usr.Uid, }, &container.HostConfig{ AutoRemove: true, Binds: binds, @@ -139,11 +139,11 @@ func convert(ctx context.Context, dockerCli command.Cli, model map[string]any, o } // LoadAdditionalResources loads additional resources from the project, such as image references, secrets, configs and exposed ports -func LoadAdditionalResources(ctx context.Context, cli command.Cli, project *types.Project) (*types.Project, error) { +func LoadAdditionalResources(ctx context.Context, dockerCLI command.Cli, project *types.Project) (*types.Project, error) { for name, service := range project.Services { imageName := api.GetImageNameOrDefault(service, project.Name) - inspect, err := inspectWithPull(ctx, cli, imageName) + inspect, err := inspectWithPull(ctx, dockerCLI, imageName) if err != nil { return nil, err } diff --git a/pkg/compose/generate.go b/pkg/compose/generate.go index 61906b94946..025d5093d55 100644 --- a/pkg/compose/generate.go +++ b/pkg/compose/generate.go @@ -19,6 +19,7 @@ package compose import ( "context" "fmt" + "maps" "slices" "strings" @@ -28,8 +29,6 @@ import ( "github.com/docker/docker/api/types/filters" "github.com/docker/docker/api/types/mount" "github.com/docker/docker/api/types/network" - - "golang.org/x/exp/maps" ) func (s *composeService) Generate(ctx context.Context, options api.GenerateOptions) (*types.Project, error) {