diff --git a/commands/bake.go b/commands/bake.go index 9042b57d..77ad7529 100644 --- a/commands/bake.go +++ b/commands/bake.go @@ -152,6 +152,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 329d9a9a..be4b27a6 100644 --- a/tests/bake.go +++ b/tests/bake.go @@ -30,6 +30,7 @@ var bakeTests = []func(t *testing.T, sb integration.Sandbox){ testBakeRemoteCmdContextEscapeRelative, testBakeRemoteDockerfileCwd, testBakeRemoteLocalContextRemoteDockerfile, + testBakeEmpty, } func testBakeLocal(t *testing.T, sb integration.Sandbox) { @@ -477,3 +478,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") +}