Files
buildkit/solver/errdefs/op.go
Erik Sipsma d2c730c0f9 solver: include vertex Description in OpError
These descriptions can be useful for callers to identify which op failed
and plumb any custom metadata through to those failures.

Signed-off-by: Erik Sipsma <erik@sipsma.dev>
2024-07-02 10:31:22 -07:00

22 lines
401 B
Go

package errdefs
import "github.com/moby/buildkit/solver/pb"
type OpError struct {
error
Op *pb.Op
Description map[string]string
}
func (e *OpError) Unwrap() error {
return e.error
}
func WithOp(err error, anyOp interface{}, opDesc map[string]string) error {
op, ok := anyOp.(*pb.Op)
if err == nil || !ok {
return err
}
return &OpError{error: err, Op: op, Description: opDesc}
}