diff --git a/bake/bake.go b/bake/bake.go index b42c52dcef71..1e8e54f414c0 100644 --- a/bake/bake.go +++ b/bake/bake.go @@ -7,6 +7,7 @@ import ( "fmt" "io" "maps" + "net/url" "os" "path" "path/filepath" @@ -29,6 +30,7 @@ import ( hcl "github.com/hashicorp/hcl/v2" "github.com/moby/buildkit/client" "github.com/moby/buildkit/client/llb" + "github.com/moby/buildkit/frontend/dockerfile/dfgitutil" "github.com/pkg/errors" "github.com/zclconf/go-cty/cty" "github.com/zclconf/go-cty/cty/convert" @@ -1299,6 +1301,7 @@ func updateContext(t *build.Inputs, inp *Input) { for k, v := range t.NamedContexts { if v.Path == "." { t.NamedContexts[k] = build.NamedContext{Path: inp.URL} + continue } if strings.HasPrefix(v.Path, "cwd://") || strings.HasPrefix(v.Path, "target:") || strings.HasPrefix(v.Path, "docker-image:") { continue @@ -1306,8 +1309,10 @@ func updateContext(t *build.Inputs, inp *Input) { if urlutil.IsRemoteURL(v.Path) { continue } - st := llb.Scratch().File(llb.Copy(*inp.State, v.Path, "/"), llb.WithCustomNamef("set context %s to %s", k, v.Path)) - t.NamedContexts[k] = build.NamedContext{State: &st, Path: inp.URL} + st := llb.Scratch().File(llb.Copy(*inp.State, v.Path, "/", &llb.CopyInfo{ + CopyDirContentsOnly: true, + }), llb.WithCustomNamef("set context %s to %s", k, v.Path)) + t.NamedContexts[k] = build.NamedContext{State: &st, Path: remoteURLWithSubdir(inp.URL, v.Path)} } if t.ContextPath == "." { @@ -1327,7 +1332,44 @@ func updateContext(t *build.Inputs, inp *Input) { llb.WithCustomNamef("set context to %s", t.ContextPath), ) t.ContextState = &st - t.ContextPath = inp.URL + t.ContextPath = remoteURLWithSubdir(inp.URL, t.ContextPath) +} + +func remoteURLWithSubdir(remoteURL, subdir string) string { + subdir = path.Clean(subdir) + if subdir == "." || remoteURL == "" { + return remoteURL + } + + // only relevant for git urls + parsed, ok, err := dfgitutil.ParseGitRef(remoteURL) + if err != nil || !ok { + return remoteURL + } + if parsed.SubDir != "" { + subdir = path.Clean(path.Join(parsed.SubDir, subdir)) + } + + // keep query string and transport style untouched nad only append/adjust + // fragment subdir + if !strings.Contains(remoteURL, "#") && subdir != "" { + if u, err := url.Parse(remoteURL); err == nil { + q := u.Query() + if q.Has("subdir") { + q.Set("subdir", subdir) + u.RawQuery = q.Encode() + return u.String() + } + } + } + + // otherwise, we adjust the fragment part to add/replace subdir + base, frag, _ := strings.Cut(remoteURL, "#") + ref, _, _ := strings.Cut(frag, ":") + if ref == "" { + return base + "#:" + subdir + } + return base + "#" + ref + ":" + subdir } func collectLocalPaths(t build.Inputs) []string { diff --git a/bake/bake_test.go b/bake/bake_test.go index 1a97a9455266..b138b5c21e83 100644 --- a/bake/bake_test.go +++ b/bake/bake_test.go @@ -2415,6 +2415,52 @@ target "mtx" { } } +func TestRemoteURLWithSubdir(t *testing.T) { + tests := []struct { + name string + remote string + subdir string + want string + }{ + { + name: "git no ref", + remote: "https://github.com/docker/buildx.git", + subdir: "components/interface", + want: "https://github.com/docker/buildx.git#:components/interface", + }, + { + name: "git with ref", + remote: "https://github.com/docker/buildx.git#main", + subdir: "components/interface", + want: "https://github.com/docker/buildx.git#main:components/interface", + }, + { + name: "git with existing subdir", + remote: "https://github.com/docker/buildx.git#main:base", + subdir: "components/interface", + want: "https://github.com/docker/buildx.git#main:base/components/interface", + }, + { + name: "git query ref", + remote: "https://github.com/docker/buildx.git?branch=main", + subdir: "components/interface", + want: "https://github.com/docker/buildx.git?branch=main#:components/interface", + }, + { + name: "non git", + remote: "https://example.com/context.tar.gz", + subdir: "components/interface", + want: "https://example.com/context.tar.gz", + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := remoteURLWithSubdir(tt.remote, tt.subdir) + assert.Equal(t, tt.want, got) + }) + } +} + func stringify[V fmt.Stringer](values []V) []string { s := make([]string, len(values)) for i, v := range values { diff --git a/go.mod b/go.mod index dde099306fb1..b10c331a1356 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,7 @@ require ( github.com/docker/docker v28.5.2+incompatible github.com/docker/go-units v0.5.0 github.com/gofrs/flock v0.13.0 - github.com/golang/snappy v0.0.4 + github.com/golang/snappy v1.0.0 github.com/google/go-dap v0.12.1-0.20250904181021-d7a2259b058b github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 github.com/google/uuid v1.6.0 @@ -29,7 +29,7 @@ require ( github.com/hashicorp/hcl/v2 v2.24.0 github.com/in-toto/in-toto-golang v0.10.0 github.com/mitchellh/hashstructure/v2 v2.0.2 - github.com/moby/buildkit v0.28.0-rc2 + github.com/moby/buildkit v0.28.0 github.com/moby/go-archive v0.2.0 github.com/moby/moby/api v1.53.0 github.com/moby/moby/client v0.2.2 @@ -101,7 +101,7 @@ require ( github.com/blang/semver v3.5.1+incompatible // indirect github.com/cenkalti/backoff/v5 v5.0.3 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect - github.com/cloudflare/circl v1.6.1 // indirect + github.com/cloudflare/circl v1.6.3 // indirect github.com/containerd/containerd/api v1.10.0 // indirect github.com/containerd/errdefs/pkg v0.3.0 // indirect github.com/containerd/ttrpc v1.2.7 // indirect @@ -227,7 +227,7 @@ require ( go.opentelemetry.io/otel/sdk/metric v1.38.0 // indirect go.opentelemetry.io/proto/otlp v1.7.1 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect - golang.org/x/net v0.50.0 // indirect + golang.org/x/net v0.51.0 // indirect golang.org/x/oauth2 v0.34.0 // indirect golang.org/x/time v0.14.0 // indirect golang.org/x/tools v0.41.0 // indirect diff --git a/go.sum b/go.sum index ce1d2dd66312..c2fffab7f909 100644 --- a/go.sum +++ b/go.sum @@ -106,8 +106,8 @@ github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1x github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0= -github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= +github.com/cloudflare/circl v1.6.3 h1:9GPOhQGF9MCYUeXyMYlqTR6a5gTrgR/fBLXvUgtVcg8= +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.9.1 h1:8UwI+ujNU+9Ffkf/YgAm/qM9/eU7Jn8nHzWG721W4rs= @@ -291,8 +291,8 @@ github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8J github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= -github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= -github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs= +github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/certificate-transparency-go v1.3.2 h1:9ahSNZF2o7SYMaKaXhAumVEzXB2QaayzII9C8rv7v+A= github.com/google/certificate-transparency-go v1.3.2/go.mod h1:H5FpMUaGa5Ab2+KCYsxg6sELw3Flkl7pGZzWdBoYLXs= github.com/google/flatbuffers v25.2.10+incompatible h1:F3vclr7C3HpB1k9mxCGRMXq6FdUalZ6H/pNX4FP1v0Q= @@ -422,8 +422,8 @@ github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4 github.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/zz4kQkprJgF2EVszyDE= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/buildkit v0.28.0-rc2 h1:Or6AOgXhcrbw6sdUU0W3qzAqPrq+AXd5PS+TPTvBvjw= -github.com/moby/buildkit v0.28.0-rc2/go.mod h1:OvWR1wd21skG+T2wKP3J3dZO+C+oEbIXoyWQTl4dX2A= +github.com/moby/buildkit v0.28.0 h1:rKulfRRSduHJPNpLTk481fHElqN9tps0VUx8YV/5zsA= +github.com/moby/buildkit v0.28.0/go.mod h1:RCuOcj/bVsCriBG8NeFzRxjiCFQKnKP7KOVlNTS18t4= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= github.com/moby/go-archive v0.2.0 h1:zg5QDUM2mi0JIM9fdQZWC7U8+2ZfixfTYoHL7rWUcP8= @@ -688,8 +688,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.50.0 h1:ucWh9eiCGyDR3vtzso0WMQinm2Dnt8cFMuQa9K33J60= -golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM= +golang.org/x/net v0.51.0 h1:94R/GTO7mt3/4wIKpcR5gkGmRLOuE/2hNGeWq/GBIFo= +golang.org/x/net v0.51.0/go.mod h1:aamm+2QF5ogm02fjy5Bb7CQ0WMt1/WVM7FtyaTLlA9Y= golang.org/x/oauth2 v0.34.0 h1:hqK/t4AKgbqWkdkcAeI8XLmbK+4m4G5YeQRrmiotGlw= golang.org/x/oauth2 v0.34.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= diff --git a/hack/Vagrantfile.openbsd b/hack/Vagrantfile.openbsd index c58f4dc278ba..01ff3d76a824 100644 --- a/hack/Vagrantfile.openbsd +++ b/hack/Vagrantfile.openbsd @@ -3,7 +3,7 @@ Vagrant.configure("2") do |config| config.vm.box = "pygolo/openbsd7" - config.vm.box_version = "7.5" + config.vm.box_version = "7.7" config.vm.boot_timeout = 900 config.vm.synced_folder ".", "/vagrant", type: "rsync" config.ssh.keep_alive = true @@ -11,7 +11,7 @@ Vagrant.configure("2") do |config| config.vm.provision "init", type: "shell", run: "once" do |sh| sh.inline = <<~SHELL set -ex - export PKG_PATH=https://mirrors.ocf.berkeley.edu/pub/OpenBSD/7.5/packages/amd64/ + export PKG_PATH=https://cdn.openbsd.org/pub/OpenBSD/$(uname -r)/packages/$(machine -a)/ pkg_add -x git ftp https://go.dev/dl/go#{ENV['GO_VERSION']}.openbsd-amd64.tar.gz diff --git a/tests/bake.go b/tests/bake.go index 8de076e69cee..4daa0515f6bc 100644 --- a/tests/bake.go +++ b/tests/bake.go @@ -51,6 +51,8 @@ var bakeTests = []func(t *testing.T, sb integration.Sandbox){ testBakeLocalCwdOverride, testBakeRemoteCmdContextOverride, testBakeRemoteContextSubdir, + testBakeRemoteNamedContextSubdir, + testBakeRemoteNamedContextDot, testBakeRemoteCmdContextEscapeRoot, testBakeRemoteCmdContextEscapeRelative, testBakeRemoteDockerfileCwd, @@ -563,12 +565,12 @@ COPY super-cool.txt / }{ { name: "no ref", - expectedContext: addr, + expectedContext: addr + "#:bar", }, { name: "branch ref", ref: "main", - expectedContext: addr + "#main", + expectedContext: addr + "#main:bar", }, } for _, tt := range tests { @@ -920,6 +922,80 @@ COPY super-cool.txt / require.FileExists(t, filepath.Join(dirDest, "super-cool.txt")) } +// https://github.com/docker/buildx/issues/3670 +func testBakeRemoteNamedContextSubdir(t *testing.T, sb integration.Sandbox) { + bakefile := []byte(` +target default { + context = "./build" + dockerfile = "Dockerfile" + contexts = { + files = "./files-src/" + } +} +`) + dockerfile := []byte(` +FROM scratch +COPY --from=files file.txt /file.txt +`) + + dir := tmpdir( + t, + fstest.CreateFile("docker-bake.hcl", bakefile, 0600), + fstest.CreateDir("build", 0700), + fstest.CreateFile("build/Dockerfile", dockerfile, 0600), + fstest.CreateDir("files-src", 0700), + fstest.CreateFile("files-src/file.txt", []byte("hello"), 0600), + ) + dirDest := t.TempDir() + + git, err := gitutil.New(gitutil.WithWorkingDir(dir)) + require.NoError(t, err) + gittestutil.GitInit(git, t) + gittestutil.GitAdd(git, t, "docker-bake.hcl", "build", "files-src") + gittestutil.GitCommit(git, t, "initial commit") + addr := gittestutil.GitServeHTTP(git, t) + + out, err := bakeCmd(sb, withDir("/tmp"), withArgs(addr, "--set", "*.output=type=local,dest="+dirDest)) + require.NoError(t, err, out) + require.FileExists(t, filepath.Join(dirDest, "file.txt")) +} + +func testBakeRemoteNamedContextDot(t *testing.T, sb integration.Sandbox) { + bakefile := []byte(` +target default { + context = "./build" + dockerfile = "Dockerfile" + contexts = { + files = "." + } +} +`) + dockerfile := []byte(` +FROM scratch +COPY --from=files marker.txt /marker.txt +`) + + dir := tmpdir( + t, + fstest.CreateFile("docker-bake.hcl", bakefile, 0600), + fstest.CreateDir("build", 0700), + fstest.CreateFile("build/Dockerfile", dockerfile, 0600), + fstest.CreateFile("marker.txt", []byte("hello"), 0600), + ) + dirDest := t.TempDir() + + git, err := gitutil.New(gitutil.WithWorkingDir(dir)) + require.NoError(t, err) + gittestutil.GitInit(git, t) + gittestutil.GitAdd(git, t, "docker-bake.hcl", "build", "marker.txt") + gittestutil.GitCommit(git, t, "initial commit") + addr := gittestutil.GitServeHTTP(git, t) + + out, err := bakeCmd(sb, withDir("/tmp"), withArgs(addr, "--set", "*.output=type=local,dest="+dirDest)) + require.NoError(t, err, out) + require.FileExists(t, filepath.Join(dirDest, "marker.txt")) +} + func testBakeRemoteCmdContextEscapeRoot(t *testing.T, sb integration.Sandbox) { dirSrc := tmpdir( t, diff --git a/vendor/github.com/cloudflare/circl/internal/sha3/xor_unaligned.go b/vendor/github.com/cloudflare/circl/internal/sha3/xor_unaligned.go index 052fc8d32d2c..0910613465a2 100644 --- a/vendor/github.com/cloudflare/circl/internal/sha3/xor_unaligned.go +++ b/vendor/github.com/cloudflare/circl/internal/sha3/xor_unaligned.go @@ -14,14 +14,14 @@ import "unsafe" type storageBuf [maxRate / 8]uint64 func (b *storageBuf) asBytes() *[maxRate]byte { - return (*[maxRate]byte)(unsafe.Pointer(b)) + return (*[maxRate]byte)(unsafe.Pointer(b)) //nolint:gosec } // xorInuses unaligned reads and writes to update d.a to contain d.a // XOR buf. func xorIn(d *State, buf []byte) { n := len(buf) - bw := (*[maxRate / 8]uint64)(unsafe.Pointer(&buf[0]))[: n/8 : n/8] + bw := (*[maxRate / 8]uint64)(unsafe.Pointer(&buf[0]))[: n/8 : n/8] //nolint:gosec if n >= 72 { d.a[0] ^= bw[0] d.a[1] ^= bw[1] @@ -56,6 +56,6 @@ func xorIn(d *State, buf []byte) { } func copyOut(d *State, buf []byte) { - ab := (*[maxRate]uint8)(unsafe.Pointer(&d.a[0])) + ab := (*[maxRate]uint8)(unsafe.Pointer(&d.a[0])) //nolint:gosec copy(buf, ab[:]) } diff --git a/vendor/github.com/cloudflare/circl/sign/sign.go b/vendor/github.com/cloudflare/circl/sign/sign.go index 557d6f09605e..1247f1b626ea 100644 --- a/vendor/github.com/cloudflare/circl/sign/sign.go +++ b/vendor/github.com/cloudflare/circl/sign/sign.go @@ -38,6 +38,12 @@ type PrivateKey interface { encoding.BinaryMarshaler } +// A private key that retains the seed with which it was generated. +type Seeded interface { + // returns the seed if retained, otherwise nil + Seed() []byte +} + // A Scheme represents a specific instance of a signature scheme. type Scheme interface { // Name of the scheme. diff --git a/vendor/github.com/golang/snappy/README b/vendor/github.com/golang/snappy/README index cea12879a0ea..fd191f78c7f8 100644 --- a/vendor/github.com/golang/snappy/README +++ b/vendor/github.com/golang/snappy/README @@ -1,8 +1,13 @@ The Snappy compression format in the Go programming language. -To download and install from source: +To use as a library: $ go get github.com/golang/snappy +To use as a binary: +$ go install github.com/golang/snappy/cmd/snappytool@latest +$ cat decoded | ~/go/bin/snappytool -e > encoded +$ cat encoded | ~/go/bin/snappytool -d > decoded + Unless otherwise noted, the Snappy-Go source files are distributed under the BSD-style license found in the LICENSE file. diff --git a/vendor/github.com/golang/snappy/encode_arm64.s b/vendor/github.com/golang/snappy/encode_arm64.s index f8d54adfc5c1..f0c876a24846 100644 --- a/vendor/github.com/golang/snappy/encode_arm64.s +++ b/vendor/github.com/golang/snappy/encode_arm64.s @@ -27,7 +27,7 @@ // The unusual register allocation of local variables, such as R10 for the // source pointer, matches the allocation used at the call site in encodeBlock, // which makes it easier to manually inline this function. -TEXT ·emitLiteral(SB), NOSPLIT, $32-56 +TEXT ·emitLiteral(SB), NOSPLIT, $40-56 MOVD dst_base+0(FP), R8 MOVD lit_base+24(FP), R10 MOVD lit_len+32(FP), R3 @@ -261,7 +261,7 @@ extendMatchEnd: // "var table [maxTableSize]uint16" takes up 32768 bytes of stack space. An // extra 64 bytes, to call other functions, and an extra 64 bytes, to spill // local variables (registers) during calls gives 32768 + 64 + 64 = 32896. -TEXT ·encodeBlock(SB), 0, $32896-56 +TEXT ·encodeBlock(SB), 0, $32904-56 MOVD dst_base+0(FP), R8 MOVD src_base+24(FP), R7 MOVD src_len+32(FP), R14 diff --git a/vendor/golang.org/x/net/html/iter.go b/vendor/golang.org/x/net/html/iter.go index 54be8fd30fd5..349ef73e64e5 100644 --- a/vendor/golang.org/x/net/html/iter.go +++ b/vendor/golang.org/x/net/html/iter.go @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build go1.23 - package html import "iter" diff --git a/vendor/golang.org/x/net/http2/frame.go b/vendor/golang.org/x/net/http2/frame.go index a26039c130c2..be75badcc0ef 100644 --- a/vendor/golang.org/x/net/http2/frame.go +++ b/vendor/golang.org/x/net/http2/frame.go @@ -145,7 +145,9 @@ var frameParsers = [...]frameParser{ func typeFrameParser(t FrameType) frameParser { if int(t) < len(frameParsers) { - return frameParsers[t] + if f := frameParsers[t]; f != nil { + return f + } } return parseUnknownFrame } diff --git a/vendor/modules.txt b/vendor/modules.txt index 2b00c1c5a271..688103ba9dbd 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -166,7 +166,7 @@ github.com/cenkalti/backoff/v5 # github.com/cespare/xxhash/v2 v2.3.0 ## explicit; go 1.11 github.com/cespare/xxhash/v2 -# github.com/cloudflare/circl v1.6.1 +# github.com/cloudflare/circl v1.6.3 ## explicit; go 1.22.0 github.com/cloudflare/circl/dh/x25519 github.com/cloudflare/circl/dh/x448 @@ -484,7 +484,7 @@ github.com/golang/protobuf/jsonpb github.com/golang/protobuf/proto github.com/golang/protobuf/ptypes/any github.com/golang/protobuf/ptypes/timestamp -# github.com/golang/snappy v0.0.4 +# github.com/golang/snappy v1.0.0 ## explicit github.com/golang/snappy # github.com/google/certificate-transparency-go v1.3.2 @@ -652,7 +652,7 @@ github.com/mitchellh/go-wordwrap # github.com/mitchellh/hashstructure/v2 v2.0.2 ## explicit; go 1.14 github.com/mitchellh/hashstructure/v2 -# github.com/moby/buildkit v0.28.0-rc2 +# github.com/moby/buildkit v0.28.0 ## explicit; go 1.25.5 github.com/moby/buildkit/api/services/control github.com/moby/buildkit/api/types @@ -1315,8 +1315,8 @@ golang.org/x/mod/internal/lazyregexp golang.org/x/mod/module golang.org/x/mod/semver golang.org/x/mod/sumdb/note -# golang.org/x/net v0.50.0 -## explicit; go 1.24.0 +# golang.org/x/net v0.51.0 +## explicit; go 1.25.0 golang.org/x/net/html golang.org/x/net/html/atom golang.org/x/net/http/httpguts