From 15f4e94b4fd32d854b2e1b0920c1f27a76fc0c6d Mon Sep 17 00:00:00 2001 From: Milan Vit Date: Fri, 19 Mar 2021 16:00:36 +0900 Subject: [PATCH 1/5] =?UTF-8?q?=E2=9C=85=20Add=20(hopefully)=20failing=20t?= =?UTF-8?q?est=20for=20image=20labeling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/unit/git_4.bats | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/unit/git_4.bats b/tests/unit/git_4.bats index f000042e2..f62e6a18f 100644 --- a/tests/unit/git_4.bats +++ b/tests/unit/git_4.bats @@ -116,3 +116,11 @@ EOF echo "status: $status" assert_failure } + +@test "(git) git:from-image labels correctly" { + run /bin/bash -c "dokku git:from-image $TEST_APP gliderlabs/logspout:v3.2.14" + run /bin/bash -c "docker image inspect dokku/$TEST_APP:latest | grep 'alternate-tags' | grep 'gliderlabs/logspout:v3.2.14'" + echo "output: $output" + echo "status: $status" + assert_success +} From f07f489ef6830525487082428b98ab5184ed039d Mon Sep 17 00:00:00 2001 From: Milan Vit Date: Fri, 19 Mar 2021 16:21:08 +0900 Subject: [PATCH 2/5] =?UTF-8?q?=F0=9F=92=9A=20Break=20test=20by=20fixing?= =?UTF-8?q?=20it?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/unit/git_4.bats | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/unit/git_4.bats b/tests/unit/git_4.bats index f62e6a18f..dac8cc96c 100644 --- a/tests/unit/git_4.bats +++ b/tests/unit/git_4.bats @@ -119,6 +119,10 @@ EOF @test "(git) git:from-image labels correctly" { run /bin/bash -c "dokku git:from-image $TEST_APP gliderlabs/logspout:v3.2.14" + echo "output: $output" + echo "status: $status" + assert_success + run /bin/bash -c "docker image inspect dokku/$TEST_APP:latest | grep 'alternate-tags' | grep 'gliderlabs/logspout:v3.2.14'" echo "output: $output" echo "status: $status" From 65095fa4f70c63c5fe4e2e00803ae755d32397ca Mon Sep 17 00:00:00 2001 From: Milan Vit Date: Fri, 19 Mar 2021 16:22:35 +0900 Subject: [PATCH 3/5] =?UTF-8?q?=F0=9F=92=9A=20Alter=20tests=20further?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/unit/git_4.bats | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/unit/git_4.bats b/tests/unit/git_4.bats index dac8cc96c..fbc6e6082 100644 --- a/tests/unit/git_4.bats +++ b/tests/unit/git_4.bats @@ -118,12 +118,12 @@ EOF } @test "(git) git:from-image labels correctly" { - run /bin/bash -c "dokku git:from-image $TEST_APP gliderlabs/logspout:v3.2.14" + run /bin/bash -c "dokku git:from-image $TEST_APP linuxserver/foldingathome:7.5.1-ls1" echo "output: $output" echo "status: $status" assert_success - run /bin/bash -c "docker image inspect dokku/$TEST_APP:latest | grep 'alternate-tags' | grep 'gliderlabs/logspout:v3.2.14'" + run /bin/bash -c "docker image inspect dokku/$TEST_APP:latest | grep 'alternate-tags' | grep 'linuxserver/foldingathome:7.5.1-ls1'" echo "output: $output" echo "status: $status" assert_success From 9de027167de2b9f5122b7b6b85a3e880f9c520f1 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sun, 21 Mar 2021 01:02:04 -0400 Subject: [PATCH 4/5] tests: make test a bit clearer --- tests/unit/git_4.bats | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/unit/git_4.bats b/tests/unit/git_4.bats index fbc6e6082..d66454ad5 100644 --- a/tests/unit/git_4.bats +++ b/tests/unit/git_4.bats @@ -123,8 +123,9 @@ EOF echo "status: $status" assert_success - run /bin/bash -c "docker image inspect dokku/$TEST_APP:latest | grep 'alternate-tags' | grep 'linuxserver/foldingathome:7.5.1-ls1'" + run /bin/bash -c "docker image inspect dokku/$TEST_APP:latest | grep 'alternate-tags'" echo "output: $output" echo "status: $status" assert_success + assert_output_contains "linuxserver/foldingathome:7.5.1-ls1" } From 8660d58eb0cbac8376ec243e9e50379022e83a9b Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 25 Mar 2021 22:14:53 -0400 Subject: [PATCH 5/5] fix: inject alternate label when building from an image This label is otherwise missing, causing tooling that might want to know about it's pre-existing labels - specifically, docker-image-labeler - to fail to run as expected. --- plugins/git/internal-functions | 3 ++- tests/unit/git_4.bats | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/git/internal-functions b/plugins/git/internal-functions index 867d25c1f..54bf7e8dc 100755 --- a/plugins/git/internal-functions +++ b/plugins/git/internal-functions @@ -167,7 +167,8 @@ cmd-git-from-image() { dokku_log_verbose "Setting Dockerfile" touch "$TMP_WORK_DIR/Dockerfile" - echo "FROM $DOCKER_IMAGE" >"$TMP_WORK_DIR/Dockerfile" + echo "FROM $DOCKER_IMAGE" >>"$TMP_WORK_DIR/Dockerfile" + echo "LABEL com.dokku.docker-image-labeler/alternate-tags=\"[\"linuxserver/foldingathome:7.5.1-ls1\"]\"" >>"$TMP_WORK_DIR/Dockerfile" plugn trigger git-from-directory "$APP" "$TMP_WORK_DIR" "$USER_NAME" "$USER_EMAIL" } diff --git a/tests/unit/git_4.bats b/tests/unit/git_4.bats index d66454ad5..6d26de148 100644 --- a/tests/unit/git_4.bats +++ b/tests/unit/git_4.bats @@ -123,7 +123,7 @@ EOF echo "status: $status" assert_success - run /bin/bash -c "docker image inspect dokku/$TEST_APP:latest | grep 'alternate-tags'" + run /bin/bash -c "docker image inspect dokku/$TEST_APP:latest --format '{{ index .Config.Labels \"com.dokku.docker-image-labeler/alternate-tags\" }}'" echo "output: $output" echo "status: $status" assert_success