From d34c3ce032120aad8a13d9f685a07967d465b2e4 Mon Sep 17 00:00:00 2001 From: Romain Marcadier Date: Mon, 17 Jan 2022 12:00:11 +0100 Subject: [PATCH 1/5] fix(superchain): failure to download PowerShell In GitHub Actions, image build appears to fail due to failure to download PowerShell. --- superchain/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/superchain/Dockerfile b/superchain/Dockerfile index be8abe0eff..45a4a17544 100644 --- a/superchain/Dockerfile +++ b/superchain/Dockerfile @@ -56,7 +56,8 @@ RUN DOTNET_VERSION=$(curl -fSsL "${DOTNET_FEED}/Sdk/${DOTNET_CHANNEL}/latest.ver # Prepare PowerShell LTS distribution ENV POWERSHELL_RELEASES="https://github.com/PowerShell/PowerShell/releases" -RUN POWERSHELL_RELEASE=$(curl -fSsL "https://aka.ms/powershell-release?tag=lts" -o /dev/null -w %{url_effective}) \ +RUN set -x \ + && POWERSHELL_RELEASE=$(curl -fSsL "https://aka.ms/powershell-release?tag=lts" -o /dev/null -w %{url_effective}) \ && POWERSHELL_VERSION=${POWERSHELL_RELEASE#${POWERSHELL_RELEASES}/tag/v} \ && ASSET="powershell-${POWERSHELL_VERSION}-linux-${${TARGETPLATFORM#linux/}/amd64/x64}.tar.gz" \ && curl -fSsL "${POWERSHELL_RELEASES}/download/v${POWERSHELL_VERSION}/${ASSET}" \ From ad4c5e07236112b9f8de297618e200b1a4ada9b5 Mon Sep 17 00:00:00 2001 From: Romain Marcadier Date: Mon, 17 Jan 2022 12:12:21 +0100 Subject: [PATCH 2/5] Update Dockerfile --- superchain/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/superchain/Dockerfile b/superchain/Dockerfile index 45a4a17544..c49a0c0635 100644 --- a/superchain/Dockerfile +++ b/superchain/Dockerfile @@ -56,11 +56,11 @@ RUN DOTNET_VERSION=$(curl -fSsL "${DOTNET_FEED}/Sdk/${DOTNET_CHANNEL}/latest.ver # Prepare PowerShell LTS distribution ENV POWERSHELL_RELEASES="https://github.com/PowerShell/PowerShell/releases" -RUN set -x \ - && POWERSHELL_RELEASE=$(curl -fSsL "https://aka.ms/powershell-release?tag=lts" -o /dev/null -w %{url_effective}) \ +RUN POWERSHELL_RELEASE=$(curl -X GET -fSsIL "https://aka.ms/powershell-release?tag=lts" -o /dev/null \ + --retry --retry-all-errors -w %{url_effective}) \ && POWERSHELL_VERSION=${POWERSHELL_RELEASE#${POWERSHELL_RELEASES}/tag/v} \ && ASSET="powershell-${POWERSHELL_VERSION}-linux-${${TARGETPLATFORM#linux/}/amd64/x64}.tar.gz" \ - && curl -fSsL "${POWERSHELL_RELEASES}/download/v${POWERSHELL_VERSION}/${ASSET}" \ + && curl -fSsL "${POWERSHELL_RELEASES}/download/v${POWERSHELL_VERSION}/${ASSET}" --retry --retry-all-errors \ -o /tmp/powershell.tar.gz \ && mkdir -p /opt/microsoft/powershell \ && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell \ From 9b390fba88dc1ba37e96aca7874c6ec5e70bd9c5 Mon Sep 17 00:00:00 2001 From: Romain Marcadier Date: Mon, 17 Jan 2022 12:29:35 +0100 Subject: [PATCH 3/5] Update Dockerfile --- superchain/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/superchain/Dockerfile b/superchain/Dockerfile index c49a0c0635..dab8ad17ad 100644 --- a/superchain/Dockerfile +++ b/superchain/Dockerfile @@ -57,10 +57,10 @@ RUN DOTNET_VERSION=$(curl -fSsL "${DOTNET_FEED}/Sdk/${DOTNET_CHANNEL}/latest.ver # Prepare PowerShell LTS distribution ENV POWERSHELL_RELEASES="https://github.com/PowerShell/PowerShell/releases" RUN POWERSHELL_RELEASE=$(curl -X GET -fSsIL "https://aka.ms/powershell-release?tag=lts" -o /dev/null \ - --retry --retry-all-errors -w %{url_effective}) \ + --retry=5 --retry-all-errors -w %{url_effective}) \ && POWERSHELL_VERSION=${POWERSHELL_RELEASE#${POWERSHELL_RELEASES}/tag/v} \ && ASSET="powershell-${POWERSHELL_VERSION}-linux-${${TARGETPLATFORM#linux/}/amd64/x64}.tar.gz" \ - && curl -fSsL "${POWERSHELL_RELEASES}/download/v${POWERSHELL_VERSION}/${ASSET}" --retry --retry-all-errors \ + && curl -fSsL "${POWERSHELL_RELEASES}/download/v${POWERSHELL_VERSION}/${ASSET}" --retry=5 --retry-all-errors \ -o /tmp/powershell.tar.gz \ && mkdir -p /opt/microsoft/powershell \ && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell \ From 01f6581baf0937ca79aff0825ed5c4ad6caf6958 Mon Sep 17 00:00:00 2001 From: Romain Marcadier Date: Mon, 17 Jan 2022 14:29:08 +0100 Subject: [PATCH 4/5] Update Dockerfile --- superchain/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/superchain/Dockerfile b/superchain/Dockerfile index dab8ad17ad..dfa904b38b 100644 --- a/superchain/Dockerfile +++ b/superchain/Dockerfile @@ -57,11 +57,11 @@ RUN DOTNET_VERSION=$(curl -fSsL "${DOTNET_FEED}/Sdk/${DOTNET_CHANNEL}/latest.ver # Prepare PowerShell LTS distribution ENV POWERSHELL_RELEASES="https://github.com/PowerShell/PowerShell/releases" RUN POWERSHELL_RELEASE=$(curl -X GET -fSsIL "https://aka.ms/powershell-release?tag=lts" -o /dev/null \ - --retry=5 --retry-all-errors -w %{url_effective}) \ + --retry 5 --retry-all-errors -w %{url_effective}) \ && POWERSHELL_VERSION=${POWERSHELL_RELEASE#${POWERSHELL_RELEASES}/tag/v} \ && ASSET="powershell-${POWERSHELL_VERSION}-linux-${${TARGETPLATFORM#linux/}/amd64/x64}.tar.gz" \ - && curl -fSsL "${POWERSHELL_RELEASES}/download/v${POWERSHELL_VERSION}/${ASSET}" --retry=5 --retry-all-errors \ - -o /tmp/powershell.tar.gz \ + && curl -fSsL "${POWERSHELL_RELEASES}/download/v${POWERSHELL_VERSION}/${ASSET}" --retry 5 --retry-all-errors \ + -o /tmp/powershell.tar.gz \ && mkdir -p /opt/microsoft/powershell \ && tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell \ && chmod +x /opt/microsoft/powershell/pwsh From 270cf670a20138b10e8d4452968756cd28b821ab Mon Sep 17 00:00:00 2001 From: Romain Marcadier Date: Mon, 17 Jan 2022 15:03:01 +0100 Subject: [PATCH 5/5] Update Dockerfile --- superchain/Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/superchain/Dockerfile b/superchain/Dockerfile index dfa904b38b..f087b55d4f 100644 --- a/superchain/Dockerfile +++ b/superchain/Dockerfile @@ -25,7 +25,11 @@ ARG BUILDPLATFORM ARG TARGETPLATFORM # We require a couple of tools to be available in order to work here... -RUN apt-get update && apt-get install -y curl gpg tar zsh +RUN echo "deb http://deb.debian.org/debian buster-backports main" > /etc/apt/sources.list.d/buster-backports.list \ + && apt-get update \ + && apt-get install -y gpg tar zsh \ + # We need a "recent" (>= 7.71) version of curl for --retry-all-errors, so we get it from backports... + && apt-get install -y -t buster-backports curl # We'll be using zsh substitutions, so ensuring this is the shell we use SHELL ["/bin/zsh", "-c"]