Skip to content

Commit

Permalink
use isvalid for determining validity and remove vtproto from buildctl
Browse files Browse the repository at this point in the history
Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
  • Loading branch information
jsternberg committed Sep 19, 2024
1 parent f4883ef commit bf597a3
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 3 deletions.
2 changes: 1 addition & 1 deletion client/llb/definition.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ type DefinitionOp struct {

// NewDefinitionOp returns a new operation from a marshalled definition.
func NewDefinitionOp(def *pb.Definition) (*DefinitionOp, error) {
if def == nil || def.Metadata == nil {
if def == nil || !def.ProtoReflect().IsValid() {
return nil, errors.New("invalid nil input definition to definition op")
}

Expand Down
3 changes: 2 additions & 1 deletion client/llb/marshal.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"github.com/containerd/platforms"
"github.com/moby/buildkit/solver/pb"
digest "github.com/opencontainers/go-digest"
"google.golang.org/protobuf/proto"
)

// Definition is the LLB definition structure with per-vertex metadata entries
Expand Down Expand Up @@ -74,7 +75,7 @@ func ReadFrom(r io.Reader) (*Definition, error) {
return nil, err
}
var pbDef pb.Definition
if err := pbDef.UnmarshalVT(b); err != nil {
if err := proto.Unmarshal(b, &pbDef); err != nil {
return nil, err
}
var def Definition
Expand Down
3 changes: 2 additions & 1 deletion cmd/buildctl/build.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import (
"github.com/pkg/errors"
"github.com/urfave/cli"
"golang.org/x/sync/errgroup"
"google.golang.org/protobuf/proto"
)

var buildCommand = cli.Command{
Expand Down Expand Up @@ -126,7 +127,7 @@ func read(r io.Reader, clicontext *cli.Context) (*llb.Definition, error) {
if clicontext.Bool("no-cache") {
for _, dt := range def.Def {
var op pb.Op
if err := op.UnmarshalVT(dt); err != nil {
if err := proto.Unmarshal(dt, &op); err != nil {
return nil, errors.Wrap(err, "failed to parse llb proto op")
}
dgst := digest.FromBytes(dt)
Expand Down

0 comments on commit bf597a3

Please sign in to comment.