diff --git a/integration/dockerfiles/Dockerfile_test_scratch b/integration/dockerfiles/Dockerfile_test_scratch index 340d05532..ebde0ce22 100644 --- a/integration/dockerfiles/Dockerfile_test_scratch +++ b/integration/dockerfiles/Dockerfile_test_scratch @@ -1,4 +1,5 @@ -FROM scratch +ARG image +FROM ${image} # First, make sure simple arg replacement works ARG file COPY $file /foo diff --git a/integration/integration_test.go b/integration/integration_test.go index 37bb4552e..06e40e07f 100644 --- a/integration/integration_test.go +++ b/integration/integration_test.go @@ -98,6 +98,7 @@ func TestRun(t *testing.T) { "Dockerfile_test_add": {"file=context/foo"}, "Dockerfile_test_onbuild": {"file=/tmp/onbuild"}, "Dockerfile_test_scratch": { + "image=scratch", "hello=hello-value", "file=context/foo", "file3=context/b*", diff --git a/pkg/executor/executor.go b/pkg/executor/executor.go index 4562ea9cf..d5f80b060 100644 --- a/pkg/executor/executor.go +++ b/pkg/executor/executor.go @@ -63,7 +63,10 @@ func DoBuild(dockerfilePath, srcContext, snapshotMode string, args []string) (na return nil, nil, err } for index, stage := range stages { - baseImage := stage.BaseName + baseImage, err := util.ResolveEnvironmentReplacement(stage.BaseName, args, false) + if err != nil { + return nil, nil, err + } finalStage := index == len(stages)-1 // Unpack file system to root logrus.Infof("Unpacking filesystem of %s...", baseImage)