diff --git a/commands/bake.go b/commands/bake.go index a62e7a8b5..9e24aa78b 100644 --- a/commands/bake.go +++ b/commands/bake.go @@ -67,7 +67,7 @@ type bakeOptions struct { listVars bool } -func runBake(ctx context.Context, dockerCli command.Cli, targets []string, in bakeOptions, cFlags commonFlags) (err error) { +func runBake(ctx context.Context, dockerCli command.Cli, targets []string, in bakeOptions, cFlags commonFlags, filesFromEnv bool) (err error) { mp := dockerCli.MeterProvider() ctx, end, err := tracing.TraceCurrentCommand(ctx, append([]string{"bake"}, targets...), @@ -185,7 +185,7 @@ func runBake(ctx context.Context, dockerCli command.Cli, targets []string, in ba return err } - files, inp, err := readBakeFiles(ctx, nodes, url, in.files, dockerCli.In(), printer) + files, inp, err := readBakeFiles(ctx, nodes, url, in.files, dockerCli.In(), printer, filesFromEnv) if err != nil { return err } @@ -457,12 +457,14 @@ func bakeCmd(dockerCli command.Cli, rootOpts *rootOptions) *cobra.Command { Aliases: []string{"f"}, Short: "Build from a file", RunE: func(cmd *cobra.Command, args []string) error { + filesFromEnv := false if len(options.files) == 0 { envFiles, err := bakeEnvFiles(os.LookupEnv) if err != nil { return err } options.files = envFiles + filesFromEnv = true } // reset to nil to avoid override is unset if !cmd.Flags().Lookup("no-cache").Changed { @@ -481,7 +483,7 @@ func bakeCmd(dockerCli command.Cli, rootOpts *rootOptions) *cobra.Command { options.builder = rootOpts.builder options.metadataFile = cFlags.metadataFile // Other common flags (noCache, pull and progress) are processed in runBake function. - return runBake(cmd.Context(), dockerCli, args, options, cFlags) + return runBake(cmd.Context(), dockerCli, args, options, cFlags, filesFromEnv) }, ValidArgsFunction: completion.BakeTargets(options.files), } @@ -596,7 +598,7 @@ func bakeArgs(args []string) (url, cmdContext string, targets []string) { return url, cmdContext, targets } -func readBakeFiles(ctx context.Context, nodes []builder.Node, url string, names []string, stdin io.Reader, pw progress.Writer) (files []bake.File, inp *bake.Input, err error) { +func readBakeFiles(ctx context.Context, nodes []builder.Node, url string, names []string, stdin io.Reader, pw progress.Writer, filesFromEnv bool) (files []bake.File, inp *bake.Input, err error) { var lnames []string // local var rnames []string // remote var anames []string // both @@ -621,7 +623,11 @@ func readBakeFiles(ctx context.Context, nodes []builder.Node, url string, names if len(lnames) > 0 || url == "" { var lfiles []bake.File - progress.Wrap("[internal] load local bake definitions", pw.Write, func(sub progress.SubLogger) error { + where := "" + if filesFromEnv { + where = " from " + bakeEnvFilePath + " env" + } + progress.Wrap("[internal] load local bake definitions"+where, pw.Write, func(sub progress.SubLogger) error { if url != "" { lfiles, err = bake.ReadLocalFiles(lnames, stdin, sub) } else { diff --git a/tests/bake.go b/tests/bake.go index f141f314f..03354ec8f 100644 --- a/tests/bake.go +++ b/tests/bake.go @@ -2213,7 +2213,7 @@ target "second" { dt, err := cmd.CombinedOutput() require.NoError(t, err, string(dt)) - require.Contains(t, string(dt), `#1 [internal] load local bake definitions`) + require.Contains(t, string(dt), `#1 [internal] load local bake definitions from BUILDX_BAKE_FILE env`) require.Contains(t, string(dt), `#1 reading first.hcl`) }) @@ -2230,7 +2230,7 @@ target "second" { dt, err := cmd.CombinedOutput() require.NoError(t, err, string(dt)) - require.Contains(t, string(dt), `#1 [internal] load local bake definitions`) + require.Contains(t, string(dt), `#1 [internal] load local bake definitions from BUILDX_BAKE_FILE env`) require.Contains(t, string(dt), `#1 reading first.hcl`) require.NotContains(t, string(dt), "docker-bake.hcl") }) @@ -2249,7 +2249,7 @@ target "second" { withEnv("BUILDX_BAKE_FILE=first.hcl"+string(os.PathListSeparator)+"second.hcl")) dt, err := cmd.CombinedOutput() require.NoError(t, err, string(dt)) - require.Contains(t, string(dt), `#1 [internal] load local bake definitions`) + require.Contains(t, string(dt), `#1 [internal] load local bake definitions from BUILDX_BAKE_FILE env`) require.Contains(t, string(dt), `#1 reading first.hcl`) require.Contains(t, string(dt), `#1 reading second.hcl`) }) @@ -2269,7 +2269,7 @@ target "second" { dt, err := cmd.CombinedOutput() require.NoError(t, err, string(dt)) - require.Contains(t, string(dt), `#1 [internal] load local bake definitions`) + require.Contains(t, string(dt), `#1 [internal] load local bake definitions from BUILDX_BAKE_FILE env`) require.Contains(t, string(dt), `#1 reading first.hcl`) require.Contains(t, string(dt), `#1 reading second.hcl`) }) @@ -2294,7 +2294,7 @@ target "second" { dt, err := cmd.CombinedOutput() require.NoError(t, err, string(dt)) - require.Contains(t, string(dt), `#1 [internal] load local bake definitions`) + require.Contains(t, string(dt), `#1 [internal] load local bake definitions from BUILDX_BAKE_FILE env`) require.Contains(t, string(dt), `#1 reading first.hcl`) require.Contains(t, string(dt), `#1 reading from stdin`) })