From 1a5dac45748541c82de85bdc1b6f325504941713 Mon Sep 17 00:00:00 2001 From: Tibor Vass Date: Tue, 22 May 2018 23:23:15 +0000 Subject: [PATCH] build: error out if buildkit is on and stdin is used for both dockerfile and context Signed-off-by: Tibor Vass Upstream-commit: 89e102474c26dae2ee70af6395b6778880cbf0d2 Component: cli --- components/cli/cli/command/image/build.go | 4 +++- components/cli/cli/command/image/build_buildkit.go | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/components/cli/cli/command/image/build.go b/components/cli/cli/command/image/build.go index b8dd40894e..a329378350 100644 --- a/components/cli/cli/command/image/build.go +++ b/components/cli/cli/command/image/build.go @@ -35,6 +35,8 @@ import ( "github.com/spf13/cobra" ) +var errStdinConflict = errors.New("invalid argument: can't use stdin for both build context and dockerfile") + type buildOptions struct { context string dockerfileName string @@ -192,7 +194,7 @@ func runBuild(dockerCli command.Cli, options buildOptions) error { if options.dockerfileFromStdin() { if options.contextFromStdin() { - return errors.New("invalid argument: can't use stdin for both build context and dockerfile") + return errStdinConflict } dockerfileCtx = dockerCli.In() } diff --git a/components/cli/cli/command/image/build_buildkit.go b/components/cli/cli/command/image/build_buildkit.go index 808d05c90b..d678d78a3c 100644 --- a/components/cli/cli/command/image/build_buildkit.go +++ b/components/cli/cli/command/image/build_buildkit.go @@ -51,6 +51,9 @@ func runBuildBuildKit(dockerCli command.Cli, options buildOptions) error { ) switch { case options.contextFromStdin(): + if options.dockerfileFromStdin() { + return errStdinConflict + } rc, isArchive, err := build.DetectArchiveReader(os.Stdin) if err != nil { return err