mirror of https://github.com/docker/buildx.git
vendor: update buildkit to v0.17.0-rc1
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
This commit is contained in:
parent
64c5139ab6
commit
14de641bec
2
go.mod
2
go.mod
|
@ -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
4
go.sum
|
@ -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=
|
||||||
|
|
|
@ -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)
|
||||||
|
},
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue