Merge pull request #3278 from crazy-max/fix-exit-after-defer

cmd: fix possible skipped defers for build and bake
This commit is contained in:
Tõnis Tiigi
2025-07-01 09:32:05 -07:00
committed by GitHub
5 changed files with 28 additions and 5 deletions
+2 -1
View File
@@ -24,6 +24,7 @@ import (
"github.com/docker/buildx/builder"
"github.com/docker/buildx/localstate"
"github.com/docker/buildx/util/buildflags"
"github.com/docker/buildx/util/cobrautil"
"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/buildx/util/confutil"
"github.com/docker/buildx/util/desktop"
@@ -448,7 +449,7 @@ func runBake(ctx context.Context, dockerCli command.Cli, targets []string, in ba
}
if exitCode != 0 {
os.Exit(exitCode)
return cobrautil.ExitCodeError(exitCode)
}
return nil
+3 -3
View File
@@ -384,10 +384,10 @@ func runBuild(ctx context.Context, dockerCli command.Cli, options buildOptions)
}
}
if opts.CallFunc != nil {
if exitcode, err := printResult(dockerCli.Out(), opts.CallFunc, resp.ExporterResponse, options.target, inputs); err != nil {
if exitCode, err := printResult(dockerCli.Out(), opts.CallFunc, resp.ExporterResponse, options.target, inputs); err != nil {
return err
} else if exitcode != 0 {
os.Exit(exitcode)
} else if exitCode != 0 {
return cobrautil.ExitCodeError(exitCode)
}
}
if v, ok := resp.ExporterResponse["frontend.result.inlinemessage"]; ok {