vendor: update buildkit to v0.17.0-rc1

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
This commit is contained in:
Tonis Tiigi 2024-10-08 16:54:03 -07:00
parent 64c5139ab6
commit 14de641bec
No known key found for this signature in database
GPG Key ID: AFA9DE5F8AB7AF39
6 changed files with 38 additions and 33 deletions

2
go.mod
View File

@ -27,7 +27,7 @@ require (
github.com/hashicorp/hcl/v2 v2.20.1 github.com/hashicorp/hcl/v2 v2.20.1
github.com/in-toto/in-toto-golang v0.5.0 github.com/in-toto/in-toto-golang v0.5.0
github.com/mitchellh/hashstructure/v2 v2.0.2 github.com/mitchellh/hashstructure/v2 v2.0.2
github.com/moby/buildkit v0.16.0-rc2.0.20241008173032-de2f8b6c5d1c github.com/moby/buildkit v0.17.0-rc1
github.com/moby/sys/mountinfo v0.7.2 github.com/moby/sys/mountinfo v0.7.2
github.com/moby/sys/signal v0.7.1 github.com/moby/sys/signal v0.7.1
github.com/morikuni/aec v1.0.0 github.com/morikuni/aec v1.0.0

4
go.sum
View File

@ -301,8 +301,8 @@ github.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/z
github.com/mitchellh/mapstructure v0.0.0-20150613213606-2caf8efc9366/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v0.0.0-20150613213606-2caf8efc9366/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= 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/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/moby/buildkit v0.16.0-rc2.0.20241008173032-de2f8b6c5d1c h1:tO15fW0keg5tOfOZnNqLaKZMOezT4bOerluvrq1VtMM= github.com/moby/buildkit v0.17.0-rc1 h1:LTHa+CEoGZGWWEJcOEUj/5fv+6FPvMZTOD/KVEW4syA=
github.com/moby/buildkit v0.16.0-rc2.0.20241008173032-de2f8b6c5d1c/go.mod h1:BprE7bOBNMZPwd3YR7iUmHdqt618BDvS49hZySzr5Mg= github.com/moby/buildkit v0.17.0-rc1/go.mod h1:BprE7bOBNMZPwd3YR7iUmHdqt618BDvS49hZySzr5Mg=
github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= 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/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo=
github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg=

View File

@ -165,4 +165,12 @@ var (
}, },
Experimental: true, Experimental: true,
} }
RuleInvalidDefinitionDescription = LinterRule[func(string, string) string]{
Name: "InvalidDefinitionDescription",
Description: "Comment for build stage or argument should follow the format: `# <arg/stage name> <description>`. If this is not intended to be a description comment, add an empty line or comment between the instruction and the comment.",
URL: "https://docs.docker.com/go/dockerfile/rule/invalid-definition-description/",
Format: func(instruction, defName string) string {
return fmt.Sprintf("Comment for %s should follow the format: `# %s <description>`", instruction, defName)
},
}
) )

View File

@ -167,16 +167,17 @@ func (d *directives) setEscapeToken(s string) error {
// possibleParserDirective looks for parser directives, eg '# escapeToken=<char>'. // possibleParserDirective looks for parser directives, eg '# escapeToken=<char>'.
// Parser directives must precede any builder instruction or other comments, // Parser directives must precede any builder instruction or other comments,
// and cannot be repeated. // and cannot be repeated. Returns true if a parser directive was found.
func (d *directives) possibleParserDirective(line []byte) error { func (d *directives) possibleParserDirective(line []byte) (bool, error) {
directive, err := d.parser.ParseLine(line) directive, err := d.parser.ParseLine(line)
if err != nil { if err != nil {
return err return false, err
} }
if directive != nil && directive.Name == keyEscape { if directive != nil && directive.Name == keyEscape {
return d.setEscapeToken(directive.Value) err := d.setEscapeToken(directive.Value)
return err == nil, err
} }
return nil return directive != nil, nil
} }
// newDefaultDirectives returns a new directives structure with the default escapeToken token // newDefaultDirectives returns a new directives structure with the default escapeToken token
@ -300,7 +301,13 @@ func Parse(rwc io.Reader) (*Result, error) {
comments = append(comments, comment) comments = append(comments, comment)
} }
} }
bytesRead, err = processLine(d, bytesRead, true) var directiveOk bool
bytesRead, directiveOk, err = processLine(d, bytesRead, true)
// If the line is a directive, strip it from the comments
// so it doesn't get added to the AST.
if directiveOk {
comments = comments[:len(comments)-1]
}
if err != nil { if err != nil {
return nil, withLocation(err, currentLine, 0) return nil, withLocation(err, currentLine, 0)
} }
@ -316,7 +323,7 @@ func Parse(rwc io.Reader) (*Result, error) {
var hasEmptyContinuationLine bool var hasEmptyContinuationLine bool
for !isEndOfLine && scanner.Scan() { for !isEndOfLine && scanner.Scan() {
bytesRead, err := processLine(d, scanner.Bytes(), false) bytesRead, _, err := processLine(d, scanner.Bytes(), false)
if err != nil { if err != nil {
return nil, withLocation(err, currentLine, 0) return nil, withLocation(err, currentLine, 0)
} }
@ -527,12 +534,13 @@ func trimContinuationCharacter(line []byte, d *directives) ([]byte, bool) {
// TODO: remove stripLeftWhitespace after deprecation period. It seems silly // TODO: remove stripLeftWhitespace after deprecation period. It seems silly
// to preserve whitespace on continuation lines. Why is that done? // to preserve whitespace on continuation lines. Why is that done?
func processLine(d *directives, token []byte, stripLeftWhitespace bool) ([]byte, error) { func processLine(d *directives, token []byte, stripLeftWhitespace bool) ([]byte, bool, error) {
token = trimNewline(token) token = trimNewline(token)
if stripLeftWhitespace { if stripLeftWhitespace {
token = trimLeadingWhitespace(token) token = trimLeadingWhitespace(token)
} }
return trimComments(token), d.possibleParserDirective(token) directiveOk, err := d.possibleParserDirective(token)
return trimComments(token), directiveOk, err
} }
// Variation of bufio.ScanLines that preserves the line endings // Variation of bufio.ScanLines that preserves the line endings

View File

@ -429,28 +429,21 @@ func (c *grpcClient) Solve(ctx context.Context, creq client.SolveRequest) (res *
} }
case *pb.Result_RefsDeprecated: case *pb.Result_RefsDeprecated:
for k, v := range pbRes.RefsDeprecated.Refs { for k, v := range pbRes.RefsDeprecated.Refs {
ref := &reference{id: v, c: c} var ref client.Reference
if v == "" { if v != "" {
ref = nil ref = &reference{id: v, c: c}
} }
res.AddRef(k, ref) res.AddRef(k, ref)
} }
case *pb.Result_Ref: case *pb.Result_Ref:
if pbRes.Ref.Id != "" { if pbRes.Ref.Id != "" {
ref, err := newReference(c, pbRes.Ref) res.SetRef(newReference(c, pbRes.Ref))
if err != nil {
return nil, err
}
res.SetRef(ref)
} }
case *pb.Result_Refs: case *pb.Result_Refs:
for k, v := range pbRes.Refs.Refs { for k, v := range pbRes.Refs.Refs {
var ref *reference var ref client.Reference
if v.Id != "" { if v.Id != "" {
ref, err = newReference(c, v) ref = newReference(c, v)
if err != nil {
return nil, err
}
} }
res.AddRef(k, ref) res.AddRef(k, ref)
} }
@ -464,11 +457,7 @@ func (c *grpcClient) Solve(ctx context.Context, creq client.SolveRequest) (res *
return nil, err return nil, err
} }
if a.Ref.Id != "" { if a.Ref.Id != "" {
ref, err := newReference(c, a.Ref) att.Ref = newReference(c, a.Ref)
if err != nil {
return nil, err
}
att.Ref = ref
} }
res.AddAttestation(p, *att) res.AddAttestation(p, *att)
} }
@ -1168,8 +1157,8 @@ type reference struct {
def *opspb.Definition def *opspb.Definition
} }
func newReference(c *grpcClient, ref *pb.Ref) (*reference, error) { func newReference(c *grpcClient, ref *pb.Ref) *reference {
return &reference{c: c, id: ref.Id, def: ref.Def}, nil return &reference{c: c, id: ref.Id, def: ref.Def}
} }
func (r *reference) ToState() (st llb.State, err error) { func (r *reference) ToState() (st llb.State, err error) {

2
vendor/modules.txt vendored
View File

@ -482,7 +482,7 @@ github.com/mitchellh/go-wordwrap
github.com/mitchellh/hashstructure/v2 github.com/mitchellh/hashstructure/v2
# github.com/mitchellh/mapstructure v1.5.0 # github.com/mitchellh/mapstructure v1.5.0
## explicit; go 1.14 ## explicit; go 1.14
# github.com/moby/buildkit v0.16.0-rc2.0.20241008173032-de2f8b6c5d1c # github.com/moby/buildkit v0.17.0-rc1
## explicit; go 1.22.0 ## explicit; go 1.22.0
github.com/moby/buildkit/api/services/control github.com/moby/buildkit/api/services/control
github.com/moby/buildkit/api/types github.com/moby/buildkit/api/types