mirror of
https://gitea.com/Lydanne/buildx.git
synced 2025-05-18 00:47:48 +08:00
Merge pull request #2539 from tonistiigi/v0.15.1-cherry-picks
[v0.15] cherry-picks for v0.15.1
This commit is contained in:
commit
1c1dbb2e4c
@ -53,7 +53,7 @@ var (
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
printFallbackImage = "docker/dockerfile:1.5@sha256:dbbd5e059e8a07ff7ea6233b213b36aa516b4c53c645f1817a4dd18b83cbea56"
|
printFallbackImage = "docker/dockerfile:1.5@sha256:dbbd5e059e8a07ff7ea6233b213b36aa516b4c53c645f1817a4dd18b83cbea56"
|
||||||
printLintFallbackImage = "docker.io/docker/dockerfile-upstream:1.8.0@sha256:d6d396f3780b1dd56a3acbc975f57bd2fc501989b50164c41387c42d04e780d0"
|
printLintFallbackImage = "docker.io/docker/dockerfile-upstream:1.8.1@sha256:e87caa74dcb7d46cd820352bfea12591f3dba3ddc4285e19c7dcd13359f7cefd"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Options struct {
|
type Options struct {
|
||||||
|
@ -866,7 +866,34 @@ func printResult(f *controllerapi.PrintFunc, res map[string]string) error {
|
|||||||
case "subrequests.describe":
|
case "subrequests.describe":
|
||||||
return printValue(subrequests.PrintDescribe, subrequests.SubrequestsDescribeDefinition.Version, f.Format, res)
|
return printValue(subrequests.PrintDescribe, subrequests.SubrequestsDescribeDefinition.Version, f.Format, res)
|
||||||
case "lint":
|
case "lint":
|
||||||
return printValue(lint.PrintLintViolations, lint.SubrequestLintDefinition.Version, f.Format, res)
|
err := printValue(lint.PrintLintViolations, lint.SubrequestLintDefinition.Version, f.Format, res)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
lintResults := lint.LintResults{}
|
||||||
|
if result, ok := res["result.json"]; ok {
|
||||||
|
if err := json.Unmarshal([]byte(result), &lintResults); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if lintResults.Error != nil {
|
||||||
|
// Print the error message and the source
|
||||||
|
// Normally, we would use `errdefs.WithSource` to attach the source to the
|
||||||
|
// error and let the error be printed by the handling that's already in place,
|
||||||
|
// but here we want to print the error in a way that's consistent with how
|
||||||
|
// the lint warnings are printed via the `lint.PrintLintViolations` function,
|
||||||
|
// which differs from the default error printing.
|
||||||
|
fmt.Println()
|
||||||
|
lintBuf := bytes.NewBuffer([]byte(lintResults.Error.Message + "\n"))
|
||||||
|
sourceInfo := lintResults.Sources[lintResults.Error.Location.SourceIndex]
|
||||||
|
source := errdefs.Source{
|
||||||
|
Info: sourceInfo,
|
||||||
|
Ranges: lintResults.Error.Location.Ranges,
|
||||||
|
}
|
||||||
|
source.Print(lintBuf)
|
||||||
|
return errors.New(lintBuf.String())
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
if dt, ok := res["result.json"]; ok && f.Format == "json" {
|
if dt, ok := res["result.json"]; ok && f.Format == "json" {
|
||||||
fmt.Println(dt)
|
fmt.Println(dt)
|
||||||
|
2
go.mod
2
go.mod
@ -27,7 +27,7 @@ require (
|
|||||||
github.com/hashicorp/go-cty-funcs v0.0.0-20230405223818-a090f58aa992
|
github.com/hashicorp/go-cty-funcs v0.0.0-20230405223818-a090f58aa992
|
||||||
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/moby/buildkit v0.14.0
|
github.com/moby/buildkit v0.14.1
|
||||||
github.com/moby/sys/mountinfo v0.7.1
|
github.com/moby/sys/mountinfo v0.7.1
|
||||||
github.com/moby/sys/signal v0.7.0
|
github.com/moby/sys/signal v0.7.0
|
||||||
github.com/morikuni/aec v1.0.0
|
github.com/morikuni/aec v1.0.0
|
||||||
|
4
go.sum
4
go.sum
@ -302,8 +302,8 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua
|
|||||||
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/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
|
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
|
||||||
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
|
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
|
||||||
github.com/moby/buildkit v0.14.0 h1:mHv2lFS8znLDRc4SMyM2B9tPjxWh2blMvr0H7ARquNM=
|
github.com/moby/buildkit v0.14.1 h1:2epLCZTkn4CikdImtsLtIa++7DzCimrrZCT1sway+oI=
|
||||||
github.com/moby/buildkit v0.14.0/go.mod h1:1XssG7cAqv5Bz1xcGMxJL123iCv5TYN4Z/qf647gfuk=
|
github.com/moby/buildkit v0.14.1/go.mod h1:1XssG7cAqv5Bz1xcGMxJL123iCv5TYN4Z/qf647gfuk=
|
||||||
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=
|
||||||
|
@ -821,7 +821,7 @@ COPy --from=base \
|
|||||||
stderr := bytes.Buffer{}
|
stderr := bytes.Buffer{}
|
||||||
cmd.Stdout = &stdout
|
cmd.Stdout = &stdout
|
||||||
cmd.Stderr = &stderr
|
cmd.Stderr = &stderr
|
||||||
require.NoError(t, cmd.Run(), stdout.String(), stderr.String())
|
require.Error(t, cmd.Run(), stdout.String(), stderr.String())
|
||||||
|
|
||||||
var res lint.LintResults
|
var res lint.LintResults
|
||||||
require.NoError(t, json.Unmarshal(stdout.Bytes(), &res))
|
require.NoError(t, json.Unmarshal(stdout.Bytes(), &res))
|
||||||
|
3
vendor/github.com/moby/buildkit/frontend/dockerfile/shell/lex.go
generated
vendored
3
vendor/github.com/moby/buildkit/frontend/dockerfile/shell/lex.go
generated
vendored
@ -429,7 +429,8 @@ func (sw *shellWord) processDollar() (string, error) {
|
|||||||
case '%', '#':
|
case '%', '#':
|
||||||
// %/# matches the shortest pattern expansion, %%/## the longest
|
// %/# matches the shortest pattern expansion, %%/## the longest
|
||||||
greedy := false
|
greedy := false
|
||||||
if word[0] == byte(ch) {
|
|
||||||
|
if len(word) > 0 && word[0] == byte(ch) {
|
||||||
greedy = true
|
greedy = true
|
||||||
word = word[1:]
|
word = word[1:]
|
||||||
}
|
}
|
||||||
|
8
vendor/github.com/moby/buildkit/frontend/subrequests/lint/lint.go
generated
vendored
8
vendor/github.com/moby/buildkit/frontend/subrequests/lint/lint.go
generated
vendored
@ -108,7 +108,7 @@ func (results *LintResults) ToResult() (*client.Result, error) {
|
|||||||
res.AddMeta("result.txt", b.Bytes())
|
res.AddMeta("result.txt", b.Bytes())
|
||||||
|
|
||||||
status := 0
|
status := 0
|
||||||
if len(results.Warnings) > 0 {
|
if len(results.Warnings) > 0 || results.Error != nil {
|
||||||
status = 1
|
status = 1
|
||||||
}
|
}
|
||||||
res.AddMeta("result.statuscode", []byte(fmt.Sprintf("%d", status)))
|
res.AddMeta("result.statuscode", []byte(fmt.Sprintf("%d", status)))
|
||||||
@ -169,11 +169,11 @@ func PrintLintViolations(dt []byte, w io.Writer) error {
|
|||||||
})
|
})
|
||||||
|
|
||||||
for _, warning := range results.Warnings {
|
for _, warning := range results.Warnings {
|
||||||
fmt.Fprintf(w, "%s", warning.RuleName)
|
fmt.Fprintf(w, "\nWARNING: %s", warning.RuleName)
|
||||||
if warning.URL != "" {
|
if warning.URL != "" {
|
||||||
fmt.Fprintf(w, " - %s", warning.URL)
|
fmt.Fprintf(w, " - %s", warning.URL)
|
||||||
}
|
}
|
||||||
fmt.Fprintf(w, "\n%s\n", warning.Description)
|
fmt.Fprintf(w, "\n%s\n", warning.Detail)
|
||||||
|
|
||||||
if warning.Location.SourceIndex < 0 {
|
if warning.Location.SourceIndex < 0 {
|
||||||
continue
|
continue
|
||||||
@ -187,8 +187,8 @@ func PrintLintViolations(dt []byte, w io.Writer) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
fmt.Fprintln(w)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
2
vendor/modules.txt
vendored
2
vendor/modules.txt
vendored
@ -519,7 +519,7 @@ github.com/mitchellh/go-wordwrap
|
|||||||
# github.com/mitchellh/reflectwalk v1.0.2
|
# github.com/mitchellh/reflectwalk v1.0.2
|
||||||
## explicit
|
## explicit
|
||||||
github.com/mitchellh/reflectwalk
|
github.com/mitchellh/reflectwalk
|
||||||
# github.com/moby/buildkit v0.14.0
|
# github.com/moby/buildkit v0.14.1
|
||||||
## explicit; go 1.21
|
## explicit; go 1.21
|
||||||
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…
x
Reference in New Issue
Block a user