diff --git a/integration/dockerfiles/Dockerfile_test_git b/integration/dockerfiles/Dockerfile_test_git deleted file mode 100644 index c1a92ea80..000000000 --- a/integration/dockerfiles/Dockerfile_test_git +++ /dev/null @@ -1,2 +0,0 @@ -FROM scratch -COPY LICENSE /LICENSE \ No newline at end of file diff --git a/integration/images.go b/integration/images.go index 45a548f76..4c9b1dde7 100644 --- a/integration/images.go +++ b/integration/images.go @@ -71,7 +71,6 @@ var additionalKanikoFlagsMap = map[string][]string{ "Dockerfile_test_target": {"--target=second"}, } -var gitRepoTests = []string{"Dockerfile_test_git"} var bucketContextTests = []string{"Dockerfile_test_copy_bucket"} var reproducibleTests = []string{"Dockerfile_test_reproducible"} @@ -157,15 +156,11 @@ func (d *DockerFileBuilder) BuildImage(imageRepo, gcsBucket, dockerfilesPath, do // build docker image additionalFlags := append(buildArgs, additionalDockerFlagsMap[dockerfile]...) dockerImage := strings.ToLower(imageRepo + dockerPrefix + dockerfile) - dockerPath := "." - if dockerfile == "Dockerfile_test_git" { - dockerPath = "https://github.com/GoogleContainerTools/kaniko" - } dockerCmd := exec.Command("docker", append([]string{"build", "-t", dockerImage, "-f", path.Join(dockerfilesPath, dockerfile), - dockerPath}, + "."}, additionalFlags...)..., ) @@ -185,12 +180,6 @@ func (d *DockerFileBuilder) BuildImage(imageRepo, gcsBucket, dockerfilesPath, do } } - for _, d := range gitRepoTests { - if d == dockerfile { - contextPath = "git://https://github.com/GoogleContainerTools/kaniko" - } - } - reproducibleFlag := "" for _, d := range reproducibleTests { if d == dockerfile { diff --git a/integration/integration_test.go b/integration/integration_test.go index 69aa77788..c11dd1378 100644 --- a/integration/integration_test.go +++ b/integration/integration_test.go @@ -30,10 +30,9 @@ import ( "testing" "time" - "golang.org/x/sync/errgroup" - "github.com/google/go-containerregistry/pkg/name" "github.com/google/go-containerregistry/pkg/v1/daemon" + "golang.org/x/sync/errgroup" "github.com/GoogleContainerTools/kaniko/pkg/timing" "github.com/GoogleContainerTools/kaniko/pkg/util" @@ -236,6 +235,49 @@ func TestRun(t *testing.T) { } } +func TestGitBuildcontext(t *testing.T) { + repo := "github.com/GoogleContainerTools/kaniko" + dockerfile := "integration/dockerfiles/Dockerfile_test_run_2" + + // Build with docker + dockerImage := GetDockerImage(config.imageRepo, "Dockerfile_test_git") + dockerCmd := exec.Command("docker", + append([]string{"build", + "-t", dockerImage, + "-f", dockerfile, + repo})...) + out, err := RunCommandWithoutTest(dockerCmd) + if err != nil { + t.Errorf("Failed to build image %s with docker command \"%s\": %s %s", dockerImage, dockerCmd.Args, err, string(out)) + } + + // Build with kaniko + kanikoImage := GetKanikoImage(config.imageRepo, "Dockerfile_test_git") + kanikoCmd := exec.Command("docker", + append([]string{"run", + "-v", os.Getenv("HOME") + "/.config/gcloud:/root/.config/gcloud", + ExecutorImage, + "-f", dockerfile, + "-d", kanikoImage, + "-c", fmt.Sprintf("git://%s", repo)})...) + + out, err = RunCommandWithoutTest(kanikoCmd) + if err != nil { + t.Errorf("Failed to build image %s with kaniko command \"%s\": %v %s", dockerImage, kanikoCmd.Args, err, string(out)) + } + + // container-diff + daemonDockerImage := daemonPrefix + dockerImage + containerdiffCmd := exec.Command("container-diff", "diff", "--no-cache", + daemonDockerImage, kanikoImage, + "-q", "--type=file", "--type=metadata", "--json") + diff := RunCommand(containerdiffCmd, t) + t.Logf("diff = %s", string(diff)) + + expected := fmt.Sprintf(emptyContainerDiff, dockerImage, kanikoImage, dockerImage, kanikoImage) + checkContainerDiffOutput(t, diff, expected) +} + func TestLayers(t *testing.T) { offset := map[string]int{ "Dockerfile_test_add": 11,