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") +}