mirror of
https://github.com/moby/buildkit.git
synced 2026-11-06 05:16:45 +00:00
replace github.com/hashicorp/go-multierror with errors.Join
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
9 files changed
+64
-63
No files matched your search
Vendored
+14
-10
@@ -2,6 +2,7 @@ package cache
|
||||
|
||||
import (
|
||||
"context"
|
||||
stderrors "errors"
|
||||
"fmt"
|
||||
"maps"
|
||||
"os"
|
||||
@@ -19,7 +20,6 @@ import (
|
||||
"github.com/containerd/containerd/v2/core/snapshots"
|
||||
"github.com/containerd/containerd/v2/pkg/labels"
|
||||
cerrdefs "github.com/containerd/errdefs"
|
||||
"github.com/hashicorp/go-multierror"
|
||||
"github.com/moby/buildkit/cache/config"
|
||||
"github.com/moby/buildkit/identity"
|
||||
"github.com/moby/buildkit/session"
|
||||
@@ -146,12 +146,15 @@ type diffParents struct {
|
||||
}
|
||||
|
||||
// caller must hold cacheManager.mu
|
||||
func (p parentRefs) release(ctx context.Context) (rerr error) {
|
||||
func (p parentRefs) release(ctx context.Context) error {
|
||||
var errs []error
|
||||
switch {
|
||||
case p.layerParent != nil:
|
||||
p.layerParent.mu.Lock()
|
||||
defer p.layerParent.mu.Unlock()
|
||||
rerr = p.layerParent.release(ctx)
|
||||
if err := p.layerParent.release(ctx); err != nil {
|
||||
errs = append(errs, err)
|
||||
}
|
||||
case len(p.mergeParents) > 0:
|
||||
for i, parent := range p.mergeParents {
|
||||
if parent == nil {
|
||||
@@ -159,7 +162,7 @@ func (p parentRefs) release(ctx context.Context) (rerr error) {
|
||||
}
|
||||
parent.mu.Lock()
|
||||
if err := parent.release(ctx); err != nil {
|
||||
rerr = multierror.Append(rerr, err).ErrorOrNil()
|
||||
errs = append(errs, err)
|
||||
} else {
|
||||
p.mergeParents[i] = nil
|
||||
}
|
||||
@@ -170,7 +173,7 @@ func (p parentRefs) release(ctx context.Context) (rerr error) {
|
||||
p.diffParents.lower.mu.Lock()
|
||||
defer p.diffParents.lower.mu.Unlock()
|
||||
if err := p.diffParents.lower.release(ctx); err != nil {
|
||||
rerr = multierror.Append(rerr, err).ErrorOrNil()
|
||||
errs = append(errs, err)
|
||||
} else {
|
||||
p.diffParents.lower = nil
|
||||
}
|
||||
@@ -179,14 +182,14 @@ func (p parentRefs) release(ctx context.Context) (rerr error) {
|
||||
p.diffParents.upper.mu.Lock()
|
||||
defer p.diffParents.upper.mu.Unlock()
|
||||
if err := p.diffParents.upper.release(ctx); err != nil {
|
||||
rerr = multierror.Append(rerr, err).ErrorOrNil()
|
||||
errs = append(errs, err)
|
||||
} else {
|
||||
p.diffParents.upper = nil
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return rerr
|
||||
return stderrors.Join(errs...)
|
||||
}
|
||||
|
||||
func (p parentRefs) cloneParentRefs() parentRefs {
|
||||
@@ -598,18 +601,19 @@ func (cr *cacheRecord) layerDigestChain() []digest.Digest {
|
||||
|
||||
type RefList []ImmutableRef
|
||||
|
||||
func (l RefList) Release(ctx context.Context) (rerr error) {
|
||||
func (l RefList) Release(ctx context.Context) error {
|
||||
var errs []error
|
||||
for i, r := range l {
|
||||
if r == nil {
|
||||
continue
|
||||
}
|
||||
if err := r.Release(ctx); err != nil {
|
||||
rerr = multierror.Append(rerr, err).ErrorOrNil()
|
||||
errs = append(errs, err)
|
||||
} else {
|
||||
l[i] = nil
|
||||
}
|
||||
}
|
||||
return rerr
|
||||
return stderrors.Join(errs...)
|
||||
}
|
||||
|
||||
func (sr *immutableRef) LayerChain() RefList {
|
||||
|
||||
@@ -2,12 +2,12 @@ package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
stderrors "errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"text/tabwriter"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/go-multierror"
|
||||
controlapi "github.com/moby/buildkit/api/services/control"
|
||||
bccommon "github.com/moby/buildkit/cmd/buildctl/common"
|
||||
"github.com/moby/buildkit/util/appcontext"
|
||||
@@ -42,12 +42,12 @@ func pruneHistories(clicontext *cli.Context) error {
|
||||
return err
|
||||
}
|
||||
|
||||
var rerr error
|
||||
if format := clicontext.String("format"); format != "" {
|
||||
tmpl, err := bccommon.ParseTemplate(format)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
var errs []error
|
||||
for {
|
||||
ev, err := resp.Recv()
|
||||
if errors.Is(err, io.EOF) {
|
||||
@@ -62,7 +62,7 @@ func pruneHistories(clicontext *cli.Context) error {
|
||||
Ref: ev.Record.Ref,
|
||||
Delete: true,
|
||||
}); err != nil {
|
||||
rerr = multierror.Append(rerr, err).ErrorOrNil()
|
||||
errs = append(errs, err)
|
||||
continue
|
||||
}
|
||||
if err := tmpl.Execute(clicontext.App.Writer, ev); err != nil {
|
||||
@@ -72,7 +72,7 @@ func pruneHistories(clicontext *cli.Context) error {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return rerr
|
||||
return stderrors.Join(errs...)
|
||||
}
|
||||
return pruneHistoriesWithTableOutput(ctx, clicontext.App.Writer, controlClient, resp)
|
||||
}
|
||||
@@ -82,7 +82,7 @@ func pruneHistoriesWithTableOutput(ctx context.Context, w io.Writer, controlClie
|
||||
) error {
|
||||
tw := tabwriter.NewWriter(w, 1, 8, 1, '\t', 0)
|
||||
fmt.Fprintln(tw, "TYPE\tREF\tCREATED\tCOMPLETED\tGENERATION")
|
||||
var rerr error
|
||||
var errs []error
|
||||
for {
|
||||
ev, err := eventReceiver.Recv()
|
||||
if errors.Is(err, io.EOF) {
|
||||
@@ -98,7 +98,7 @@ func pruneHistoriesWithTableOutput(ctx context.Context, w io.Writer, controlClie
|
||||
Ref: ev.Record.Ref,
|
||||
Delete: true,
|
||||
}); err != nil {
|
||||
rerr = multierror.Append(rerr, err).ErrorOrNil()
|
||||
errs = append(errs, err)
|
||||
continue
|
||||
}
|
||||
var (
|
||||
@@ -115,5 +115,5 @@ func pruneHistoriesWithTableOutput(ctx context.Context, w io.Writer, controlClie
|
||||
tw.Flush()
|
||||
}
|
||||
tw.Flush()
|
||||
return rerr
|
||||
return stderrors.Join(errs...)
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"context"
|
||||
"crypto/tls"
|
||||
"crypto/x509"
|
||||
stderrors "errors"
|
||||
"fmt"
|
||||
"net"
|
||||
"os"
|
||||
@@ -20,7 +21,6 @@ import (
|
||||
"github.com/containerd/platforms"
|
||||
sddaemon "github.com/coreos/go-systemd/v22/daemon"
|
||||
"github.com/gofrs/flock"
|
||||
"github.com/hashicorp/go-multierror"
|
||||
"github.com/moby/buildkit/cache/remotecache"
|
||||
"github.com/moby/buildkit/cache/remotecache/azblob"
|
||||
"github.com/moby/buildkit/cache/remotecache/gha"
|
||||
@@ -415,12 +415,13 @@ func main() {
|
||||
}
|
||||
|
||||
app.After = func(_ *cli.Context) (err error) {
|
||||
var errs []error
|
||||
for _, c := range closers {
|
||||
if e := c(context.TODO()); e != nil {
|
||||
err = multierror.Append(err, e)
|
||||
errs = append(errs, e)
|
||||
}
|
||||
}
|
||||
return err
|
||||
return stderrors.Join(errs...)
|
||||
}
|
||||
|
||||
profiler.Attach(app)
|
||||
|
||||
+9
-6
@@ -2,6 +2,7 @@ package control
|
||||
|
||||
import (
|
||||
"context"
|
||||
stderrors "errors"
|
||||
"fmt"
|
||||
"runtime/trace"
|
||||
"strconv"
|
||||
@@ -13,7 +14,6 @@ import (
|
||||
"github.com/containerd/containerd/v2/core/content"
|
||||
"github.com/containerd/containerd/v2/plugins/services/content/contentserver"
|
||||
"github.com/distribution/reference"
|
||||
"github.com/hashicorp/go-multierror"
|
||||
"github.com/mitchellh/hashstructure/v2"
|
||||
controlapi "github.com/moby/buildkit/api/services/control"
|
||||
apitypes "github.com/moby/buildkit/api/types"
|
||||
@@ -138,17 +138,20 @@ func NewController(opt Opt) (*Controller, error) {
|
||||
}
|
||||
|
||||
func (c *Controller) Close() error {
|
||||
rerr := c.opt.HistoryDB.Close()
|
||||
var errs []error
|
||||
if err := c.opt.HistoryDB.Close(); err != nil {
|
||||
errs = append(errs, err)
|
||||
}
|
||||
if err := c.opt.WorkerController.Close(); err != nil {
|
||||
rerr = multierror.Append(rerr, err)
|
||||
errs = append(errs, err)
|
||||
}
|
||||
if err := c.opt.CacheStore.Close(); err != nil {
|
||||
rerr = multierror.Append(rerr, err)
|
||||
errs = append(errs, err)
|
||||
}
|
||||
if err := c.solver.Close(); err != nil {
|
||||
rerr = multierror.Append(rerr, err)
|
||||
errs = append(errs, err)
|
||||
}
|
||||
return rerr
|
||||
return stderrors.Join(errs...)
|
||||
}
|
||||
|
||||
func (c *Controller) Register(server *grpc.Server) {
|
||||
|
||||
@@ -41,7 +41,6 @@ require (
|
||||
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
|
||||
github.com/hashicorp/go-cleanhttp v0.5.2
|
||||
github.com/hashicorp/go-immutable-radix/v2 v2.1.0
|
||||
github.com/hashicorp/go-multierror v1.1.1
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.7
|
||||
github.com/in-toto/in-toto-golang v0.9.0
|
||||
github.com/klauspost/compress v1.18.0
|
||||
@@ -158,6 +157,7 @@ require (
|
||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1 // indirect
|
||||
github.com/hanwen/go-fuse/v2 v2.6.3 // indirect
|
||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
||||
github.com/hashicorp/go-retryablehttp v0.7.7 // indirect
|
||||
github.com/kylelemons/godebug v1.1.0 // indirect
|
||||
github.com/moby/sys/mount v0.3.4 // indirect
|
||||
|
||||
@@ -2,6 +2,7 @@ package snapshot
|
||||
|
||||
import (
|
||||
"context"
|
||||
stderrors "errors"
|
||||
gofs "io/fs"
|
||||
"os"
|
||||
"path/filepath"
|
||||
@@ -14,7 +15,6 @@ import (
|
||||
"github.com/containerd/containerd/v2/plugins/snapshots/overlay/overlayutils"
|
||||
"github.com/containerd/continuity/fs"
|
||||
"github.com/containerd/continuity/sysx"
|
||||
"github.com/hashicorp/go-multierror"
|
||||
"github.com/moby/buildkit/identity"
|
||||
"github.com/moby/buildkit/util/bklog"
|
||||
"github.com/moby/buildkit/util/leaseutil"
|
||||
@@ -34,7 +34,7 @@ func (sn *mergeSnapshotter) diffApply(ctx context.Context, dest Mountable, diffs
|
||||
defer func() {
|
||||
releaseErr := a.Release()
|
||||
if releaseErr != nil {
|
||||
rerr = multierror.Append(rerr, errors.Wrapf(releaseErr, "failed to release applier")).ErrorOrNil()
|
||||
rerr = stderrors.Join(rerr, errors.Wrapf(releaseErr, "failed to release applier"))
|
||||
}
|
||||
}()
|
||||
|
||||
@@ -84,7 +84,7 @@ func (sn *mergeSnapshotter) diffApply(ctx context.Context, dest Mountable, diffs
|
||||
return snapshots.Usage{}, errors.Wrapf(err, "failed to create differ")
|
||||
}
|
||||
defer func() {
|
||||
rerr = multierror.Append(rerr, d.Release()).ErrorOrNil()
|
||||
rerr = stderrors.Join(rerr, d.Release())
|
||||
}()
|
||||
if err := d.HandleChanges(ctx, a.Apply); err != nil {
|
||||
return snapshots.Usage{}, errors.Wrapf(err, "failed to handle changes")
|
||||
@@ -146,7 +146,7 @@ func applierFor(dest Mountable, tryCrossSnapshotLink, userxattr bool) (_ *applie
|
||||
}
|
||||
defer func() {
|
||||
if rerr != nil {
|
||||
rerr = multierror.Append(rerr, a.Release()).ErrorOrNil()
|
||||
rerr = stderrors.Join(rerr, a.Release())
|
||||
}
|
||||
}()
|
||||
if tryCrossSnapshotLink {
|
||||
@@ -191,7 +191,7 @@ func applierFor(dest Mountable, tryCrossSnapshotLink, userxattr bool) (_ *applie
|
||||
prevRelease := a.release
|
||||
a.release = func() error {
|
||||
err := mnter.Unmount()
|
||||
return multierror.Append(err, prevRelease()).ErrorOrNil()
|
||||
return stderrors.Join(err, prevRelease())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -523,7 +523,7 @@ func differFor(lowerMntable, upperMntable Mountable) (_ *differ, rerr error) {
|
||||
}
|
||||
defer func() {
|
||||
if rerr != nil {
|
||||
rerr = multierror.Append(rerr, d.Release()).ErrorOrNil()
|
||||
rerr = stderrors.Join(rerr, d.Release())
|
||||
}
|
||||
}()
|
||||
|
||||
@@ -541,8 +541,7 @@ func differFor(lowerMntable, upperMntable Mountable) (_ *differ, rerr error) {
|
||||
d.lowerRoot = root
|
||||
lowerMnts = mnts
|
||||
d.releaseLower = func() error {
|
||||
err := mounter.Unmount()
|
||||
return multierror.Append(err, release()).ErrorOrNil()
|
||||
return stderrors.Join(mounter.Unmount(), release())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -560,8 +559,7 @@ func differFor(lowerMntable, upperMntable Mountable) (_ *differ, rerr error) {
|
||||
d.upperRoot = root
|
||||
upperMnts = mnts
|
||||
d.releaseUpper = func() error {
|
||||
err := mounter.Unmount()
|
||||
return multierror.Append(err, release()).ErrorOrNil()
|
||||
return stderrors.Join(mounter.Unmount(), release())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -779,7 +777,7 @@ func (d *differ) Release() error {
|
||||
}
|
||||
}
|
||||
if d.releaseUpper != nil {
|
||||
err = multierror.Append(err, d.releaseUpper()).ErrorOrNil()
|
||||
err = stderrors.Join(err, d.releaseUpper())
|
||||
if err == nil {
|
||||
d.releaseUpper = nil
|
||||
}
|
||||
|
||||
@@ -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...)
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package base
|
||||
|
||||
import (
|
||||
"context"
|
||||
stderrors "errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
@@ -13,7 +14,6 @@ import (
|
||||
"github.com/containerd/containerd/v2/core/remotes/docker"
|
||||
"github.com/containerd/containerd/v2/pkg/gc"
|
||||
"github.com/containerd/platforms"
|
||||
"github.com/hashicorp/go-multierror"
|
||||
"github.com/moby/buildkit/cache"
|
||||
"github.com/moby/buildkit/cache/metadata"
|
||||
"github.com/moby/buildkit/client"
|
||||
@@ -222,21 +222,21 @@ func (w *Worker) GarbageCollect(ctx context.Context) error {
|
||||
}
|
||||
|
||||
func (w *Worker) Close() error {
|
||||
var rerr error
|
||||
var errs []error
|
||||
if err := w.MetadataStore.Close(); err != nil {
|
||||
rerr = multierror.Append(rerr, err)
|
||||
errs = append(errs, err)
|
||||
}
|
||||
for _, provider := range w.NetworkProviders {
|
||||
if err := provider.Close(); err != nil {
|
||||
rerr = multierror.Append(rerr, err)
|
||||
errs = append(errs, err)
|
||||
}
|
||||
}
|
||||
if w.ResourceMonitor != nil {
|
||||
if err := w.ResourceMonitor.Close(); err != nil {
|
||||
rerr = multierror.Append(rerr, err)
|
||||
errs = append(errs, err)
|
||||
}
|
||||
}
|
||||
return rerr
|
||||
return stderrors.Join(errs...)
|
||||
}
|
||||
|
||||
func (w *Worker) ContentStore() *containerdsnapshot.Store {
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
package worker
|
||||
|
||||
import (
|
||||
stderrors "errors"
|
||||
|
||||
"github.com/containerd/containerd/v2/pkg/filters"
|
||||
"github.com/hashicorp/go-multierror"
|
||||
"github.com/moby/buildkit/cache"
|
||||
"github.com/moby/buildkit/client"
|
||||
"github.com/pkg/errors"
|
||||
@@ -16,13 +17,13 @@ type Controller struct {
|
||||
}
|
||||
|
||||
func (c *Controller) Close() error {
|
||||
var rerr error
|
||||
var errs []error
|
||||
for _, w := range c.workers {
|
||||
if err := w.Close(); err != nil {
|
||||
rerr = multierror.Append(rerr, err)
|
||||
errs = append(errs, err)
|
||||
}
|
||||
}
|
||||
return rerr
|
||||
return stderrors.Join(errs...)
|
||||
}
|
||||
|
||||
// Add adds a local worker.
|
||||
|
||||
Reference in new issue
Block a user