From 910c4c3ec6402654dae894b66f3593a05cf0d3a2 Mon Sep 17 00:00:00 2001 From: Tonis Tiigi Date: Tue, 18 Mar 2025 17:57:38 -0700 Subject: [PATCH] go.mod: update minimum go version to go1.23 Signed-off-by: Tonis Tiigi --- cache/manager.go | 9 +++------ client/solve.go | 8 ++------ cmd/buildkitd/main_oci_worker.go | 5 ++--- go.mod | 2 +- solver/cachekey.go | 5 ++--- solver/jobs.go | 5 ++--- solver/llbsolver/cdidevices/manager.go | 9 +++------ worker/containerd/containerd.go | 5 ++--- worker/runc/runc.go | 5 ++--- 9 files changed, 19 insertions(+), 34 deletions(-) diff --git a/cache/manager.go b/cache/manager.go index dd99dd68d..327b4f1ef 100644 --- a/cache/manager.go +++ b/cache/manager.go @@ -3,6 +3,7 @@ package cache import ( "context" "fmt" + "maps" "sort" "strings" "sync" @@ -742,9 +743,7 @@ func (cm *cacheManager) Merge(ctx context.Context, inputParents []ImmutableRef, default: parents.mergeParents = append(parents.mergeParents, parent.clone()) } - for dgst, handler := range parent.descHandlers { - dhs[dgst] = handler - } + maps.Copy(dhs, parent.descHandlers) } // On success, createMergeRef takes ownership of parents @@ -868,9 +867,7 @@ func (cm *cacheManager) Diff(ctx context.Context, lower, upper ImmutableRef, pg } else { dps.upper = parent.clone() } - for dgst, handler := range parent.descHandlers { - dhs[dgst] = handler - } + maps.Copy(dhs, parent.descHandlers) } // Check to see if lower is an ancestor of upper. If so, define the diff as a merge diff --git a/client/solve.go b/client/solve.go index 57ee82d05..897a95ee6 100644 --- a/client/solve.go +++ b/client/solve.go @@ -142,9 +142,7 @@ func (c *Client) solve(ctx context.Context, def *llb.Definition, runGateway runG } contentStores := map[string]content.Store{} - for key, store := range cacheOpt.contentStores { - contentStores[key] = store - } + maps.Copy(contentStores, cacheOpt.contentStores) for key, store := range opt.OCIStores { key2 := "oci:" + key if _, ok := contentStores[key2]; ok { @@ -538,9 +536,7 @@ func parseCacheOptions(ctx context.Context, isGateway bool, opt SolveOpt) (*cach func prepareMounts(opt *SolveOpt) (map[string]fsutil.FS, error) { // merge local mounts and fallback local directories together mounts := make(map[string]fsutil.FS) - for k, mount := range opt.LocalMounts { - mounts[k] = mount - } + maps.Copy(mounts, opt.LocalMounts) for k, dir := range opt.LocalDirs { mount, err := fsutil.NewFS(dir) if err != nil { diff --git a/cmd/buildkitd/main_oci_worker.go b/cmd/buildkitd/main_oci_worker.go index ec2f36e47..f31c5a04a 100644 --- a/cmd/buildkitd/main_oci_worker.go +++ b/cmd/buildkitd/main_oci_worker.go @@ -5,6 +5,7 @@ package main import ( "context" "fmt" + "maps" "os" "os/exec" "path/filepath" @@ -190,9 +191,7 @@ func applyOCIFlags(c *cli.Context, cfg *config.Config) error { if cfg.Workers.OCI.Labels == nil { cfg.Workers.OCI.Labels = make(map[string]string) } - for k, v := range labels { - cfg.Workers.OCI.Labels[k] = v - } + maps.Copy(cfg.Workers.OCI.Labels, labels) if c.GlobalIsSet("oci-worker-snapshotter") { cfg.Workers.OCI.Snapshotter = c.GlobalString("oci-worker-snapshotter") } diff --git a/go.mod b/go.mod index 8eccd8ecf..fd599cf4f 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/moby/buildkit -go 1.22.0 +go 1.23.0 require ( github.com/Azure/azure-sdk-for-go/sdk/azcore v1.16.0 diff --git a/solver/cachekey.go b/solver/cachekey.go index 8c5ec92de..1f34467b8 100644 --- a/solver/cachekey.go +++ b/solver/cachekey.go @@ -1,6 +1,7 @@ package solver import ( + "maps" "slices" "sync" @@ -101,9 +102,7 @@ func (ck *CacheKey) clone() *CacheKey { output: ck.output, ids: make(map[*cacheManager]string, len(ck.ids)), } - for cm, id := range ck.ids { - nk.ids[cm] = id - } + maps.Copy(nk.ids, ck.ids) ck.mu.RUnlock() return nk } diff --git a/solver/jobs.go b/solver/jobs.go index 6e3150420..030eef03c 100644 --- a/solver/jobs.go +++ b/solver/jobs.go @@ -3,6 +3,7 @@ package solver import ( "context" "fmt" + "maps" "sync" "time" @@ -568,9 +569,7 @@ func (jl *Solver) loadUnlocked(ctx context.Context, v, parent Vertex, j *Job, ca } parentState.childVtx[dgst] = struct{}{} - for id, c := range parentState.cache { - st.cache[id] = c - } + maps.Copy(st.cache, parentState.cache) } } diff --git a/solver/llbsolver/cdidevices/manager.go b/solver/llbsolver/cdidevices/manager.go index 673c823f2..274c6a40d 100644 --- a/solver/llbsolver/cdidevices/manager.go +++ b/solver/llbsolver/cdidevices/manager.go @@ -2,6 +2,7 @@ package cdidevices import ( "context" + "maps" "strconv" "strings" @@ -268,13 +269,9 @@ func deviceAnnotations(dev *cdi.Device) map[string]string { } out := make(map[string]string) // spec annotations - for k, v := range dev.GetSpec().Annotations { - out[k] = v - } + maps.Copy(out, dev.GetSpec().Annotations) // device annotations - for k, v := range dev.Device.Annotations { - out[k] = v - } + maps.Copy(out, dev.Device.Annotations) return out } diff --git a/worker/containerd/containerd.go b/worker/containerd/containerd.go index c6a5b1e05..0d34fe9b4 100644 --- a/worker/containerd/containerd.go +++ b/worker/containerd/containerd.go @@ -2,6 +2,7 @@ package containerd import ( "context" + "maps" "os" "path/filepath" "strconv" @@ -100,9 +101,7 @@ func newContainerd(client *ctd.Client, workerOpts WorkerOptions) (base.WorkerOpt } xlabels[wlabel.ContainerdNamespace] = workerOpts.Namespace xlabels[wlabel.ContainerdUUID] = serverInfo.UUID - for k, v := range workerOpts.Labels { - xlabels[k] = v - } + maps.Copy(xlabels, workerOpts.Labels) lm := leaseutil.WithNamespace(client.LeasesService(), workerOpts.Namespace) diff --git a/worker/runc/runc.go b/worker/runc/runc.go index 1626530d5..aa2e70330 100644 --- a/worker/runc/runc.go +++ b/worker/runc/runc.go @@ -4,6 +4,7 @@ package runc import ( "context" + "maps" "os" "path/filepath" "strconv" @@ -128,9 +129,7 @@ func NewWorkerOpt(root string, snFactory SnapshotterFactory, rootless bool, proc xlabels[wlabel.ApparmorProfile] = apparmorProfile } - for k, v := range labels { - xlabels[k] = v - } + maps.Copy(xlabels, labels) lm := leaseutil.WithNamespace(ctdmetadata.NewLeaseManager(mdb), "buildkit") snap := containerdsnapshot.NewSnapshotter(snFactory.Name, mdb.Snapshotter(snFactory.Name), "buildkit", idmap) if err := cache.MigrateV2(