From 28f630990348dfe4389681315c0bffd56c96d705 Mon Sep 17 00:00:00 2001 From: Gaurav Saini <147703805+gauravsaini04@users.noreply.github.com> Date: Mon, 27 Jan 2025 02:45:06 +0000 Subject: [PATCH 01/13] [docker-outside-of-docker] - Correction in fetching previous version from github api url --- src/docker-outside-of-docker/install.sh | 2 +- test/docker-outside-of-docker/docker_build_compose_fallback.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/docker-outside-of-docker/install.sh b/src/docker-outside-of-docker/install.sh index 5854fc340..389cfe383 100755 --- a/src/docker-outside-of-docker/install.sh +++ b/src/docker-outside-of-docker/install.sh @@ -166,7 +166,7 @@ get_previous_version() { declare -g ${variable_name}="${prev_version}" else echo -e "\nAttempting to find latest version using GitHub Api." - version=$(echo "$output" | jq -r '.tag_name') + version=$(echo "$output" | jq -r '.[1].tag_name') declare -g ${variable_name}="${version#v}" fi echo "${variable_name}=${!variable_name}" diff --git a/test/docker-outside-of-docker/docker_build_compose_fallback.sh b/test/docker-outside-of-docker/docker_build_compose_fallback.sh index 7f3a6f1dd..063c8bca1 100644 --- a/test/docker-outside-of-docker/docker_build_compose_fallback.sh +++ b/test/docker-outside-of-docker/docker_build_compose_fallback.sh @@ -126,7 +126,7 @@ get_previous_version() { declare -g ${variable_name}="${prev_version}" else echo -e "\nAttempting to find latest version using GitHub Api." - version=$(echo "$output" | jq -r '.tag_name') + version=$(echo "$output" | jq -r '.[1].tag_name') declare -g ${variable_name}="${version#v}" fi echo "${variable_name}=${!variable_name}" From 7924866b7ccd13542fe649018ae89ca915e70d0d Mon Sep 17 00:00:00 2001 From: Gaurav Saini <147703805+gauravsaini04@users.noreply.github.com> Date: Mon, 27 Jan 2025 03:05:06 +0000 Subject: [PATCH 02/13] need full array of objects instead was pulling only the object pertaining to latest release --- src/docker-outside-of-docker/install.sh | 2 +- test/docker-outside-of-docker/docker_build_compose_fallback.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/docker-outside-of-docker/install.sh b/src/docker-outside-of-docker/install.sh index 389cfe383..7f194006b 100755 --- a/src/docker-outside-of-docker/install.sh +++ b/src/docker-outside-of-docker/install.sh @@ -174,7 +174,7 @@ get_previous_version() { get_github_api_repo_url() { local url=$1 - echo "${url/https:\/\/github.com/https:\/\/api.github.com\/repos}/releases/latest" + echo "${url/https:\/\/github.com/https:\/\/api.github.com\/repos}/releases" } install_compose_switch_fallback() { diff --git a/test/docker-outside-of-docker/docker_build_compose_fallback.sh b/test/docker-outside-of-docker/docker_build_compose_fallback.sh index 063c8bca1..901551211 100644 --- a/test/docker-outside-of-docker/docker_build_compose_fallback.sh +++ b/test/docker-outside-of-docker/docker_build_compose_fallback.sh @@ -134,7 +134,7 @@ get_previous_version() { get_github_api_repo_url() { local url=$1 - echo "${url/https:\/\/github.com/https:\/\/api.github.com\/repos}/releases/latest" + echo "${url/https:\/\/github.com/https:\/\/api.github.com\/repos}/releases" } install_compose_switch_fallback() { From ebde5710cdf63b66ffa8448874ffe484e675f737 Mon Sep 17 00:00:00 2001 From: Gaurav Saini <147703805+gauravsaini04@users.noreply.github.com> Date: Mon, 27 Jan 2025 03:20:09 +0000 Subject: [PATCH 03/13] Correcting the scenario when result of json can be an object or an array, so to tackle both the scenarios in the function of fallbacking --- src/docker-outside-of-docker/install.sh | 19 +++++++------- .../docker_build_compose_fallback.sh | 25 ++++++++----------- 2 files changed, 21 insertions(+), 23 deletions(-) diff --git a/src/docker-outside-of-docker/install.sh b/src/docker-outside-of-docker/install.sh index 7f194006b..ff1c18693 100755 --- a/src/docker-outside-of-docker/install.sh +++ b/src/docker-outside-of-docker/install.sh @@ -156,16 +156,17 @@ get_previous_version() { output=$(curl -s "$repo_url"); check_packages jq - - message=$(echo "$output" | jq -r '.message') - if [[ $message == "API rate limit exceeded"* ]]; then - echo -e "\nAn attempt to find latest version using GitHub Api Failed... \nReason: ${message}" - echo -e "\nAttempting to find latest version using GitHub tags." - find_prev_version_from_git_tags prev_version "$url" "tags/v" - declare -g ${variable_name}="${prev_version}" - else - echo -e "\nAttempting to find latest version using GitHub Api." + if echo "$output" | jq -e 'type == "object"' > /dev/null; then + message=$(echo "$output" | jq -r '.message') + if [[ $message == "API rate limit exceeded"* ]]; then + echo -e "\nAn attempt to find previous to latest version using GitHub Api Failed... \nReason: ${message}" + echo -e "\nAttempting to find previous to latest version using GitHub tags." + find_prev_version_from_git_tags prev_version "$url" "tags/v" + declare -g ${variable_name}="${prev_version}" + fi + elif echo "$output" | jq -e 'type == "array"' > /dev/null; then + echo -e "\nAttempting to find previous version using GitHub Api." version=$(echo "$output" | jq -r '.[1].tag_name') declare -g ${variable_name}="${version#v}" fi diff --git a/test/docker-outside-of-docker/docker_build_compose_fallback.sh b/test/docker-outside-of-docker/docker_build_compose_fallback.sh index 901551211..4050f0958 100644 --- a/test/docker-outside-of-docker/docker_build_compose_fallback.sh +++ b/test/docker-outside-of-docker/docker_build_compose_fallback.sh @@ -112,24 +112,21 @@ get_previous_version() { local variable_name=$3 local mode=$4 prev_version=${!variable_name} - output=$(curl -s "$repo_url"); - check_packages jq - - message=$(echo "$output" | jq -r '.message') - - if [[ $message == "API rate limit exceeded"* ]] || [[ $mode == 'mode1' ]]; then - echo -e "\nAn attempt to find latest version using GitHub Api Failed... \nReason: ${message}" - echo -e "\nAttempting to find latest version using GitHub tags." - find_prev_version_from_git_tags prev_version "$url" "tags/v" - declare -g ${variable_name}="${prev_version}" - else - echo -e "\nAttempting to find latest version using GitHub Api." + if echo "$output" | jq -e 'type == "object"' > /dev/null; then + message=$(echo "$output" | jq -r '.message') + if [[ $message == "API rate limit exceeded"* ]] || [[ $mode == 'mode1' ]]; then + echo -e "\nAn attempt to find previous to latest version using GitHub Api Failed... \nReason: ${message}" + echo -e "\nAttempting to find previous to latest version using GitHub tags." + find_prev_version_from_git_tags prev_version "$url" "tags/v" + declare -g ${variable_name}="${prev_version}" + fi + elif echo "$output" | jq -e 'type == "array"' > /dev/null; then + echo -e "\nAttempting to find previous version using GitHub Api." version=$(echo "$output" | jq -r '.[1].tag_name') declare -g ${variable_name}="${version#v}" - fi - echo "${variable_name}=${!variable_name}" + fi } get_github_api_repo_url() { From 0f3d351b13346c38f9ae19ad1df4b711523d47d9 Mon Sep 17 00:00:00 2001 From: Gaurav Saini <147703805+gauravsaini04@users.noreply.github.com> Date: Mon, 27 Jan 2025 03:29:46 +0000 Subject: [PATCH 04/13] version output for docker-compose-switch in test scenario run for testing fallback --- .../docker-outside-of-docker/docker_build_compose_fallback.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/docker-outside-of-docker/docker_build_compose_fallback.sh b/test/docker-outside-of-docker/docker_build_compose_fallback.sh index 4050f0958..ded53ebc2 100644 --- a/test/docker-outside-of-docker/docker_build_compose_fallback.sh +++ b/test/docker-outside-of-docker/docker_build_compose_fallback.sh @@ -156,7 +156,9 @@ install_compose-switch_as_docker-compose() { echo -e "\nšŸ‘‰ Trying to install compose-switch as docker-compose using mode 1 ( find_prev_version_from_git_tags method )"; install_compose-switch_as_docker-compose "mode1" check "installs compose-switch as docker-compose mode 1" bash -c "[[ -f /usr/local/bin/docker-compose ]]" +check "docker-compose switch version" bash -c "docker compose version" echo -e "\nšŸ‘‰ Trying to install compose-switch as docker-compose using mode 2 ( GitHub Api )"; install_compose-switch_as_docker-compose "mode2" -check "installs compose-switch as docker-compose mode 2" bash -c "[[ -f /usr/local/bin/docker-compose ]]" \ No newline at end of file +check "installs compose-switch as docker-compose mode 2" bash -c "[[ -f /usr/local/bin/docker-compose ]]" +check "docker-compose switch version" bash -c "docker compose version" \ No newline at end of file From b8d31177c212bf42dc3b3f728b28c8df75488262 Mon Sep 17 00:00:00 2001 From: Gaurav Saini <147703805+gauravsaini04@users.noreply.github.com> Date: Mon, 27 Jan 2025 03:33:04 +0000 Subject: [PATCH 05/13] correction in getting version for docker compose outputted in test case --- .../docker-outside-of-docker/docker_build_compose_fallback.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/docker-outside-of-docker/docker_build_compose_fallback.sh b/test/docker-outside-of-docker/docker_build_compose_fallback.sh index ded53ebc2..f28d64af0 100644 --- a/test/docker-outside-of-docker/docker_build_compose_fallback.sh +++ b/test/docker-outside-of-docker/docker_build_compose_fallback.sh @@ -156,9 +156,9 @@ install_compose-switch_as_docker-compose() { echo -e "\nšŸ‘‰ Trying to install compose-switch as docker-compose using mode 1 ( find_prev_version_from_git_tags method )"; install_compose-switch_as_docker-compose "mode1" check "installs compose-switch as docker-compose mode 1" bash -c "[[ -f /usr/local/bin/docker-compose ]]" -check "docker-compose switch version" bash -c "docker compose version" +check "docker-compose switch version" bash -c "docker-compose --version" echo -e "\nšŸ‘‰ Trying to install compose-switch as docker-compose using mode 2 ( GitHub Api )"; install_compose-switch_as_docker-compose "mode2" check "installs compose-switch as docker-compose mode 2" bash -c "[[ -f /usr/local/bin/docker-compose ]]" -check "docker-compose switch version" bash -c "docker compose version" \ No newline at end of file +check "docker-compose switch version" bash -c "docker-compose --version" \ No newline at end of file From 789290801ad35615586bc8326c180bfa55b6ac06 Mon Sep 17 00:00:00 2001 From: Gaurav Saini <147703805+gauravsaini04@users.noreply.github.com> Date: Mon, 27 Jan 2025 03:36:32 +0000 Subject: [PATCH 06/13] correction --- .../docker-outside-of-docker/docker_build_compose_fallback.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/docker-outside-of-docker/docker_build_compose_fallback.sh b/test/docker-outside-of-docker/docker_build_compose_fallback.sh index f28d64af0..afa3872f7 100644 --- a/test/docker-outside-of-docker/docker_build_compose_fallback.sh +++ b/test/docker-outside-of-docker/docker_build_compose_fallback.sh @@ -156,9 +156,9 @@ install_compose-switch_as_docker-compose() { echo -e "\nšŸ‘‰ Trying to install compose-switch as docker-compose using mode 1 ( find_prev_version_from_git_tags method )"; install_compose-switch_as_docker-compose "mode1" check "installs compose-switch as docker-compose mode 1" bash -c "[[ -f /usr/local/bin/docker-compose ]]" -check "docker-compose switch version" bash -c "docker-compose --version" +check "docker-compose switch version" bash -c "docker compose-switch --version" echo -e "\nšŸ‘‰ Trying to install compose-switch as docker-compose using mode 2 ( GitHub Api )"; install_compose-switch_as_docker-compose "mode2" check "installs compose-switch as docker-compose mode 2" bash -c "[[ -f /usr/local/bin/docker-compose ]]" -check "docker-compose switch version" bash -c "docker-compose --version" \ No newline at end of file +check "docker-compose switch version" bash -c "docker compose-switch --version" \ No newline at end of file From 6bbae1aa6230d1d4f7ba57d066b2ac068d9aca6f Mon Sep 17 00:00:00 2001 From: Gaurav Saini <147703805+gauravsaini04@users.noreply.github.com> Date: Mon, 27 Jan 2025 03:40:14 +0000 Subject: [PATCH 07/13] correction --- .../docker-outside-of-docker/docker_build_compose_fallback.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/docker-outside-of-docker/docker_build_compose_fallback.sh b/test/docker-outside-of-docker/docker_build_compose_fallback.sh index afa3872f7..f8a31b13f 100644 --- a/test/docker-outside-of-docker/docker_build_compose_fallback.sh +++ b/test/docker-outside-of-docker/docker_build_compose_fallback.sh @@ -156,9 +156,9 @@ install_compose-switch_as_docker-compose() { echo -e "\nšŸ‘‰ Trying to install compose-switch as docker-compose using mode 1 ( find_prev_version_from_git_tags method )"; install_compose-switch_as_docker-compose "mode1" check "installs compose-switch as docker-compose mode 1" bash -c "[[ -f /usr/local/bin/docker-compose ]]" -check "docker-compose switch version" bash -c "docker compose-switch --version" +check "docker-compose switch version" bash -c "docker compose-switch --version | awk '{print $NF}'" echo -e "\nšŸ‘‰ Trying to install compose-switch as docker-compose using mode 2 ( GitHub Api )"; install_compose-switch_as_docker-compose "mode2" check "installs compose-switch as docker-compose mode 2" bash -c "[[ -f /usr/local/bin/docker-compose ]]" -check "docker-compose switch version" bash -c "docker compose-switch --version" \ No newline at end of file +check "docker-compose switch version" bash -c "docker compose-switch --version | awk '{print $NF}'" \ No newline at end of file From b6486c29d7dd9eeecd8e2c8b80932f15e7516faf Mon Sep 17 00:00:00 2001 From: Gaurav Saini <147703805+gauravsaini04@users.noreply.github.com> Date: Mon, 27 Jan 2025 03:59:23 +0000 Subject: [PATCH 08/13] correction --- .../docker-outside-of-docker/docker_build_compose_fallback.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/docker-outside-of-docker/docker_build_compose_fallback.sh b/test/docker-outside-of-docker/docker_build_compose_fallback.sh index f8a31b13f..c1bdeb544 100644 --- a/test/docker-outside-of-docker/docker_build_compose_fallback.sh +++ b/test/docker-outside-of-docker/docker_build_compose_fallback.sh @@ -156,9 +156,9 @@ install_compose-switch_as_docker-compose() { echo -e "\nšŸ‘‰ Trying to install compose-switch as docker-compose using mode 1 ( find_prev_version_from_git_tags method )"; install_compose-switch_as_docker-compose "mode1" check "installs compose-switch as docker-compose mode 1" bash -c "[[ -f /usr/local/bin/docker-compose ]]" -check "docker-compose switch version" bash -c "docker compose-switch --version | awk '{print $NF}'" +check "docker-compose version" bash -c "docker-compose version" echo -e "\nšŸ‘‰ Trying to install compose-switch as docker-compose using mode 2 ( GitHub Api )"; install_compose-switch_as_docker-compose "mode2" check "installs compose-switch as docker-compose mode 2" bash -c "[[ -f /usr/local/bin/docker-compose ]]" -check "docker-compose switch version" bash -c "docker compose-switch --version | awk '{print $NF}'" \ No newline at end of file +check "docker-compose version" bash -c "docker-compose version" \ No newline at end of file From 479d6cbe6968d967c142caac7542c6750519da95 Mon Sep 17 00:00:00 2001 From: Gaurav Saini <147703805+gauravsaini04@users.noreply.github.com> Date: Fri, 7 Feb 2025 11:22:58 +0000 Subject: [PATCH 09/13] run the pipeline again --- src/docker-outside-of-docker/install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/docker-outside-of-docker/install.sh b/src/docker-outside-of-docker/install.sh index ff1c18693..c3c006ce8 100755 --- a/src/docker-outside-of-docker/install.sh +++ b/src/docker-outside-of-docker/install.sh @@ -170,7 +170,7 @@ get_previous_version() { version=$(echo "$output" | jq -r '.[1].tag_name') declare -g ${variable_name}="${version#v}" fi - echo "${variable_name}=${!variable_name}" + echo "${variable_name}=${!variable_name}" } get_github_api_repo_url() { From af0f3a26f774d42cd2b0f4942ae3ccea070de199 Mon Sep 17 00:00:00 2001 From: Mathiyarasy <157102811+Mathiyarasy@users.noreply.github.com> Date: Wed, 19 Mar 2025 19:28:48 +0530 Subject: [PATCH 10/13] Update version devcontainer-feature.json --- src/docker-outside-of-docker/devcontainer-feature.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/docker-outside-of-docker/devcontainer-feature.json b/src/docker-outside-of-docker/devcontainer-feature.json index 317c0289c..a58f63ee2 100644 --- a/src/docker-outside-of-docker/devcontainer-feature.json +++ b/src/docker-outside-of-docker/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "docker-outside-of-docker", - "version": "1.6.0", + "version": "1.6.1", "name": "Docker (docker-outside-of-docker)", "documentationURL": "https://github.com/devcontainers/features/tree/main/src/docker-outside-of-docker", "description": "Re-use the host docker socket, adding the Docker CLI to a container. Feature invokes a script to enable using a forwarded Docker socket within a container to run Docker commands.", From b3979719f8dcca34d7b93d66bf9e57ede5cf641b Mon Sep 17 00:00:00 2001 From: Mathiyarasy <157102811+Mathiyarasy@users.noreply.github.com> Date: Mon, 24 Mar 2025 13:47:26 +0000 Subject: [PATCH 11/13] remove DOCKER_DASH_COMPOSE_VERSION --- src/docker-outside-of-docker/install.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/docker-outside-of-docker/install.sh b/src/docker-outside-of-docker/install.sh index c3c006ce8..6b17dfe05 100755 --- a/src/docker-outside-of-docker/install.sh +++ b/src/docker-outside-of-docker/install.sh @@ -362,10 +362,9 @@ if [ "${DOCKER_DASH_COMPOSE_VERSION}" != "none" ]; then find_version_from_git_tags compose_version "$docker_compose_url" "tags/v" echo "(*) Installing docker-compose ${compose_version}..." curl -fsSL "https://github.com/docker/compose/releases/download/v${compose_version}/docker-compose-linux-${target_compose_arch}" -o ${docker_compose_path} || { - if [[ $DOCKER_DASH_COMPOSE_VERSION == "latest" ]]; then - install_compose_fallback "$docker_compose_url" "$compose_version" "$target_compose_arch" "$docker_compose_path" - else - echo -e "Error: Failed to install docker-compose v${compose_version}" + install_compose_fallback "$docker_compose_url" "$compose_version" "$target_compose_arch" "$docker_compose_path" + if [ $? -ne 0 ]; then + echo -e "Error: "Failed to install docker-compose v${compose_version}" fi } chmod +x ${docker_compose_path} From c09895d4e1db73a6cce46b861c6ae78172748785 Mon Sep 17 00:00:00 2001 From: Mathiyarasy <157102811+Mathiyarasy@users.noreply.github.com> Date: Mon, 24 Mar 2025 13:54:46 +0000 Subject: [PATCH 12/13] typo error --- src/docker-outside-of-docker/install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/docker-outside-of-docker/install.sh b/src/docker-outside-of-docker/install.sh index 6b17dfe05..e73a21958 100755 --- a/src/docker-outside-of-docker/install.sh +++ b/src/docker-outside-of-docker/install.sh @@ -364,7 +364,7 @@ if [ "${DOCKER_DASH_COMPOSE_VERSION}" != "none" ]; then curl -fsSL "https://github.com/docker/compose/releases/download/v${compose_version}/docker-compose-linux-${target_compose_arch}" -o ${docker_compose_path} || { install_compose_fallback "$docker_compose_url" "$compose_version" "$target_compose_arch" "$docker_compose_path" if [ $? -ne 0 ]; then - echo -e "Error: "Failed to install docker-compose v${compose_version}" + echo -e "Error: Failed to install docker-compose v${compose_version}" fi } chmod +x ${docker_compose_path} From 3617a100d2b2e09be40119a985c5e29d08564464 Mon Sep 17 00:00:00 2001 From: Mathiyarasy <157102811+Mathiyarasy@users.noreply.github.com> Date: Mon, 24 Mar 2025 15:57:17 +0000 Subject: [PATCH 13/13] remove if condition --- src/docker-outside-of-docker/install.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/docker-outside-of-docker/install.sh b/src/docker-outside-of-docker/install.sh index e73a21958..97222b177 100755 --- a/src/docker-outside-of-docker/install.sh +++ b/src/docker-outside-of-docker/install.sh @@ -363,9 +363,6 @@ if [ "${DOCKER_DASH_COMPOSE_VERSION}" != "none" ]; then echo "(*) Installing docker-compose ${compose_version}..." curl -fsSL "https://github.com/docker/compose/releases/download/v${compose_version}/docker-compose-linux-${target_compose_arch}" -o ${docker_compose_path} || { install_compose_fallback "$docker_compose_url" "$compose_version" "$target_compose_arch" "$docker_compose_path" - if [ $? -ne 0 ]; then - echo -e "Error: Failed to install docker-compose v${compose_version}" - fi } chmod +x ${docker_compose_path}