diff --git a/.github/workflows/pipeline.yaml b/.github/workflows/pipeline.yaml index 84cebdca..94eaa849 100644 --- a/.github/workflows/pipeline.yaml +++ b/.github/workflows/pipeline.yaml @@ -61,7 +61,7 @@ env: # https://github.com/helm/helm/releases HELM_VERSION: 3.15.4 # https://github.com/oras-project/oras/releases - ORAS_VERSION: 1.2.0 + ORAS_VERSION: 1.1.0 # https://github.com/docker/buildx/releases BUILDX_VERSION: 0.16.2 # https://github.com/hadolint/hadolint/releases @@ -177,9 +177,11 @@ jobs: --yes \ .cr-release-packages/blue-agent-${{ needs.init.outputs.VERSION }}.tgz - - name: Cache Helm chart + - name: Upload Helm chart uses: actions/upload-artifact@v4.4.0 with: + if-no-files-found: error # Fail if no files are uploaded + include-hidden-files: true # Folder begins with a dot, if not checked the whole folder is ignored name: helm-chart path: .cr-release-packages @@ -790,6 +792,7 @@ jobs: - name: Upload build artifact uses: actions/upload-artifact@v4.4.0 with: + if-no-files-found: error # Fail if no files are uploaded name: hugo path: docs/public diff --git a/src/docker/Dockerfile-bookworm b/src/docker/Dockerfile-bookworm index b3410ccd..55a4a646 100644 --- a/src/docker/Dockerfile-bookworm +++ b/src/docker/Dockerfile-bookworm @@ -1,17 +1,17 @@ -FROM mcr.microsoft.com/dotnet/aspnet:6.0-bookworm-slim@sha256:4f1519bfe954d5caf962f5502c4252d5d39d45517aa68e6b5847e72fd10769b4 as base +FROM mcr.microsoft.com/dotnet/aspnet:6.0-bookworm-slim@sha256:4f1519bfe954d5caf962f5502c4252d5d39d45517aa68e6b5847e72fd10769b4 AS base # Force apt-get to not use TTY -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive # Configure local user -ENV USER root -ENV HOME /app-root +ENV USER=root +ENV HOME=/app-root # Avoid Python cache during build -ENV PYTHONDONTWRITEBYTECODE 1 +ENV PYTHONDONTWRITEBYTECODE=1 # Allow install Python system packages -ENV PIP_BREAK_SYSTEM_PACKAGES 1 +ENV PIP_BREAK_SYSTEM_PACKAGES=1 # Install: # - Azure Pipelines agent system requirements @@ -71,11 +71,11 @@ RUN python3 -m pip \ setuptools wheel \ && find / -depth -type d -name __pycache__ -exec rm -rf {} \; 2> /dev/null -FROM base as rootlesskit +FROM base AS rootlesskit # Install Go, then verify installation ARG GO_VERSION -ENV GO_VERSION ${GO_VERSION} +ENV GO_VERSION=${GO_VERSION} RUN rm -rf /usr/local/go \ && curl -LsSf --retry 8 --retry-all-errors https://go.dev/dl/go${GO_VERSION}.linux-$(ARCH_X64=amd64 bash arch.sh).tar.gz | tar -xz -C /usr/local ENV PATH="${PATH}:/usr/local/go/bin" @@ -83,7 +83,7 @@ RUN go version # Install RootlessKit, then verify installation ARG ROOTLESSKIT_VERSION -ENV ROOTLESSKIT_VERSION ${ROOTLESSKIT_VERSION} +ENV ROOTLESSKIT_VERSION=${ROOTLESSKIT_VERSION} RUN git clone --depth 1 --branch v${ROOTLESSKIT_VERSION} https://github.com/rootless-containers/rootlesskit.git rootlesskit \ && make --directory rootlesskit \ && make --directory rootlesskit install \ @@ -95,7 +95,7 @@ FROM base # Install Azure CLI, then verify installation ARG AZURE_CLI_VERSION -ENV AZURE_CLI_VERSION ${AZURE_CLI_VERSION} +ENV AZURE_CLI_VERSION=${AZURE_CLI_VERSION} RUN python3 -m pip \ --disable-pip-version-check \ --no-cache-dir \ @@ -108,7 +108,7 @@ RUN python3 -m pip \ # Install AWS CLI, then verify installation ARG AWS_CLI_VERSION -ENV AWS_CLI_VERSION ${AWS_CLI_VERSION} +ENV AWS_CLI_VERSION=${AWS_CLI_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors https://awscli.amazonaws.com/awscli-exe-linux-$(ARCH_X64=x86_64 ARCH_ARM64=aarch64 bash arch.sh)-${AWS_CLI_VERSION}.zip -o awscli.zip \ && unzip -q awscli.zip \ && ./aws/install \ @@ -117,7 +117,7 @@ RUN curl -LsSf --retry 8 --retry-all-errors https://awscli.amazonaws.com/awscli- # Install Google Cloud CLI, then verify installation ARG GCLOUD_CLI_VERSION -ENV GCLOUD_CLI_VERSION ${GCLOUD_CLI_VERSION} +ENV GCLOUD_CLI_VERSION=${GCLOUD_CLI_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-${GCLOUD_CLI_VERSION}-linux-$(ARCH_X64=x86_64 ARCH_ARM64=arm bash arch.sh).tar.gz | tar -xz -C /usr/local \ && /usr/local/google-cloud-sdk/install.sh \ --additional-components beta \ @@ -130,7 +130,7 @@ RUN curl -LsSf --retry 8 --retry-all-errors https://dl.google.com/dl/cloudsdk/ch # Install Powershell, then verify installation ARG POWERSHELL_VERSION -ENV POWERSHELL_VERSION ${POWERSHELL_VERSION} +ENV POWERSHELL_VERSION=${POWERSHELL_VERSION} RUN mkdir -p /opt/microsoft/powershell \ && curl -LsSf --retry 8 --retry-all-errors https://github.com/PowerShell/PowerShell/releases/download/v${POWERSHELL_VERSION}/powershell-${POWERSHELL_VERSION}-linux-$(bash arch.sh).tar.gz | tar -xz -C /opt/microsoft/powershell \ && chmod +x /opt/microsoft/powershell/pwsh \ @@ -140,14 +140,14 @@ RUN mkdir -p /opt/microsoft/powershell \ # Install YQ, then verify installation ARG YQ_VERSION -ENV YQ_VERSION ${YQ_VERSION} +ENV YQ_VERSION=${YQ_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_$(ARCH_X64=amd64 bash arch.sh) -o /usr/bin/yq \ && chmod +x /usr/bin/yq \ && yq --version # Install Tini, then verify installation ARG TINI_VERSION -ENV TINI_VERSION ${TINI_VERSION} +ENV TINI_VERSION=${TINI_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$(ARCH_X64=amd64 bash arch.sh) -o /tini \ && chmod +x /tini \ && /tini --version @@ -155,7 +155,7 @@ ENTRYPOINT ["/tini", "--"] # Install BuildKit, then verify installation ARG BUILDKIT_VERSION -ENV BUILDKIT_VERSION ${BUILDKIT_VERSION} +ENV BUILDKIT_VERSION=${BUILDKIT_VERSION} RUN mkdir buildkit \ && curl -LsSf --retry 8 --retry-all-errors https://github.com/moby/buildkit/releases/download/v${BUILDKIT_VERSION}/buildkit-v${BUILDKIT_VERSION}.linux-$(ARCH_X64=amd64 bash arch.sh).tar.gz | tar -xz -C buildkit \ && mv buildkit/bin/* /usr/local/bin \ @@ -170,11 +170,11 @@ RUN rootlesskit --version \ # Install Azure Pipelines Agent sources, then verify installation ARG AZP_AGENT_VERSION -ENV AZP_AGENT_VERSION ${AZP_AGENT_VERSION} -ENV AZP_HOME ${HOME}/azp-agent +ENV AZP_AGENT_VERSION=${AZP_AGENT_VERSION} +ENV AZP_HOME=${HOME}/azp-agent # Disable agent auto-updates # See: https://github.com/microsoft/azure-pipelines-agent/blob/b5ff4408239f3e938560f8b2e3848df76489a8d0/src/Agent.Listener/Agent.cs#L354C24-L354C24 -ENV agent.disableupdate "1" +ENV agent.disableupdate="1" RUN mkdir -p ${AZP_HOME} \ && curl -LsSf --retry 8 --retry-all-errors https://vstsagentpackage.azureedge.net/agent/${AZP_AGENT_VERSION}/pipelines-agent-linux-$(bash arch.sh)-${AZP_AGENT_VERSION}.tar.gz | tar -xz -C ${AZP_HOME} \ && cd ${AZP_HOME} \ @@ -183,8 +183,8 @@ RUN mkdir -p ${AZP_HOME} \ && rm -rf _diag \ # Allow local user to R/W to agent home && chmod -R a+w . -ENV AZP_WORK ${HOME}/azp-work -ENV AZP_CUSTOM_CERT_PEM ${HOME}/azp-custom-certs +ENV AZP_WORK=${HOME}/azp-work +ENV AZP_CUSTOM_CERT_PEM=${HOME}/azp-custom-certs # Cleanup helper script RUN rm arch.sh diff --git a/src/docker/Dockerfile-bullseye b/src/docker/Dockerfile-bullseye index 7a811c10..5d631bc0 100644 --- a/src/docker/Dockerfile-bullseye +++ b/src/docker/Dockerfile-bullseye @@ -1,14 +1,14 @@ -FROM mcr.microsoft.com/dotnet/aspnet:6.0-bullseye-slim@sha256:c39b4582563fed008cb8e83d44388cf80dbc4e8cf8803869f5799205fcb126eb as base +FROM mcr.microsoft.com/dotnet/aspnet:6.0-bullseye-slim@sha256:c39b4582563fed008cb8e83d44388cf80dbc4e8cf8803869f5799205fcb126eb AS base # Force apt-get to not use TTY -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive # Configure local user -ENV USER root -ENV HOME /app-root +ENV USER=root +ENV HOME=/app-root # Avoid Python cache during build -ENV PYTHONDONTWRITEBYTECODE 1 +ENV PYTHONDONTWRITEBYTECODE=1 # Install: # - Azure Pipelines agent system requirements @@ -68,11 +68,11 @@ RUN python3 -m pip \ setuptools wheel \ && find / -depth -type d -name __pycache__ -exec rm -rf {} \; 2> /dev/null -FROM base as rootlesskit +FROM base AS rootlesskit # Install Go, then verify installation ARG GO_VERSION -ENV GO_VERSION ${GO_VERSION} +ENV GO_VERSION=${GO_VERSION} RUN rm -rf /usr/local/go \ && curl -LsSf --retry 8 --retry-all-errors https://go.dev/dl/go${GO_VERSION}.linux-$(ARCH_X64=amd64 bash arch.sh).tar.gz | tar -xz -C /usr/local ENV PATH="${PATH}:/usr/local/go/bin" @@ -80,7 +80,7 @@ RUN go version # Install RootlessKit, then verify installation ARG ROOTLESSKIT_VERSION -ENV ROOTLESSKIT_VERSION ${ROOTLESSKIT_VERSION} +ENV ROOTLESSKIT_VERSION=${ROOTLESSKIT_VERSION} RUN git clone --depth 1 --branch v${ROOTLESSKIT_VERSION} https://github.com/rootless-containers/rootlesskit.git rootlesskit \ && make --directory rootlesskit \ && make --directory rootlesskit install \ @@ -92,7 +92,7 @@ FROM base # Install Azure CLI, then verify installation ARG AZURE_CLI_VERSION -ENV AZURE_CLI_VERSION ${AZURE_CLI_VERSION} +ENV AZURE_CLI_VERSION=${AZURE_CLI_VERSION} RUN python3 -m pip \ --disable-pip-version-check \ --no-cache-dir \ @@ -105,7 +105,7 @@ RUN python3 -m pip \ # Install AWS CLI, then verify installation ARG AWS_CLI_VERSION -ENV AWS_CLI_VERSION ${AWS_CLI_VERSION} +ENV AWS_CLI_VERSION=${AWS_CLI_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors https://awscli.amazonaws.com/awscli-exe-linux-$(ARCH_X64=x86_64 ARCH_ARM64=aarch64 bash arch.sh)-${AWS_CLI_VERSION}.zip -o awscli.zip \ && unzip -q awscli.zip \ && ./aws/install \ @@ -114,7 +114,7 @@ RUN curl -LsSf --retry 8 --retry-all-errors https://awscli.amazonaws.com/awscli- # Install Google Cloud CLI, then verify installation ARG GCLOUD_CLI_VERSION -ENV GCLOUD_CLI_VERSION ${GCLOUD_CLI_VERSION} +ENV GCLOUD_CLI_VERSION=${GCLOUD_CLI_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-${GCLOUD_CLI_VERSION}-linux-$(ARCH_X64=x86_64 ARCH_ARM64=arm bash arch.sh).tar.gz | tar -xz -C /usr/local \ && /usr/local/google-cloud-sdk/install.sh \ --additional-components beta \ @@ -127,7 +127,7 @@ RUN curl -LsSf --retry 8 --retry-all-errors https://dl.google.com/dl/cloudsdk/ch # Install Powershell, then verify installation ARG POWERSHELL_VERSION -ENV POWERSHELL_VERSION ${POWERSHELL_VERSION} +ENV POWERSHELL_VERSION=${POWERSHELL_VERSION} RUN mkdir -p /opt/microsoft/powershell \ && curl -LsSf --retry 8 --retry-all-errors https://github.com/PowerShell/PowerShell/releases/download/v${POWERSHELL_VERSION}/powershell-${POWERSHELL_VERSION}-linux-$(bash arch.sh).tar.gz | tar -xz -C /opt/microsoft/powershell \ && chmod +x /opt/microsoft/powershell/pwsh \ @@ -137,14 +137,14 @@ RUN mkdir -p /opt/microsoft/powershell \ # Install YQ, then verify installation ARG YQ_VERSION -ENV YQ_VERSION ${YQ_VERSION} +ENV YQ_VERSION=${YQ_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_$(ARCH_X64=amd64 bash arch.sh) -o /usr/bin/yq \ && chmod +x /usr/bin/yq \ && yq --version # Install Tini, then verify installation ARG TINI_VERSION -ENV TINI_VERSION ${TINI_VERSION} +ENV TINI_VERSION=${TINI_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$(ARCH_X64=amd64 bash arch.sh) -o /tini \ && chmod +x /tini \ && /tini --version @@ -152,7 +152,7 @@ ENTRYPOINT ["/tini", "--"] # Install BuildKit, then verify installation ARG BUILDKIT_VERSION -ENV BUILDKIT_VERSION ${BUILDKIT_VERSION} +ENV BUILDKIT_VERSION=${BUILDKIT_VERSION} RUN mkdir buildkit \ && curl -LsSf --retry 8 --retry-all-errors https://github.com/moby/buildkit/releases/download/v${BUILDKIT_VERSION}/buildkit-v${BUILDKIT_VERSION}.linux-$(ARCH_X64=amd64 bash arch.sh).tar.gz | tar -xz -C buildkit \ && mv buildkit/bin/* /usr/local/bin \ @@ -167,11 +167,11 @@ RUN rootlesskit --version \ # Install Azure Pipelines Agent sources, then verify installation ARG AZP_AGENT_VERSION -ENV AZP_AGENT_VERSION ${AZP_AGENT_VERSION} -ENV AZP_HOME ${HOME}/azp-agent +ENV AZP_AGENT_VERSION=${AZP_AGENT_VERSION} +ENV AZP_HOME=${HOME}/azp-agent # Disable agent auto-updates # See: https://github.com/microsoft/azure-pipelines-agent/blob/b5ff4408239f3e938560f8b2e3848df76489a8d0/src/Agent.Listener/Agent.cs#L354C24-L354C24 -ENV agent.disableupdate "1" +ENV agent.disableupdate="1" RUN mkdir -p ${AZP_HOME} \ && curl -LsSf --retry 8 --retry-all-errors https://vstsagentpackage.azureedge.net/agent/${AZP_AGENT_VERSION}/pipelines-agent-linux-$(bash arch.sh)-${AZP_AGENT_VERSION}.tar.gz | tar -xz -C ${AZP_HOME} \ && cd ${AZP_HOME} \ @@ -180,8 +180,8 @@ RUN mkdir -p ${AZP_HOME} \ && rm -rf _diag \ # Allow local user to R/W to agent home && chmod -R a+w . -ENV AZP_WORK ${HOME}/azp-work -ENV AZP_CUSTOM_CERT_PEM ${HOME}/azp-custom-certs +ENV AZP_WORK=${HOME}/azp-work +ENV AZP_CUSTOM_CERT_PEM=${HOME}/azp-custom-certs # Cleanup helper script RUN rm arch.sh diff --git a/src/docker/Dockerfile-focal b/src/docker/Dockerfile-focal index a6e51ce0..df975a3d 100644 --- a/src/docker/Dockerfile-focal +++ b/src/docker/Dockerfile-focal @@ -1,14 +1,14 @@ -FROM mcr.microsoft.com/dotnet/aspnet:6.0-focal@sha256:2e686e012918cd62109385348ae441ecc6702dad90b0de15ca37eb5851fe43cf as base +FROM mcr.microsoft.com/dotnet/aspnet:6.0-focal@sha256:2e686e012918cd62109385348ae441ecc6702dad90b0de15ca37eb5851fe43cf AS base # Force apt-get to not use TTY -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive # Configure local user -ENV USER root -ENV HOME /app-root +ENV USER=root +ENV HOME=/app-root # Avoid Python cache during build -ENV PYTHONDONTWRITEBYTECODE 1 +ENV PYTHONDONTWRITEBYTECODE=1 # Install: # - Azure Pipelines agent system requirements @@ -67,11 +67,11 @@ RUN python3 -m pip \ setuptools wheel \ && find / -depth -type d -name __pycache__ -exec rm -rf {} \; 2> /dev/null -FROM base as rootlesskit +FROM base AS rootlesskit # Install Go, then verify installation ARG GO_VERSION -ENV GO_VERSION ${GO_VERSION} +ENV GO_VERSION=${GO_VERSION} RUN rm -rf /usr/local/go \ && curl -LsSf --retry 8 https://go.dev/dl/go${GO_VERSION}.linux-$(ARCH_X64=amd64 bash arch.sh).tar.gz | tar -xz -C /usr/local ENV PATH="${PATH}:/usr/local/go/bin" @@ -79,7 +79,7 @@ RUN go version # Install RootlessKit, then verify installation ARG ROOTLESSKIT_VERSION -ENV ROOTLESSKIT_VERSION ${ROOTLESSKIT_VERSION} +ENV ROOTLESSKIT_VERSION=${ROOTLESSKIT_VERSION} RUN git clone --depth 1 --branch v${ROOTLESSKIT_VERSION} https://github.com/rootless-containers/rootlesskit.git rootlesskit \ && make --directory rootlesskit \ && make --directory rootlesskit install \ @@ -91,7 +91,7 @@ FROM base # Install Azure CLI, then verify installation ARG AZURE_CLI_VERSION -ENV AZURE_CLI_VERSION ${AZURE_CLI_VERSION} +ENV AZURE_CLI_VERSION=${AZURE_CLI_VERSION} RUN python3 -m pip \ --disable-pip-version-check \ --no-cache-dir \ @@ -104,7 +104,7 @@ RUN python3 -m pip \ # Install AWS CLI, then verify installation ARG AWS_CLI_VERSION -ENV AWS_CLI_VERSION ${AWS_CLI_VERSION} +ENV AWS_CLI_VERSION=${AWS_CLI_VERSION} RUN curl -LsSf --retry 8 https://awscli.amazonaws.com/awscli-exe-linux-$(ARCH_X64=x86_64 ARCH_ARM64=aarch64 bash arch.sh)-${AWS_CLI_VERSION}.zip -o awscli.zip \ && unzip -q awscli.zip \ && ./aws/install \ @@ -113,7 +113,7 @@ RUN curl -LsSf --retry 8 https://awscli.amazonaws.com/awscli-exe-linux-$(ARCH_X6 # Install Google Cloud CLI, then verify installation ARG GCLOUD_CLI_VERSION -ENV GCLOUD_CLI_VERSION ${GCLOUD_CLI_VERSION} +ENV GCLOUD_CLI_VERSION=${GCLOUD_CLI_VERSION} RUN curl -LsSf --retry 8 https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-${GCLOUD_CLI_VERSION}-linux-$(ARCH_X64=x86_64 ARCH_ARM64=arm bash arch.sh).tar.gz | tar -xz -C /usr/local \ && /usr/local/google-cloud-sdk/install.sh \ --additional-components beta \ @@ -126,7 +126,7 @@ RUN curl -LsSf --retry 8 https://dl.google.com/dl/cloudsdk/channels/rapid/downlo # Install Powershell, then verify installation ARG POWERSHELL_VERSION -ENV POWERSHELL_VERSION ${POWERSHELL_VERSION} +ENV POWERSHELL_VERSION=${POWERSHELL_VERSION} RUN mkdir -p /opt/microsoft/powershell \ && curl -LsSf --retry 8 https://github.com/PowerShell/PowerShell/releases/download/v${POWERSHELL_VERSION}/powershell-${POWERSHELL_VERSION}-linux-$(bash arch.sh).tar.gz | tar -xz -C /opt/microsoft/powershell \ && chmod +x /opt/microsoft/powershell/pwsh \ @@ -136,14 +136,14 @@ RUN mkdir -p /opt/microsoft/powershell \ # Install YQ, then verify installation ARG YQ_VERSION -ENV YQ_VERSION ${YQ_VERSION} +ENV YQ_VERSION=${YQ_VERSION} RUN curl -LsSf --retry 8 https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_$(ARCH_X64=amd64 bash arch.sh) -o /usr/bin/yq \ && chmod +x /usr/bin/yq \ && yq --version # Install Tini, then verify installation ARG TINI_VERSION -ENV TINI_VERSION ${TINI_VERSION} +ENV TINI_VERSION=${TINI_VERSION} RUN curl -LsSf --retry 8 https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$(ARCH_X64=amd64 bash arch.sh) -o /tini \ && chmod +x /tini \ && /tini --version @@ -151,7 +151,7 @@ ENTRYPOINT ["/tini", "--"] # Install BuildKit, then verify installation ARG BUILDKIT_VERSION -ENV BUILDKIT_VERSION ${BUILDKIT_VERSION} +ENV BUILDKIT_VERSION=${BUILDKIT_VERSION} RUN mkdir buildkit \ && curl -LsSf --retry 8 https://github.com/moby/buildkit/releases/download/v${BUILDKIT_VERSION}/buildkit-v${BUILDKIT_VERSION}.linux-$(ARCH_X64=amd64 bash arch.sh).tar.gz | tar -xz -C buildkit \ && mv buildkit/bin/* /usr/local/bin \ @@ -166,11 +166,11 @@ RUN rootlesskit --version \ # Install Azure Pipelines Agent sources, then verify installation ARG AZP_AGENT_VERSION -ENV AZP_AGENT_VERSION ${AZP_AGENT_VERSION} -ENV AZP_HOME ${HOME}/azp-agent +ENV AZP_AGENT_VERSION=${AZP_AGENT_VERSION} +ENV AZP_HOME=${HOME}/azp-agent # Disable agent auto-updates # See: https://github.com/microsoft/azure-pipelines-agent/blob/b5ff4408239f3e938560f8b2e3848df76489a8d0/src/Agent.Listener/Agent.cs#L354C24-L354C24 -ENV agent.disableupdate "1" +ENV agent.disableupdate="1" RUN mkdir -p ${AZP_HOME} \ && curl -LsSf --retry 8 https://vstsagentpackage.azureedge.net/agent/${AZP_AGENT_VERSION}/pipelines-agent-linux-$(bash arch.sh)-${AZP_AGENT_VERSION}.tar.gz | tar -xz -C ${AZP_HOME} \ && cd ${AZP_HOME} \ @@ -179,8 +179,8 @@ RUN mkdir -p ${AZP_HOME} \ && rm -rf _diag \ # Allow local user to R/W to agent home && chmod -R a+w . -ENV AZP_WORK ${HOME}/azp-work -ENV AZP_CUSTOM_CERT_PEM ${HOME}/azp-custom-certs +ENV AZP_WORK=${HOME}/azp-work +ENV AZP_CUSTOM_CERT_PEM=${HOME}/azp-custom-certs # Cleanup helper script RUN rm arch.sh diff --git a/src/docker/Dockerfile-jammy b/src/docker/Dockerfile-jammy index 2c9fd25e..999efa69 100644 --- a/src/docker/Dockerfile-jammy +++ b/src/docker/Dockerfile-jammy @@ -1,14 +1,14 @@ -FROM mcr.microsoft.com/dotnet/aspnet:6.0-jammy@sha256:36f90c72b200f455e130a48fc279080aff296b4d506e29b9619fe82ae3853c4b as base +FROM mcr.microsoft.com/dotnet/aspnet:6.0-jammy@sha256:36f90c72b200f455e130a48fc279080aff296b4d506e29b9619fe82ae3853c4b AS base # Force apt-get to not use TTY -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive # Configure local user -ENV USER root -ENV HOME /app-root +ENV USER=root +ENV HOME=/app-root # Avoid Python cache during build -ENV PYTHONDONTWRITEBYTECODE 1 +ENV PYTHONDONTWRITEBYTECODE=1 # Install: # - Azure Pipelines agent system requirements @@ -67,11 +67,11 @@ RUN python3 -m pip \ setuptools wheel \ && find / -depth -type d -name __pycache__ -exec rm -rf {} \; 2> /dev/null -FROM base as rootlesskit +FROM base AS rootlesskit # Install Go, then verify installation ARG GO_VERSION -ENV GO_VERSION ${GO_VERSION} +ENV GO_VERSION=${GO_VERSION} RUN rm -rf /usr/local/go \ && curl -LsSf --retry 8 --retry-all-errors https://go.dev/dl/go${GO_VERSION}.linux-$(ARCH_X64=amd64 bash arch.sh).tar.gz | tar -xz -C /usr/local ENV PATH="${PATH}:/usr/local/go/bin" @@ -79,7 +79,7 @@ RUN go version # Install RootlessKit, then verify installation ARG ROOTLESSKIT_VERSION -ENV ROOTLESSKIT_VERSION ${ROOTLESSKIT_VERSION} +ENV ROOTLESSKIT_VERSION=${ROOTLESSKIT_VERSION} RUN git clone --depth 1 --branch v${ROOTLESSKIT_VERSION} https://github.com/rootless-containers/rootlesskit.git rootlesskit \ && make --directory rootlesskit \ && make --directory rootlesskit install \ @@ -90,7 +90,7 @@ RUN git clone --depth 1 --branch v${ROOTLESSKIT_VERSION} https://github.com/root FROM base # Install Azure CLI, then verify installation ARG AZURE_CLI_VERSION -ENV AZURE_CLI_VERSION ${AZURE_CLI_VERSION} +ENV AZURE_CLI_VERSION=${AZURE_CLI_VERSION} RUN python3 -m pip \ --disable-pip-version-check \ --no-cache-dir \ @@ -103,7 +103,7 @@ RUN python3 -m pip \ # Install AWS CLI, then verify installation ARG AWS_CLI_VERSION -ENV AWS_CLI_VERSION ${AWS_CLI_VERSION} +ENV AWS_CLI_VERSION=${AWS_CLI_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors https://awscli.amazonaws.com/awscli-exe-linux-$(ARCH_X64=x86_64 ARCH_ARM64=aarch64 bash arch.sh)-${AWS_CLI_VERSION}.zip -o awscli.zip \ && unzip -q awscli.zip \ && ./aws/install \ @@ -112,7 +112,7 @@ RUN curl -LsSf --retry 8 --retry-all-errors https://awscli.amazonaws.com/awscli- # Install Google Cloud CLI, then verify installation ARG GCLOUD_CLI_VERSION -ENV GCLOUD_CLI_VERSION ${GCLOUD_CLI_VERSION} +ENV GCLOUD_CLI_VERSION=${GCLOUD_CLI_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-${GCLOUD_CLI_VERSION}-linux-$(ARCH_X64=x86_64 ARCH_ARM64=arm bash arch.sh).tar.gz | tar -xz -C /usr/local \ && /usr/local/google-cloud-sdk/install.sh \ --additional-components beta \ @@ -125,7 +125,7 @@ RUN curl -LsSf --retry 8 --retry-all-errors https://dl.google.com/dl/cloudsdk/ch # Install Powershell, then verify installation ARG POWERSHELL_VERSION -ENV POWERSHELL_VERSION ${POWERSHELL_VERSION} +ENV POWERSHELL_VERSION=${POWERSHELL_VERSION} RUN mkdir -p /opt/microsoft/powershell \ && curl -LsSf --retry 8 --retry-all-errors https://github.com/PowerShell/PowerShell/releases/download/v${POWERSHELL_VERSION}/powershell-${POWERSHELL_VERSION}-linux-$(bash arch.sh).tar.gz | tar -xz -C /opt/microsoft/powershell \ && chmod +x /opt/microsoft/powershell/pwsh \ @@ -135,14 +135,14 @@ RUN mkdir -p /opt/microsoft/powershell \ # Install YQ, then verify installation ARG YQ_VERSION -ENV YQ_VERSION ${YQ_VERSION} +ENV YQ_VERSION=${YQ_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_$(ARCH_X64=amd64 bash arch.sh) -o /usr/bin/yq \ && chmod +x /usr/bin/yq \ && yq --version # Install Tini, then verify installation ARG TINI_VERSION -ENV TINI_VERSION ${TINI_VERSION} +ENV TINI_VERSION=${TINI_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$(ARCH_X64=amd64 bash arch.sh) -o /tini \ && chmod +x /tini \ && /tini --version @@ -150,7 +150,7 @@ ENTRYPOINT ["/tini", "--"] # Install BuildKit, then verify installation ARG BUILDKIT_VERSION -ENV BUILDKIT_VERSION ${BUILDKIT_VERSION} +ENV BUILDKIT_VERSION=${BUILDKIT_VERSION} RUN mkdir buildkit \ && curl -LsSf --retry 8 --retry-all-errors https://github.com/moby/buildkit/releases/download/v${BUILDKIT_VERSION}/buildkit-v${BUILDKIT_VERSION}.linux-$(ARCH_X64=amd64 bash arch.sh).tar.gz | tar -xz -C buildkit \ && mv buildkit/bin/* /usr/local/bin \ @@ -165,11 +165,11 @@ RUN rootlesskit --version \ # Install Azure Pipelines Agent sources, then verify installation ARG AZP_AGENT_VERSION -ENV AZP_AGENT_VERSION ${AZP_AGENT_VERSION} -ENV AZP_HOME ${HOME}/azp-agent +ENV AZP_AGENT_VERSION=${AZP_AGENT_VERSION} +ENV AZP_HOME=${HOME}/azp-agent # Disable agent auto-updates # See: https://github.com/microsoft/azure-pipelines-agent/blob/b5ff4408239f3e938560f8b2e3848df76489a8d0/src/Agent.Listener/Agent.cs#L354C24-L354C24 -ENV agent.disableupdate "1" +ENV agent.disableupdate="1" RUN mkdir -p ${AZP_HOME} \ && curl -LsSf --retry 8 --retry-all-errors https://vstsagentpackage.azureedge.net/agent/${AZP_AGENT_VERSION}/pipelines-agent-linux-$(bash arch.sh)-${AZP_AGENT_VERSION}.tar.gz | tar -xz -C ${AZP_HOME} \ && cd ${AZP_HOME} \ @@ -178,8 +178,8 @@ RUN mkdir -p ${AZP_HOME} \ && rm -rf _diag \ # Allow local user to R/W to agent home && chmod -R a+w . -ENV AZP_WORK ${HOME}/azp-work -ENV AZP_CUSTOM_CERT_PEM ${HOME}/azp-custom-certs +ENV AZP_WORK=${HOME}/azp-work +ENV AZP_CUSTOM_CERT_PEM=${HOME}/azp-custom-certs # Cleanup helper script RUN rm arch.sh diff --git a/src/docker/Dockerfile-ubi8 b/src/docker/Dockerfile-ubi8 index daa0e86c..00be5165 100644 --- a/src/docker/Dockerfile-ubi8 +++ b/src/docker/Dockerfile-ubi8 @@ -1,11 +1,11 @@ -FROM registry.access.redhat.com/ubi8/ubi-minimal:8.10@sha256:a47c89f02b39a98290f88204ed3d162845db0a0c464b319c2596cfd1e94b444e as base +FROM registry.access.redhat.com/ubi8/ubi-minimal:8.10@sha256:a47c89f02b39a98290f88204ed3d162845db0a0c464b319c2596cfd1e94b444e AS base # Configure local user -ENV USER root -ENV HOME /app-root +ENV USER=root +ENV HOME=/app-root # Avoid Python cache during build -ENV PYTHONDONTWRITEBYTECODE 1 +ENV PYTHONDONTWRITEBYTECODE=1 # Install: # - Azure Pipelines agent system requirements @@ -64,11 +64,11 @@ RUN python3 -m pip \ setuptools wheel \ && find / -depth -type d -name __pycache__ -exec rm -rf {} \; 2> /dev/null -FROM base as rootlesskit +FROM base AS rootlesskit # Install Go, then verify installation ARG GO_VERSION -ENV GO_VERSION ${GO_VERSION} +ENV GO_VERSION=${GO_VERSION} RUN rm -rf /usr/local/go \ && curl -LsSf --retry 8 https://go.dev/dl/go${GO_VERSION}.linux-$(ARCH_X64=amd64 bash arch.sh).tar.gz | tar -xz -C /usr/local ENV PATH="${PATH}:/usr/local/go/bin" @@ -76,7 +76,7 @@ RUN go version # Install RootlessKit, then verify installation ARG ROOTLESSKIT_VERSION -ENV ROOTLESSKIT_VERSION ${ROOTLESSKIT_VERSION} +ENV ROOTLESSKIT_VERSION=${ROOTLESSKIT_VERSION} RUN git clone --depth 1 --branch v${ROOTLESSKIT_VERSION} https://github.com/rootless-containers/rootlesskit.git rootlesskit \ && make --directory rootlesskit \ && make --directory rootlesskit install \ @@ -88,7 +88,7 @@ FROM base # Install Azure CLI, then verify installation ARG AZURE_CLI_VERSION -ENV AZURE_CLI_VERSION ${AZURE_CLI_VERSION} +ENV AZURE_CLI_VERSION=${AZURE_CLI_VERSION} RUN python3 -m pip \ --disable-pip-version-check \ --no-cache-dir \ @@ -101,7 +101,7 @@ RUN python3 -m pip \ # Install AWS CLI, then verify installation ARG AWS_CLI_VERSION -ENV AWS_CLI_VERSION ${AWS_CLI_VERSION} +ENV AWS_CLI_VERSION=${AWS_CLI_VERSION} RUN curl -LsSf --retry 8 https://awscli.amazonaws.com/awscli-exe-linux-$(ARCH_X64=x86_64 ARCH_ARM64=aarch64 bash arch.sh)-${AWS_CLI_VERSION}.zip -o awscli.zip \ && unzip -q awscli.zip \ && ./aws/install \ @@ -110,7 +110,7 @@ RUN curl -LsSf --retry 8 https://awscli.amazonaws.com/awscli-exe-linux-$(ARCH_X6 # Install Google Cloud CLI, then verify installation ARG GCLOUD_CLI_VERSION -ENV GCLOUD_CLI_VERSION ${GCLOUD_CLI_VERSION} +ENV GCLOUD_CLI_VERSION=${GCLOUD_CLI_VERSION} RUN curl -LsSf --retry 8 https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-${GCLOUD_CLI_VERSION}-linux-$(ARCH_X64=x86_64 ARCH_ARM64=arm bash arch.sh).tar.gz | tar -xz -C /usr/local \ && /usr/local/google-cloud-sdk/install.sh \ --additional-components beta \ @@ -123,7 +123,7 @@ RUN curl -LsSf --retry 8 https://dl.google.com/dl/cloudsdk/channels/rapid/downlo # Install Powershell, then verify installation ARG POWERSHELL_VERSION -ENV POWERSHELL_VERSION ${POWERSHELL_VERSION} +ENV POWERSHELL_VERSION=${POWERSHELL_VERSION} RUN mkdir -p /opt/microsoft/powershell \ && curl -LsSf --retry 8 https://github.com/PowerShell/PowerShell/releases/download/v${POWERSHELL_VERSION}/powershell-${POWERSHELL_VERSION}-linux-$(bash arch.sh).tar.gz | tar -xz -C /opt/microsoft/powershell \ && chmod +x /opt/microsoft/powershell/pwsh \ @@ -133,14 +133,14 @@ RUN mkdir -p /opt/microsoft/powershell \ # Install YQ, then verify installation ARG YQ_VERSION -ENV YQ_VERSION ${YQ_VERSION} +ENV YQ_VERSION=${YQ_VERSION} RUN curl -LsSf --retry 8 https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_$(ARCH_X64=amd64 bash arch.sh) -o /usr/bin/yq \ && chmod +x /usr/bin/yq \ && yq --version # Install Tini, then verify installation ARG TINI_VERSION -ENV TINI_VERSION ${TINI_VERSION} +ENV TINI_VERSION=${TINI_VERSION} RUN curl -LsSf --retry 8 https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$(ARCH_X64=amd64 bash arch.sh) -o /tini \ && chmod +x /tini \ && /tini --version @@ -148,7 +148,7 @@ ENTRYPOINT ["/tini", "--"] # Install BuildKit, then verify installation ARG BUILDKIT_VERSION -ENV BUILDKIT_VERSION ${BUILDKIT_VERSION} +ENV BUILDKIT_VERSION=${BUILDKIT_VERSION} RUN mkdir buildkit \ && curl -LsSf --retry 8 https://github.com/moby/buildkit/releases/download/v${BUILDKIT_VERSION}/buildkit-v${BUILDKIT_VERSION}.linux-$(ARCH_X64=amd64 bash arch.sh).tar.gz | tar -xz -C buildkit \ && mv buildkit/bin/* /usr/local/bin \ @@ -163,11 +163,11 @@ RUN rootlesskit --version \ # Install Azure Pipelines Agent sources, then verify installation ARG AZP_AGENT_VERSION -ENV AZP_AGENT_VERSION ${AZP_AGENT_VERSION} -ENV AZP_HOME ${HOME}/azp-agent +ENV AZP_AGENT_VERSION=${AZP_AGENT_VERSION} +ENV AZP_HOME=${HOME}/azp-agent # Disable agent auto-updates # See: https://github.com/microsoft/azure-pipelines-agent/blob/b5ff4408239f3e938560f8b2e3848df76489a8d0/src/Agent.Listener/Agent.cs#L354C24-L354C24 -ENV agent.disableupdate "1" +ENV agent.disableupdate="1" RUN mkdir -p ${AZP_HOME} \ && curl -LsSf --retry 8 https://vstsagentpackage.azureedge.net/agent/${AZP_AGENT_VERSION}/pipelines-agent-linux-$(bash arch.sh)-${AZP_AGENT_VERSION}.tar.gz | tar -xz -C ${AZP_HOME} \ && cd ${AZP_HOME} \ @@ -176,8 +176,8 @@ RUN mkdir -p ${AZP_HOME} \ && rm -rf _diag \ # Allow local user to R/W to agent home && chmod -R a+w . -ENV AZP_WORK ${HOME}/azp-work -ENV AZP_CUSTOM_CERT_PEM ${HOME}/azp-custom-certs +ENV AZP_WORK=${HOME}/azp-work +ENV AZP_CUSTOM_CERT_PEM=${HOME}/azp-custom-certs # Cleanup helper script RUN rm arch.sh diff --git a/src/docker/Dockerfile-ubi9 b/src/docker/Dockerfile-ubi9 index 39402aee..19294319 100644 --- a/src/docker/Dockerfile-ubi9 +++ b/src/docker/Dockerfile-ubi9 @@ -1,11 +1,11 @@ -FROM registry.access.redhat.com/ubi9-minimal:9.4@sha256:104cf11d890aeb7dd5728b7d7732e175a0e4018f1bb00d2faebcc8f6bf29bd52 as base +FROM registry.access.redhat.com/ubi9-minimal:9.4@sha256:104cf11d890aeb7dd5728b7d7732e175a0e4018f1bb00d2faebcc8f6bf29bd52 AS base # Configure local user -ENV USER root -ENV HOME /app-root +ENV USER=root +ENV HOME=/app-root # Avoid Python cache during build -ENV PYTHONDONTWRITEBYTECODE 1 +ENV PYTHONDONTWRITEBYTECODE=1 # Install: # - Azure Pipelines agent system requirements @@ -65,11 +65,11 @@ RUN python3 -m pip \ setuptools wheel \ && find / -depth -type d -name __pycache__ -exec rm -rf {} \; 2> /dev/null -FROM base as rootlesskit +FROM base AS rootlesskit # Install Go, then verify installation ARG GO_VERSION -ENV GO_VERSION ${GO_VERSION} +ENV GO_VERSION=${GO_VERSION} RUN rm -rf /usr/local/go \ && curl -LsSf --retry 8 --retry-all-errors https://go.dev/dl/go${GO_VERSION}.linux-$(ARCH_X64=amd64 bash arch.sh).tar.gz | tar -xz -C /usr/local ENV PATH="${PATH}:/usr/local/go/bin" @@ -77,7 +77,7 @@ RUN go version # Install RootlessKit, then verify installation ARG ROOTLESSKIT_VERSION -ENV ROOTLESSKIT_VERSION ${ROOTLESSKIT_VERSION} +ENV ROOTLESSKIT_VERSION=${ROOTLESSKIT_VERSION} RUN git clone --depth 1 --branch v${ROOTLESSKIT_VERSION} https://github.com/rootless-containers/rootlesskit.git rootlesskit \ && make --directory rootlesskit \ && make --directory rootlesskit install \ @@ -89,7 +89,7 @@ FROM base # Install Azure CLI, then verify installation ARG AZURE_CLI_VERSION -ENV AZURE_CLI_VERSION ${AZURE_CLI_VERSION} +ENV AZURE_CLI_VERSION=${AZURE_CLI_VERSION} RUN python3 -m pip \ --disable-pip-version-check \ --no-cache-dir \ @@ -102,7 +102,7 @@ RUN python3 -m pip \ # Install AWS CLI, then verify installation ARG AWS_CLI_VERSION -ENV AWS_CLI_VERSION ${AWS_CLI_VERSION} +ENV AWS_CLI_VERSION=${AWS_CLI_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors https://awscli.amazonaws.com/awscli-exe-linux-$(ARCH_X64=x86_64 ARCH_ARM64=aarch64 bash arch.sh)-${AWS_CLI_VERSION}.zip -o awscli.zip \ && unzip -q awscli.zip \ && ./aws/install \ @@ -111,7 +111,7 @@ RUN curl -LsSf --retry 8 --retry-all-errors https://awscli.amazonaws.com/awscli- # Install Google Cloud CLI, then verify installation ARG GCLOUD_CLI_VERSION -ENV GCLOUD_CLI_VERSION ${GCLOUD_CLI_VERSION} +ENV GCLOUD_CLI_VERSION=${GCLOUD_CLI_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-${GCLOUD_CLI_VERSION}-linux-$(ARCH_X64=x86_64 ARCH_ARM64=arm bash arch.sh).tar.gz | tar -xz -C /usr/local \ && /usr/local/google-cloud-sdk/install.sh \ --additional-components beta \ @@ -124,7 +124,7 @@ RUN curl -LsSf --retry 8 --retry-all-errors https://dl.google.com/dl/cloudsdk/ch # Install Powershell, then verify installation ARG POWERSHELL_VERSION -ENV POWERSHELL_VERSION ${POWERSHELL_VERSION} +ENV POWERSHELL_VERSION=${POWERSHELL_VERSION} RUN mkdir -p /opt/microsoft/powershell \ && curl -LsSf --retry 8 --retry-all-errors https://github.com/PowerShell/PowerShell/releases/download/v${POWERSHELL_VERSION}/powershell-${POWERSHELL_VERSION}-linux-$(bash arch.sh).tar.gz | tar -xz -C /opt/microsoft/powershell \ && chmod +x /opt/microsoft/powershell/pwsh \ @@ -134,14 +134,14 @@ RUN mkdir -p /opt/microsoft/powershell \ # Install YQ, then verify installation ARG YQ_VERSION -ENV YQ_VERSION ${YQ_VERSION} +ENV YQ_VERSION=${YQ_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_$(ARCH_X64=amd64 bash arch.sh) -o /usr/bin/yq \ && chmod +x /usr/bin/yq \ && yq --version # Install Tini, then verify installation ARG TINI_VERSION -ENV TINI_VERSION ${TINI_VERSION} +ENV TINI_VERSION=${TINI_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$(ARCH_X64=amd64 bash arch.sh) -o /tini \ && chmod +x /tini \ && /tini --version @@ -149,7 +149,7 @@ ENTRYPOINT ["/tini", "--"] # Install BuildKit, then verify installation ARG BUILDKIT_VERSION -ENV BUILDKIT_VERSION ${BUILDKIT_VERSION} +ENV BUILDKIT_VERSION=${BUILDKIT_VERSION} RUN mkdir buildkit \ && curl -LsSf --retry 8 --retry-all-errors https://github.com/moby/buildkit/releases/download/v${BUILDKIT_VERSION}/buildkit-v${BUILDKIT_VERSION}.linux-$(ARCH_X64=amd64 bash arch.sh).tar.gz | tar -xz -C buildkit \ && mv buildkit/bin/* /usr/local/bin \ @@ -164,11 +164,11 @@ RUN rootlesskit --version \ # Install Azure Pipelines Agent sources, then verify installation ARG AZP_AGENT_VERSION -ENV AZP_AGENT_VERSION ${AZP_AGENT_VERSION} -ENV AZP_HOME ${HOME}/azp-agent +ENV AZP_AGENT_VERSION=${AZP_AGENT_VERSION} +ENV AZP_HOME=${HOME}/azp-agent # Disable agent auto-updates # See: https://github.com/microsoft/azure-pipelines-agent/blob/b5ff4408239f3e938560f8b2e3848df76489a8d0/src/Agent.Listener/Agent.cs#L354C24-L354C24 -ENV agent.disableupdate "1" +ENV agent.disableupdate="1" RUN mkdir -p ${AZP_HOME} \ && curl -LsSf --retry 8 --retry-all-errors https://vstsagentpackage.azureedge.net/agent/${AZP_AGENT_VERSION}/pipelines-agent-linux-$(bash arch.sh)-${AZP_AGENT_VERSION}.tar.gz | tar -xz -C ${AZP_HOME} \ && cd ${AZP_HOME} \ @@ -177,8 +177,8 @@ RUN mkdir -p ${AZP_HOME} \ && rm -rf _diag \ # Allow local user to R/W to agent home && chmod -R a+w . -ENV AZP_WORK ${HOME}/azp-work -ENV AZP_CUSTOM_CERT_PEM ${HOME}/azp-custom-certs +ENV AZP_WORK=${HOME}/azp-work +ENV AZP_CUSTOM_CERT_PEM=${HOME}/azp-custom-certs # Cleanup helper script RUN rm arch.sh diff --git a/src/docker/Dockerfile-win-ltsc2019 b/src/docker/Dockerfile-win-ltsc2019 index 1d22de56..778a0d02 100644 --- a/src/docker/Dockerfile-win-ltsc2019 +++ b/src/docker/Dockerfile-win-ltsc2019 @@ -3,14 +3,14 @@ FROM mcr.microsoft.com/dotnet/sdk:6.0-windowsservercore-ltsc2019@sha256:e3f6f63b # Configure local user USER ContainerAdministrator SHELL ["cmd", "/S", "/C"] -ENV HOME C:\\app-root +ENV HOME=C:\\app-root # Avoid Python cache during build -ENV PYTHONDONTWRITEBYTECODE 1 +ENV PYTHONDONTWRITEBYTECODE=1 # Install Powershell, then verify installation ARG POWERSHELL_VERSION -ENV POWERSHELL_VERSION ${POWERSHELL_VERSION} +ENV POWERSHELL_VERSION=${POWERSHELL_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors "https://github.com/PowerShell/PowerShell/releases/download/v%POWERSHELL_VERSION%/PowerShell-%POWERSHELL_VERSION%-win-x64.msi" -o powershell.msi \ && msiexec.exe /i powershell.msi /qn /norestart \ && del /q powershell.msi @@ -19,7 +19,7 @@ SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference # Install Git, then verify installation ARG GIT_VERSION -ENV GIT_VERSION ${GIT_VERSION} +ENV GIT_VERSION=${GIT_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors "https://github.com/git-for-windows/git/releases/download/v${Env:GIT_VERSION}.windows.1/Git-${Env:GIT_VERSION}-64-bit.exe" -o git.exe \ && Start-Process git.exe -Wait -ArgumentList '/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /NOCANCEL /SP-' \ && Remove-Item git.exe @@ -27,7 +27,7 @@ RUN git --version # Install JQ, then verify installation ARG JQ_VERSION -ENV JQ_VERSION ${JQ_VERSION} +ENV JQ_VERSION=${JQ_VERSION} RUN mkdir 'C:\Program Files\jq' \ && curl -LsSf --retry 8 --retry-all-errors "https://github.com/stedolan/jq/releases/download/jq-${Env:JQ_VERSION}/jq-win64.exe" -o 'C:\Program Files\jq\jq.exe' \ && [Environment]::SetEnvironmentVariable('Path', $Env:Path + ';C:\Program Files\jq', [EnvironmentVariableTarget]::Machine) @@ -36,7 +36,7 @@ RUN jq --version # Install Python, then verify installation ARG PYTHON_VERSION -ENV PYTHON_VERSION ${PYTHON_VERSION} +ENV PYTHON_VERSION=${PYTHON_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors "https://python.org/ftp/python/${Env:PYTHON_VERSION}/python-${Env:PYTHON_VERSION}-amd64.exe" -o python.exe \ && Start-Process python.exe -Wait -ArgumentList '/quiet InstallAllUsers=1 PrependPath=1 Include_test=0' \ && Remove-Item python.exe @@ -50,7 +50,7 @@ RUN python --version \ # Install Azure CLI, then verify installation ARG AZURE_CLI_VERSION -ENV AZURE_CLI_VERSION ${AZURE_CLI_VERSION} +ENV AZURE_CLI_VERSION=${AZURE_CLI_VERSION} RUN python -m pip \ --disable-pip-version-check \ --no-cache-dir \ @@ -61,7 +61,7 @@ RUN python -m pip \ # Install AWS CLI, then verify installation ARG AWS_CLI_VERSION -ENV AWS_CLI_VERSION ${AWS_CLI_VERSION} +ENV AWS_CLI_VERSION=${AWS_CLI_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors "https://awscli.amazonaws.com/AWSCLIV2-${Env:AWS_CLI_VERSION}.msi" -o awscli.msi \ && Start-Process msiexec.exe -Wait -ArgumentList '/I awscli.msi /qn /norestart' \ && Remove-Item awscli.msi @@ -69,7 +69,7 @@ RUN aws --version # Install Google Cloud CLI, then verify installation ARG GCLOUD_CLI_VERSION -ENV GCLOUD_CLI_VERSION ${GCLOUD_CLI_VERSION} +ENV GCLOUD_CLI_VERSION=${GCLOUD_CLI_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-${Env:GCLOUD_CLI_VERSION}-windows-x86_64.zip" -o gcloud.zip \ && Expand-Archive -Force gcloud.zip -DestinationPath 'C:\Program Files' \ && Remove-Item gcloud.zip \ @@ -80,7 +80,7 @@ RUN gcloud version # Install YQ, then verify installation ARG YQ_VERSION -ENV YQ_VERSION ${YQ_VERSION} +ENV YQ_VERSION=${YQ_VERSION} RUN mkdir 'C:\Program Files\yq' \ && curl -LsSf --retry 8 --retry-all-errors "https://github.com/mikefarah/yq/releases/download/v${Env:YQ_VERSION}/yq_windows_amd64.exe" -o 'C:\Program Files\yq\yq.exe' \ && [Environment]::SetEnvironmentVariable('Path', $Env:Path + ';C:\Program Files\yq', [EnvironmentVariableTarget]::Machine) @@ -89,21 +89,21 @@ RUN yq --version # Install Azure Pipelines Agent sources, then verify installation ARG AZP_AGENT_VERSION -ENV AZP_AGENT_VERSION ${AZP_AGENT_VERSION} -ENV AZP_HOME ${HOME}\\azp-agent +ENV AZP_AGENT_VERSION=${AZP_AGENT_VERSION} +ENV AZP_HOME=${HOME}\\azp-agent # Disable agent auto-updates # See: https://github.com/microsoft/azure-pipelines-agent/blob/b5ff4408239f3e938560f8b2e3848df76489a8d0/src/Agent.Listener/Agent.cs#L354C24-L354C24 -ENV agent.disableupdate "1" +ENV agent.disableupdate="1" RUN mkdir $Env:AZP_HOME \ && curl -LsSf --retry 8 --retry-all-errors "https://vstsagentpackage.azureedge.net/agent/${Env:AZP_AGENT_VERSION}/vsts-agent-win-x64-${Env:AZP_AGENT_VERSION}.zip" -o azp-agent.zip \ && Expand-Archive -Force azp-agent.zip -DestinationPath $Env:AZP_HOME \ && Remove-Item azp-agent.zip \ && & "${Env:AZP_HOME}\run.cmd" --version -ENV AZP_WORK ${HOME}\\azp-work +ENV AZP_WORK=${HOME}\\azp-work # Install zstd, then verify installation ARG ZSTD_VERSION -ENV ZSTD_VERSION ${ZSTD_VERSION} +ENV ZSTD_VERSION=${ZSTD_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors "https://github.com/facebook/zstd/releases/download/v${Env:ZSTD_VERSION}/zstd-v${Env:ZSTD_VERSION}-win64.zip" -o zstd.zip \ && Expand-Archive -Force zstd.zip -DestinationPath 'C:\Program Files' \ && Remove-Item zstd.zip \ @@ -115,7 +115,7 @@ RUN zstd --version # Install Visual Studio Build Tools, then verify installation # See: https://learn.microsoft.com/en-us/visualstudio/install/build-tools-container?view=vs-2022#create-and-build-the-dockerfile ARG VS_BUILDTOOLS_VERSION -ENV VS_BUILDTOOLS_VERSION ${VS_BUILDTOOLS_VERSION} +ENV VS_BUILDTOOLS_VERSION=${VS_BUILDTOOLS_VERSION} # TODO: Delete the installer, but it's seems locked, receiving "Remove-Item: Access to the path 'C:\buildtools.exe' is denied." RUN curl -LsSf --retry 8 --retry-all-errors "https://download.visualstudio.microsoft.com/download/pr/${Env:VS_BUILDTOOLS_VERSION}/vs_BuildTools.exe" -o buildtools.exe \ && .\buildtools.exe \ @@ -137,7 +137,7 @@ RUN curl -LsSf --retry 8 --retry-all-errors "https://download.visualstudio.micro RUN Start-Process cmd.exe -Wait -ArgumentList '/c ''C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\Tools\VsDevCmd.bat'' && msbuild --version' # Define path for the custom SSL certificate -ENV AZP_CUSTOM_CERT_PEM ${HOME}\\azp-custom-certs +ENV AZP_CUSTOM_CERT_PEM=${HOME}\\azp-custom-certs # Reset Python configs to default ENV PYTHONDONTWRITEBYTECODE= diff --git a/src/docker/Dockerfile-win-ltsc2022 b/src/docker/Dockerfile-win-ltsc2022 index 313c7833..4d863553 100644 --- a/src/docker/Dockerfile-win-ltsc2022 +++ b/src/docker/Dockerfile-win-ltsc2022 @@ -3,14 +3,14 @@ FROM mcr.microsoft.com/dotnet/sdk:6.0-windowsservercore-ltsc2022@sha256:6e55dbc8 # Configure local user USER ContainerAdministrator SHELL ["cmd", "/S", "/C"] -ENV HOME C:\\app-root +ENV HOME=C:\\app-root # Avoid Python cache during build -ENV PYTHONDONTWRITEBYTECODE 1 +ENV PYTHONDONTWRITEBYTECODE=1 # Install Powershell, then verify installation ARG POWERSHELL_VERSION -ENV POWERSHELL_VERSION ${POWERSHELL_VERSION} +ENV POWERSHELL_VERSION=${POWERSHELL_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors "https://github.com/PowerShell/PowerShell/releases/download/v%POWERSHELL_VERSION%/PowerShell-%POWERSHELL_VERSION%-win-x64.msi" -o powershell.msi \ && msiexec.exe /i powershell.msi /qn /norestart \ && del /q powershell.msi @@ -19,7 +19,7 @@ SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference # Install Git, then verify installation ARG GIT_VERSION -ENV GIT_VERSION ${GIT_VERSION} +ENV GIT_VERSION=${GIT_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors "https://github.com/git-for-windows/git/releases/download/v${Env:GIT_VERSION}.windows.1/Git-${Env:GIT_VERSION}-64-bit.exe" -o git.exe \ && Start-Process git.exe -Wait -ArgumentList '/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /NOCANCEL /SP-' \ && Remove-Item git.exe @@ -27,7 +27,7 @@ RUN git --version # Install JQ, then verify installation ARG JQ_VERSION -ENV JQ_VERSION ${JQ_VERSION} +ENV JQ_VERSION=${JQ_VERSION} RUN mkdir 'C:\Program Files\jq' \ && curl -LsSf --retry 8 --retry-all-errors "https://github.com/stedolan/jq/releases/download/jq-${Env:JQ_VERSION}/jq-win64.exe" -o 'C:\Program Files\jq\jq.exe' \ && [Environment]::SetEnvironmentVariable('Path', $Env:Path + ';C:\Program Files\jq', [EnvironmentVariableTarget]::Machine) @@ -36,7 +36,7 @@ RUN jq --version # Install Python, then verify installation ARG PYTHON_VERSION -ENV PYTHON_VERSION ${PYTHON_VERSION} +ENV PYTHON_VERSION=${PYTHON_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors "https://python.org/ftp/python/${Env:PYTHON_VERSION}/python-${Env:PYTHON_VERSION}-amd64.exe" -o python.exe \ && Start-Process python.exe -Wait -ArgumentList '/quiet InstallAllUsers=1 PrependPath=1 Include_test=0' \ && Remove-Item python.exe @@ -50,7 +50,7 @@ RUN python --version \ # Install Azure CLI, then verify installation ARG AZURE_CLI_VERSION -ENV AZURE_CLI_VERSION ${AZURE_CLI_VERSION} +ENV AZURE_CLI_VERSION=${AZURE_CLI_VERSION} RUN python -m pip \ --disable-pip-version-check \ --no-cache-dir \ @@ -61,7 +61,7 @@ RUN python -m pip \ # Install AWS CLI, then verify installation ARG AWS_CLI_VERSION -ENV AWS_CLI_VERSION ${AWS_CLI_VERSION} +ENV AWS_CLI_VERSION=${AWS_CLI_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors "https://awscli.amazonaws.com/AWSCLIV2-${Env:AWS_CLI_VERSION}.msi" -o awscli.msi \ && Start-Process msiexec.exe -Wait -ArgumentList '/I awscli.msi /qn /norestart' \ && Remove-Item awscli.msi @@ -69,7 +69,7 @@ RUN aws --version # Install Google Cloud CLI, then verify installation ARG GCLOUD_CLI_VERSION -ENV GCLOUD_CLI_VERSION ${GCLOUD_CLI_VERSION} +ENV GCLOUD_CLI_VERSION=${GCLOUD_CLI_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-${Env:GCLOUD_CLI_VERSION}-windows-x86_64.zip" -o gcloud.zip \ && Expand-Archive -Force gcloud.zip -DestinationPath 'C:\Program Files' \ && Remove-Item gcloud.zip \ @@ -80,7 +80,7 @@ RUN gcloud version # Install YQ, then verify installation ARG YQ_VERSION -ENV YQ_VERSION ${YQ_VERSION} +ENV YQ_VERSION=${YQ_VERSION} RUN mkdir 'C:\Program Files\yq' \ && curl -LsSf --retry 8 --retry-all-errors "https://github.com/mikefarah/yq/releases/download/v${Env:YQ_VERSION}/yq_windows_amd64.exe" -o 'C:\Program Files\yq\yq.exe' \ && [Environment]::SetEnvironmentVariable('Path', $Env:Path + ';C:\Program Files\yq', [EnvironmentVariableTarget]::Machine) @@ -89,21 +89,21 @@ RUN yq --version # Install Azure Pipelines Agent sources, then verify installation ARG AZP_AGENT_VERSION -ENV AZP_AGENT_VERSION ${AZP_AGENT_VERSION} -ENV AZP_HOME ${HOME}\\azp-agent +ENV AZP_AGENT_VERSION=${AZP_AGENT_VERSION} +ENV AZP_HOME=${HOME}\\azp-agent # Disable agent auto-updates # See: https://github.com/microsoft/azure-pipelines-agent/blob/b5ff4408239f3e938560f8b2e3848df76489a8d0/src/Agent.Listener/Agent.cs#L354C24-L354C24 -ENV agent.disableupdate "1" +ENV agent.disableupdate="1" RUN mkdir $Env:AZP_HOME \ && curl -LsSf --retry 8 --retry-all-errors "https://vstsagentpackage.azureedge.net/agent/${Env:AZP_AGENT_VERSION}/vsts-agent-win-x64-${Env:AZP_AGENT_VERSION}.zip" -o azp-agent.zip \ && Expand-Archive -Force azp-agent.zip -DestinationPath $Env:AZP_HOME \ && Remove-Item azp-agent.zip \ && & "${Env:AZP_HOME}\run.cmd" --version -ENV AZP_WORK ${HOME}\\azp-work +ENV AZP_WORK=${HOME}\\azp-work # Install zstd, then verify installation ARG ZSTD_VERSION -ENV ZSTD_VERSION ${ZSTD_VERSION} +ENV ZSTD_VERSION=${ZSTD_VERSION} RUN curl -LsSf --retry 8 --retry-all-errors "https://github.com/facebook/zstd/releases/download/v${Env:ZSTD_VERSION}/zstd-v${Env:ZSTD_VERSION}-win64.zip" -o zstd.zip \ && Expand-Archive -Force zstd.zip -DestinationPath 'C:\Program Files' \ && Remove-Item zstd.zip \ @@ -115,7 +115,7 @@ RUN zstd --version # Install Visual Studio Build Tools, then verify installation # See: https://learn.microsoft.com/en-us/visualstudio/install/build-tools-container?view=vs-2022#create-and-build-the-dockerfile ARG VS_BUILDTOOLS_VERSION -ENV VS_BUILDTOOLS_VERSION ${VS_BUILDTOOLS_VERSION} +ENV VS_BUILDTOOLS_VERSION=${VS_BUILDTOOLS_VERSION} # TODO: Delete the installer, but it's seems locked, receiving "Remove-Item: Access to the path 'C:\buildtools.exe' is denied." RUN curl -LsSf --retry 8 --retry-all-errors "https://download.visualstudio.microsoft.com/download/pr/${Env:VS_BUILDTOOLS_VERSION}/vs_BuildTools.exe" -o buildtools.exe \ && .\buildtools.exe \ @@ -137,7 +137,7 @@ RUN curl -LsSf --retry 8 --retry-all-errors "https://download.visualstudio.micro RUN Start-Process cmd.exe -Wait -ArgumentList '/c ''C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\Tools\VsDevCmd.bat'' && msbuild --version' # Define path for the custom SSL certificate -ENV AZP_CUSTOM_CERT_PEM ${HOME}\\azp-custom-certs +ENV AZP_CUSTOM_CERT_PEM=${HOME}\\azp-custom-certs # Reset Python configs to default ENV PYTHONDONTWRITEBYTECODE=