From ec3b99180b64e1e91c7c158d7d2e9dc167676509 Mon Sep 17 00:00:00 2001 From: Tonis Tiigi Date: Wed, 27 Aug 2025 13:39:14 -0700 Subject: [PATCH] vendor: update buildkit to v0.24.0-rc1 Signed-off-by: Tonis Tiigi --- build/utils.go | 4 +- commands/history/utils.go | 4 +- go.mod | 6 +- go.sum | 11 +- .../cpuguy83/go-md2man/v2/md2man/md2man.go | 1 + .../cpuguy83/go-md2man/v2/md2man/roff.go | 15 +-- .../dockerfile/dfgitutil}/git_ref.go | 16 ++- .../frontend/dockerfile/linter/ruleset.go | 18 +++ .../buildkit/frontend/dockerui/context.go | 4 +- .../moby/buildkit/util/gitutil/git_url.go | 4 +- .../util/tracing/multi_span_exporter.go | 24 ++-- vendor/golang.org/x/sync/errgroup/errgroup.go | 121 +++++------------- vendor/modules.txt | 7 +- 13 files changed, 97 insertions(+), 138 deletions(-) rename vendor/github.com/moby/buildkit/{util/gitutil => frontend/dockerfile/dfgitutil}/git_ref.go (87%) diff --git a/build/utils.go b/build/utils.go index 52d501886..5ab306f1b 100644 --- a/build/utils.go +++ b/build/utils.go @@ -11,7 +11,7 @@ import ( "github.com/docker/buildx/driver" "github.com/docker/cli/opts" - "github.com/moby/buildkit/util/gitutil" + "github.com/moby/buildkit/frontend/dockerfile/dfgitutil" "github.com/pkg/errors" "github.com/sirupsen/logrus" ) @@ -36,7 +36,7 @@ func IsRemoteURL(c string) bool { if isHTTPURL(c) { return true } - if _, err := gitutil.ParseGitRef(c); err == nil { + if _, err := dfgitutil.ParseGitRef(c); err == nil { return true } return false diff --git a/commands/history/utils.go b/commands/history/utils.go index 2e64889fc..df7427577 100644 --- a/commands/history/utils.go +++ b/commands/history/utils.go @@ -18,7 +18,7 @@ import ( "github.com/docker/buildx/localstate" "github.com/docker/cli/cli/command" controlapi "github.com/moby/buildkit/api/services/control" - "github.com/moby/buildkit/util/gitutil" + "github.com/moby/buildkit/frontend/dockerfile/dfgitutil" "github.com/pkg/errors" "golang.org/x/sync/errgroup" ) @@ -332,7 +332,7 @@ func valueFiler(key, value, sep string) matchFunc { recValue = v } else { if context, ok := rec.FrontendAttrs["context"]; ok { - if ref, err := gitutil.ParseGitRef(context); err == nil { + if ref, err := dfgitutil.ParseGitRef(context); err == nil { recValue = ref.Remote } } diff --git a/go.mod b/go.mod index d5048b229..cbb94a9af 100644 --- a/go.mod +++ b/go.mod @@ -29,7 +29,7 @@ require ( github.com/hashicorp/hcl/v2 v2.23.0 github.com/in-toto/in-toto-golang v0.9.0 github.com/mitchellh/hashstructure/v2 v2.0.2 - github.com/moby/buildkit v0.23.0-rc1.0.20250806140246-955c2b2f7d01 // master + github.com/moby/buildkit v0.24.0-rc1 github.com/moby/go-archive v0.1.0 github.com/moby/sys/atomicwriter v0.1.0 github.com/moby/sys/mountinfo v0.7.2 @@ -57,7 +57,7 @@ require ( go.opentelemetry.io/otel/trace v1.35.0 go.yaml.in/yaml/v3 v3.0.4 golang.org/x/mod v0.24.0 - golang.org/x/sync v0.14.0 + golang.org/x/sync v0.16.0 golang.org/x/sys v0.33.0 golang.org/x/term v0.31.0 golang.org/x/text v0.24.0 @@ -92,7 +92,7 @@ require ( github.com/containerd/errdefs/pkg v0.3.0 // indirect github.com/containerd/ttrpc v1.2.7 // indirect github.com/containerd/typeurl/v2 v2.2.3 // indirect - github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect github.com/docker/distribution v2.8.3+incompatible // indirect github.com/docker/docker-credential-helpers v0.9.3 // indirect github.com/docker/go-connections v0.5.0 // indirect diff --git a/go.sum b/go.sum index d2cfbc43e..6106610f1 100644 --- a/go.sum +++ b/go.sum @@ -95,8 +95,9 @@ github.com/containerd/ttrpc v1.2.7 h1:qIrroQvuOL9HQ1X6KHe2ohc7p+HP/0VE6XPU7elJRq github.com/containerd/ttrpc v1.2.7/go.mod h1:YCXHsb32f+Sq5/72xHubdiJRQY9inL4a4ZQrAbN1q9o= github.com/containerd/typeurl/v2 v2.2.3 h1:yNA/94zxWdvYACdYO8zofhrTVuQY73fFU1y++dYSw40= github.com/containerd/typeurl/v2 v2.2.3/go.mod h1:95ljDnPfD3bAbDJRugOiShd/DlAAsxGtUBhJxIn7SCk= -github.com/cpuguy83/go-md2man/v2 v2.0.6 h1:XJtiaUW6dEEqVuZiMTn1ldk455QWwEIsMIJlo5vtkx0= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= +github.com/cpuguy83/go-md2man/v2 v2.0.7 h1:zbFlGlXEAKlwXpmvle3d8Oe3YnkKIK4xSRTd3sHPnBo= +github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s= github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE= @@ -254,8 +255,8 @@ github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZX github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4= github.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/zz4kQkprJgF2EVszyDE= github.com/mitchellh/mapstructure v0.0.0-20150613213606-2caf8efc9366/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/moby/buildkit v0.23.0-rc1.0.20250806140246-955c2b2f7d01 h1:ua0f++eVvjBLs77tBmg5Ko2x6BTgjULihEu03ogLBC8= -github.com/moby/buildkit v0.23.0-rc1.0.20250806140246-955c2b2f7d01/go.mod h1:8qy9VSHDZuin0BnQzxbRGSXFKQiT0cgeKLWiNRw4/5Q= +github.com/moby/buildkit v0.24.0-rc1 h1:taA+MPeYWtGyRQ1SGbdTHVk5khWKFR7f9WI2coW/Ggs= +github.com/moby/buildkit v0.24.0-rc1/go.mod h1:4qovICAdR2H4C7+EGMRva5zgHW1gyhT4/flHI7F5F9k= 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.1.0 h1:Kk/5rdW/g+H8NHdJW2gsXyZ7UnzvJNOy6VKJqueWdcQ= @@ -469,8 +470,8 @@ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= -golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= +golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= diff --git a/vendor/github.com/cpuguy83/go-md2man/v2/md2man/md2man.go b/vendor/github.com/cpuguy83/go-md2man/v2/md2man/md2man.go index 62d91b77d..5673f5c0b 100644 --- a/vendor/github.com/cpuguy83/go-md2man/v2/md2man/md2man.go +++ b/vendor/github.com/cpuguy83/go-md2man/v2/md2man/md2man.go @@ -1,3 +1,4 @@ +// Package md2man aims in converting markdown into roff (man pages). package md2man import ( diff --git a/vendor/github.com/cpuguy83/go-md2man/v2/md2man/roff.go b/vendor/github.com/cpuguy83/go-md2man/v2/md2man/roff.go index 96a80c99b..4f1070fc5 100644 --- a/vendor/github.com/cpuguy83/go-md2man/v2/md2man/roff.go +++ b/vendor/github.com/cpuguy83/go-md2man/v2/md2man/roff.go @@ -47,13 +47,13 @@ const ( tableStart = "\n.TS\nallbox;\n" tableEnd = ".TE\n" tableCellStart = "T{\n" - tableCellEnd = "\nT}\n" + tableCellEnd = "\nT}" tablePreprocessor = `'\" t` ) // NewRoffRenderer creates a new blackfriday Renderer for generating roff documents // from markdown -func NewRoffRenderer() *roffRenderer { // nolint: golint +func NewRoffRenderer() *roffRenderer { return &roffRenderer{} } @@ -316,9 +316,8 @@ func (r *roffRenderer) handleTableCell(w io.Writer, node *blackfriday.Node, ente } else if nodeLiteralSize(node) > 30 { end = tableCellEnd } - if node.Next == nil && end != tableCellEnd { - // Last cell: need to carriage return if we are at the end of the - // header row and content isn't wrapped in a "tablecell" + if node.Next == nil { + // Last cell: need to carriage return if we are at the end of the header row. end += crTag } out(w, end) @@ -356,7 +355,7 @@ func countColumns(node *blackfriday.Node) int { } func out(w io.Writer, output string) { - io.WriteString(w, output) // nolint: errcheck + io.WriteString(w, output) //nolint:errcheck } func escapeSpecialChars(w io.Writer, text []byte) { @@ -395,7 +394,7 @@ func escapeSpecialCharsLine(w io.Writer, text []byte) { i++ } if i > org { - w.Write(text[org:i]) // nolint: errcheck + w.Write(text[org:i]) //nolint:errcheck } // escape a character @@ -403,7 +402,7 @@ func escapeSpecialCharsLine(w io.Writer, text []byte) { break } - w.Write([]byte{'\\', text[i]}) // nolint: errcheck + w.Write([]byte{'\\', text[i]}) //nolint:errcheck } } diff --git a/vendor/github.com/moby/buildkit/util/gitutil/git_ref.go b/vendor/github.com/moby/buildkit/frontend/dockerfile/dfgitutil/git_ref.go similarity index 87% rename from vendor/github.com/moby/buildkit/util/gitutil/git_ref.go rename to vendor/github.com/moby/buildkit/frontend/dockerfile/dfgitutil/git_ref.go index cb562acf5..a2b37f8e0 100644 --- a/vendor/github.com/moby/buildkit/util/gitutil/git_ref.go +++ b/vendor/github.com/moby/buildkit/frontend/dockerfile/dfgitutil/git_ref.go @@ -1,10 +1,12 @@ -package gitutil +// Package dfgitutil provides Dockerfile-specific utilities for git refs. +package dfgitutil import ( "net/url" "strings" cerrdefs "github.com/containerd/errdefs" + "github.com/moby/buildkit/util/gitutil" "github.com/pkg/errors" ) @@ -53,7 +55,7 @@ func ParseGitRef(ref string) (*GitRef, error) { res := &GitRef{} var ( - remote *GitURL + remote *gitutil.GitURL err error ) @@ -61,14 +63,14 @@ func ParseGitRef(ref string) (*GitRef, error) { return nil, cerrdefs.ErrInvalidArgument } else if strings.HasPrefix(ref, "github.com/") { res.IndistinguishableFromLocal = true // Deprecated - remote = fromURL(&url.URL{ + remote = gitutil.FromURL(&url.URL{ Scheme: "https", Host: "github.com", Path: strings.TrimPrefix(ref, "github.com/"), }) } else { - remote, err = ParseURL(ref) - if errors.Is(err, ErrUnknownProtocol) { + remote, err = gitutil.ParseURL(ref) + if errors.Is(err, gitutil.ErrUnknownProtocol) { return nil, err } if err != nil { @@ -76,13 +78,13 @@ func ParseGitRef(ref string) (*GitRef, error) { } switch remote.Scheme { - case HTTPProtocol, GitProtocol: + case gitutil.HTTPProtocol, gitutil.GitProtocol: res.UnencryptedTCP = true // Discouraged, but not deprecated } switch remote.Scheme { // An HTTP(S) URL is considered to be a valid git ref only when it has the ".git[...]" suffix. - case HTTPProtocol, HTTPSProtocol: + case gitutil.HTTPProtocol, gitutil.HTTPSProtocol: if !strings.HasSuffix(remote.Path, ".git") { return nil, cerrdefs.ErrInvalidArgument } diff --git a/vendor/github.com/moby/buildkit/frontend/dockerfile/linter/ruleset.go b/vendor/github.com/moby/buildkit/frontend/dockerfile/linter/ruleset.go index 63cc0013e..7a94c76aa 100644 --- a/vendor/github.com/moby/buildkit/frontend/dockerfile/linter/ruleset.go +++ b/vendor/github.com/moby/buildkit/frontend/dockerfile/linter/ruleset.go @@ -174,4 +174,22 @@ var ( }, Experimental: true, } + RuleExposeProtoCasing = LinterRule[func(string) string]{ + Name: "ExposeProtoCasing", + Description: "Protocol in EXPOSE instruction should be lowercase", + URL: "https://docs.docker.com/go/dockerfile/rule/expose-proto-casing/", + Format: func(port string) string { + return fmt.Sprintf("Defined protocol '%s' in EXPOSE instruction should be lowercase", port) + }, + } + RuleExposeInvalidFormat = LinterRule[func(string) string]{ + Name: "ExposeInvalidFormat", + Description: "IP address and host-port mapping should not be used in EXPOSE instruction. This will become an error in a future release", + URL: "https://docs.docker.com/go/dockerfile/rule/expose-invalid-format/", + Format: func(port string) string { + return fmt.Sprintf("EXPOSE instruction should not define an IP address or host-port mapping, found '%s'", port) + }, + // TODO(crazy-max): deprecate this rule in the future and error out instead + // Deprecated: true, + } ) diff --git a/vendor/github.com/moby/buildkit/frontend/dockerui/context.go b/vendor/github.com/moby/buildkit/frontend/dockerui/context.go index 3173558fd..8aa6a2d8a 100644 --- a/vendor/github.com/moby/buildkit/frontend/dockerui/context.go +++ b/vendor/github.com/moby/buildkit/frontend/dockerui/context.go @@ -9,9 +9,9 @@ import ( "strconv" "github.com/moby/buildkit/client/llb" + "github.com/moby/buildkit/frontend/dockerfile/dfgitutil" "github.com/moby/buildkit/frontend/gateway/client" gwpb "github.com/moby/buildkit/frontend/gateway/pb" - "github.com/moby/buildkit/util/gitutil" "github.com/pkg/errors" ) @@ -141,7 +141,7 @@ func (bc *Client) initContext(ctx context.Context) (*buildContext, error) { } func DetectGitContext(ref string, keepGit bool) (*llb.State, bool) { - g, err := gitutil.ParseGitRef(ref) + g, err := dfgitutil.ParseGitRef(ref) if err != nil { return nil, false } diff --git a/vendor/github.com/moby/buildkit/util/gitutil/git_url.go b/vendor/github.com/moby/buildkit/util/gitutil/git_url.go index 338893b27..1c506322a 100644 --- a/vendor/github.com/moby/buildkit/util/gitutil/git_url.go +++ b/vendor/github.com/moby/buildkit/util/gitutil/git_url.go @@ -86,7 +86,7 @@ func ParseURL(remote string) (*GitURL, error) { if err != nil { return nil, err } - return fromURL(url), nil + return FromURL(url), nil } if url, err := sshutil.ParseSCPStyleURL(remote); err == nil { @@ -105,7 +105,7 @@ func IsGitTransport(remote string) bool { return sshutil.IsImplicitSSHTransport(remote) } -func fromURL(url *url.URL) *GitURL { +func FromURL(url *url.URL) *GitURL { withoutOpts := *url withoutOpts.Fragment = "" return &GitURL{ diff --git a/vendor/github.com/moby/buildkit/util/tracing/multi_span_exporter.go b/vendor/github.com/moby/buildkit/util/tracing/multi_span_exporter.go index d856de3b7..533e80d94 100644 --- a/vendor/github.com/moby/buildkit/util/tracing/multi_span_exporter.go +++ b/vendor/github.com/moby/buildkit/util/tracing/multi_span_exporter.go @@ -2,35 +2,29 @@ package tracing import ( "context" + stderrors "errors" - "github.com/hashicorp/go-multierror" sdktrace "go.opentelemetry.io/otel/sdk/trace" ) type MultiSpanExporter []sdktrace.SpanExporter -func (m MultiSpanExporter) ExportSpans(ctx context.Context, spans []sdktrace.ReadOnlySpan) (err error) { +func (m MultiSpanExporter) ExportSpans(ctx context.Context, spans []sdktrace.ReadOnlySpan) error { + var errs []error for _, exp := range m { if e := exp.ExportSpans(ctx, spans); e != nil { - if err != nil { - err = multierror.Append(err, e) - continue - } - err = e + errs = append(errs, e) } } - return err + return stderrors.Join(errs...) } -func (m MultiSpanExporter) Shutdown(ctx context.Context) (err error) { +func (m MultiSpanExporter) Shutdown(ctx context.Context) error { + var errs []error for _, exp := range m { if e := exp.Shutdown(ctx); e != nil { - if err != nil { - err = multierror.Append(err, e) - continue - } - err = e + errs = append(errs, e) } } - return err + return stderrors.Join(errs...) } diff --git a/vendor/golang.org/x/sync/errgroup/errgroup.go b/vendor/golang.org/x/sync/errgroup/errgroup.go index cfafed5b5..1d8cffae8 100644 --- a/vendor/golang.org/x/sync/errgroup/errgroup.go +++ b/vendor/golang.org/x/sync/errgroup/errgroup.go @@ -12,8 +12,6 @@ package errgroup import ( "context" "fmt" - "runtime" - "runtime/debug" "sync" ) @@ -33,10 +31,6 @@ type Group struct { errOnce sync.Once err error - - mu sync.Mutex - panicValue any // = PanicError | PanicValue; non-nil if some Group.Go goroutine panicked. - abnormal bool // some Group.Go goroutine terminated abnormally (panic or goexit). } func (g *Group) done() { @@ -56,80 +50,47 @@ func WithContext(ctx context.Context) (*Group, context.Context) { return &Group{cancel: cancel}, ctx } -// Wait blocks until all function calls from the Go method have returned -// normally, then returns the first non-nil error (if any) from them. -// -// If any of the calls panics, Wait panics with a [PanicValue]; -// and if any of them calls [runtime.Goexit], Wait calls runtime.Goexit. +// Wait blocks until all function calls from the Go method have returned, then +// returns the first non-nil error (if any) from them. func (g *Group) Wait() error { g.wg.Wait() if g.cancel != nil { g.cancel(g.err) } - if g.panicValue != nil { - panic(g.panicValue) - } - if g.abnormal { - runtime.Goexit() - } return g.err } // Go calls the given function in a new goroutine. -// The first call to Go must happen before a Wait. -// It blocks until the new goroutine can be added without the number of -// active goroutines in the group exceeding the configured limit. // +// The first call to Go must happen before a Wait. // It blocks until the new goroutine can be added without the number of // goroutines in the group exceeding the configured limit. // -// The first goroutine in the group that returns a non-nil error, panics, or -// invokes [runtime.Goexit] will cancel the associated Context, if any. +// The first goroutine in the group that returns a non-nil error will +// cancel the associated Context, if any. The error will be returned +// by Wait. func (g *Group) Go(f func() error) { if g.sem != nil { g.sem <- token{} } - g.add(f) -} - -func (g *Group) add(f func() error) { g.wg.Add(1) go func() { defer g.done() - normalReturn := false - defer func() { - if normalReturn { - return - } - v := recover() - g.mu.Lock() - defer g.mu.Unlock() - if !g.abnormal { - if g.cancel != nil { - g.cancel(g.err) - } - g.abnormal = true - } - if v != nil && g.panicValue == nil { - switch v := v.(type) { - case error: - g.panicValue = PanicError{ - Recovered: v, - Stack: debug.Stack(), - } - default: - g.panicValue = PanicValue{ - Recovered: v, - Stack: debug.Stack(), - } - } - } - }() - err := f() - normalReturn = true - if err != nil { + // It is tempting to propagate panics from f() + // up to the goroutine that calls Wait, but + // it creates more problems than it solves: + // - it delays panics arbitrarily, + // making bugs harder to detect; + // - it turns f's panic stack into a mere value, + // hiding it from crash-monitoring tools; + // - it risks deadlocks that hide the panic entirely, + // if f's panic leaves the program in a state + // that prevents the Wait call from being reached. + // See #53757, #74275, #74304, #74306. + + if err := f(); err != nil { g.errOnce.Do(func() { g.err = err if g.cancel != nil { @@ -154,7 +115,19 @@ func (g *Group) TryGo(f func() error) bool { } } - g.add(f) + g.wg.Add(1) + go func() { + defer g.done() + + if err := f(); err != nil { + g.errOnce.Do(func() { + g.err = err + if g.cancel != nil { + g.cancel(g.err) + } + }) + } + }() return true } @@ -176,33 +149,3 @@ func (g *Group) SetLimit(n int) { } g.sem = make(chan token, n) } - -// PanicError wraps an error recovered from an unhandled panic -// when calling a function passed to Go or TryGo. -type PanicError struct { - Recovered error - Stack []byte // result of call to [debug.Stack] -} - -func (p PanicError) Error() string { - // A Go Error method conventionally does not include a stack dump, so omit it - // here. (Callers who care can extract it from the Stack field.) - return fmt.Sprintf("recovered from errgroup.Group: %v", p.Recovered) -} - -func (p PanicError) Unwrap() error { return p.Recovered } - -// PanicValue wraps a value that does not implement the error interface, -// recovered from an unhandled panic when calling a function passed to Go or -// TryGo. -type PanicValue struct { - Recovered any - Stack []byte // result of call to [debug.Stack] -} - -func (p PanicValue) String() string { - if len(p.Stack) > 0 { - return fmt.Sprintf("recovered from errgroup.Group: %v\n%s", p.Recovered, p.Stack) - } - return fmt.Sprintf("recovered from errgroup.Group: %v", p.Recovered) -} diff --git a/vendor/modules.txt b/vendor/modules.txt index 5b2a15ff1..585ea6d73 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -206,7 +206,7 @@ github.com/containerd/ttrpc # github.com/containerd/typeurl/v2 v2.2.3 ## explicit; go 1.21 github.com/containerd/typeurl/v2 -# github.com/cpuguy83/go-md2man/v2 v2.0.6 +# github.com/cpuguy83/go-md2man/v2 v2.0.7 ## explicit; go 1.12 github.com/cpuguy83/go-md2man/v2/md2man # github.com/creack/pty v1.1.24 @@ -450,7 +450,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.23.0-rc1.0.20250806140246-955c2b2f7d01 +# github.com/moby/buildkit v0.24.0-rc1 ## explicit; go 1.23.0 github.com/moby/buildkit/api/services/control github.com/moby/buildkit/api/types @@ -471,6 +471,7 @@ github.com/moby/buildkit/exporter/containerimage/exptypes github.com/moby/buildkit/exporter/exptypes github.com/moby/buildkit/frontend/attestations github.com/moby/buildkit/frontend/dockerfile/command +github.com/moby/buildkit/frontend/dockerfile/dfgitutil github.com/moby/buildkit/frontend/dockerfile/linter github.com/moby/buildkit/frontend/dockerfile/parser github.com/moby/buildkit/frontend/dockerfile/shell @@ -847,7 +848,7 @@ golang.org/x/net/websocket ## explicit; go 1.23.0 golang.org/x/oauth2 golang.org/x/oauth2/internal -# golang.org/x/sync v0.14.0 +# golang.org/x/sync v0.16.0 ## explicit; go 1.23.0 golang.org/x/sync/errgroup golang.org/x/sync/semaphore