From d0a9a81e2e3fd6c35ac715b70c120fa9bf9fccae Mon Sep 17 00:00:00 2001 From: David Karlsson <35727626+dvdksn@users.noreply.github.com> Date: Sat, 28 Oct 2023 13:17:55 +0200 Subject: [PATCH] bake: improve error message for empty definition Closes #2095 Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com> --- commands/bake.go | 4 ++++ tests/bake.go | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/commands/bake.go b/commands/bake.go index f81d64fe..c2b0ba06 100644 --- a/commands/bake.go +++ b/commands/bake.go @@ -159,6 +159,10 @@ func runBake(dockerCli command.Cli, targets []string, in bakeOptions, cFlags com return err } + if len(files) == 0 { + return errors.New("couldn't find a bake definition") + } + tgts, grps, err := bake.ReadTargets(ctx, files, targets, overrides, map[string]string{ // don't forget to update documentation if you add a new // built-in variable: docs/bake-reference.md#built-in-variables diff --git a/tests/bake.go b/tests/bake.go index 83a171ea..1be77317 100644 --- a/tests/bake.go +++ b/tests/bake.go @@ -29,6 +29,7 @@ var bakeTests = []func(t *testing.T, sb integration.Sandbox){ testBakeRemoteCmdContextEscapeRelative, testBakeRemoteDockerfileCwd, testBakeRemoteLocalContextRemoteDockerfile, + testBakeEmpty, } func testBakeLocal(t *testing.T, sb integration.Sandbox) { @@ -426,3 +427,9 @@ COPY foo /foo require.Error(t, err, out) require.Contains(t, out, "reading a dockerfile for a remote build invocation is currently not supported") } + +func testBakeEmpty(t *testing.T, sb integration.Sandbox) { + out, err := bakeCmd(sb) + require.Error(t, err, out) + require.Contains(t, out, "couldn't find a bake definition") +}