From 0bb119ff84b327a984c486b4923dada4c66ce143 Mon Sep 17 00:00:00 2001 From: Andrejs Cunskis Date: Wed, 8 Feb 2023 19:13:35 +0100 Subject: [PATCH 1/6] Update docker and buildx versions --- .gitlab/ci/docker.images.yml | 15 +++++---------- .gitlab/ci/e2e.images.yml | 2 +- scripts/lib/custom-docker-build | 5 +++++ 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.gitlab/ci/docker.images.yml b/.gitlab/ci/docker.images.yml index 1f49b90..bbdd9f8 100644 --- a/.gitlab/ci/docker.images.yml +++ b/.gitlab/ci/docker.images.yml @@ -3,8 +3,8 @@ extends: - .build_dynamic_image variables: - DOCKER: '20.10.21' - BUILDX: '0.9' + DOCKER: '23.0.0' + BUILDX: '0.10' rules: - !reference [.build_dynamic_image, rules] - changes: @@ -14,11 +14,6 @@ docker: extends: - .docker - variables: - OS: "debian:bullseye" - -docker-slim: - extends: - - .docker - variables: - OS: "debian:bullseye-slim" + parallel: + matrix: + - OS: ['debian:bullseye', 'debian:bullseye-slim'] diff --git a/.gitlab/ci/e2e.images.yml b/.gitlab/ci/e2e.images.yml index 761c2ee..97114fa 100644 --- a/.gitlab/ci/e2e.images.yml +++ b/.gitlab/ci/e2e.images.yml @@ -24,7 +24,7 @@ e2e-docker: extends: - e2e variables: - DOCKER: '20.10.14' + DOCKER: '23.0.0' # Image with additional chrome installed e2e-chrome: diff --git a/scripts/lib/custom-docker-build b/scripts/lib/custom-docker-build index f9782cb..be658af 100755 --- a/scripts/lib/custom-docker-build +++ b/scripts/lib/custom-docker-build @@ -187,6 +187,11 @@ function print_buildx_args() { BUILDX_DOWNLOAD_SHA256[amd64]=a7fb95177792ca8ffc7243fad7bf2f33738b8b999a184b6201f002a63c43d136 BUILDX_DOWNLOAD_SHA256[arm64]=bbf6a76bf9aef9c5759ff225b97ce23a24fc11e4fa3cdcae36e5dcf1de2cffc5 ;; + 0.10) + BUILDX_VERSION=0.10.2 + BUILDX_DOWNLOAD_SHA256[amd64]=ee5a5e3ebf5e5c73ac840993720bd1e72c4beb3b4ee9e85e2d6b4364cac87d89 + BUILDX_DOWNLOAD_SHA256[arm64]=5f6c706833221cd2cae267ac8612c1809f9d7e8f3fe87707ae86cb695c560cd9 + ;; *) fail "Unknown buildx version $1" ;; esac From 96f2c92812d8fb4bca2685c54e15e6dd50858806 Mon Sep 17 00:00:00 2001 From: Andrejs Cunskis Date: Wed, 8 Feb 2023 19:41:14 +0100 Subject: [PATCH 2/6] Fix version regex --- scripts/install-docker | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/scripts/install-docker b/scripts/install-docker index 0902fa8..46ca921 100755 --- a/scripts/install-docker +++ b/scripts/install-docker @@ -15,12 +15,10 @@ apt-get -y install \ gnupg curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - - - echo "deb https://download.docker.com/linux/debian ${DEBIAN_VERSION} stable" >> /etc/apt/sources.list.d/docker.list apt-get update -PACKAGE_VERSION=$(apt-cache policy docker-ce | awk -v dv=${DOCKER_VERSION}~ '$1 ~ dv {print $1}') +PACKAGE_VERSION=$(apt-cache policy docker-ce | awk -v dv=${DOCKER_VERSION} '$1 ~ dv {print $1}') apt-get install -y docker-ce=${PACKAGE_VERSION} docker-ce-cli=${PACKAGE_VERSION} apt-get -yq autoremove From 65485241a6b90b06c808b3e7beae2e9bf3ee46c9 Mon Sep 17 00:00:00 2001 From: Andrejs Cunskis Date: Sun, 12 Feb 2023 17:48:23 +0900 Subject: [PATCH 3/6] Bump to latest patch version --- .gitlab/ci/docker.images.yml | 2 +- .gitlab/ci/e2e.images.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab/ci/docker.images.yml b/.gitlab/ci/docker.images.yml index bbdd9f8..e339b6f 100644 --- a/.gitlab/ci/docker.images.yml +++ b/.gitlab/ci/docker.images.yml @@ -3,7 +3,7 @@ extends: - .build_dynamic_image variables: - DOCKER: '23.0.0' + DOCKER: '23.0.1' BUILDX: '0.10' rules: - !reference [.build_dynamic_image, rules] diff --git a/.gitlab/ci/e2e.images.yml b/.gitlab/ci/e2e.images.yml index 97114fa..fae8f2a 100644 --- a/.gitlab/ci/e2e.images.yml +++ b/.gitlab/ci/e2e.images.yml @@ -24,7 +24,7 @@ e2e-docker: extends: - e2e variables: - DOCKER: '23.0.0' + DOCKER: '23.0.1' # Image with additional chrome installed e2e-chrome: From 41165c16ff508f7a71d5e0ecd8f95db67bfbad59 Mon Sep 17 00:00:00 2001 From: Andrejs Cunskis Date: Tue, 14 Feb 2023 06:03:11 +0900 Subject: [PATCH 4/6] Install docker and buildx using official instructions --- Dockerfile.custom | 3 +-- scripts/install-buildx | 10 +++++----- scripts/install-docker | 16 ++++++++++------ scripts/lib/custom-docker-build | 9 --------- 4 files changed, 16 insertions(+), 22 deletions(-) diff --git a/Dockerfile.custom b/Dockerfile.custom index 8be9021..3166dd5 100644 --- a/Dockerfile.custom +++ b/Dockerfile.custom @@ -83,9 +83,8 @@ RUN if [ -n "$DOCKER_VERSION" ]; then /scripts/install-docker "$DOCKER_VERSION"; # Docker buildx plugin ARG BUILDX_VERSION -ARG BUILDX_DOWNLOAD_SHA256 -RUN if [ -n "$BUILDX_VERSION" ]; then /scripts/install-buildx "$BUILDX_VERSION" "$BUILDX_DOWNLOAD_SHA256"; fi +RUN if [ -n "$BUILDX_VERSION" ]; then /scripts/install-buildx "$BUILDX_VERSION"; fi # Bazelisk ARG BAZELISK_VERSION diff --git a/scripts/install-buildx b/scripts/install-buildx index a2be0ec..f9c44b1 100755 --- a/scripts/install-buildx +++ b/scripts/install-buildx @@ -3,10 +3,10 @@ set -xeou pipefail BUILDX_VERSION=${1} -BUILDX_DOWNLOAD_SHA256=${2} -BUILDX_DOWNLOAD_URL="https://github.com/docker/buildx/releases/download/v${BUILDX_VERSION}/buildx-v${BUILDX_VERSION}.linux-${TARGETARCH:-amd64}" -/scripts/download-file docker-buildx "$BUILDX_DOWNLOAD_URL" $BUILDX_DOWNLOAD_SHA256 +PACKAGE_VERSION=$(apt-cache policy docker-buildx-plugin | awk -v dv=${BUILDX_VERSION} '$1 ~ dv {print $1}') -mkdir -p /usr/local/lib/docker/cli-plugins -chmod +x docker-buildx && mv docker-buildx /usr/local/lib/docker/cli-plugins/ +apt-get update && apt-get install -y docker-buildx-plugin=${PACKAGE_VERSION} + +apt-get -yq autoremove +apt-get clean -yqq diff --git a/scripts/install-docker b/scripts/install-docker index 46ca921..6da4b25 100755 --- a/scripts/install-docker +++ b/scripts/install-docker @@ -7,20 +7,24 @@ export DEBIAN_FRONTEND=noninteractive DOCKER_VERSION=${1} DEBIAN_VERSION=$(lsb_release -c -s) -apt-get update -apt-get -y install \ +apt-get update && apt-get -y install \ apt-transport-https \ ca-certificates \ curl \ gnupg -curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - -echo "deb https://download.docker.com/linux/debian ${DEBIAN_VERSION} stable" >> /etc/apt/sources.list.d/docker.list +mkdir -m 0755 -p /etc/apt/keyrings +curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg +echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ + ${DEBIAN_VERSION} stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null apt-get update PACKAGE_VERSION=$(apt-cache policy docker-ce | awk -v dv=${DOCKER_VERSION} '$1 ~ dv {print $1}') -apt-get install -y docker-ce=${PACKAGE_VERSION} docker-ce-cli=${PACKAGE_VERSION} + apt-get install -y \ + docker-ce=${PACKAGE_VERSION} \ + docker-ce-cli=${PACKAGE_VERSION} + apt-get -yq autoremove apt-get clean -yqq -rm -rf /var/lib/apt/lists/* diff --git a/scripts/lib/custom-docker-build b/scripts/lib/custom-docker-build index be658af..c001167 100755 --- a/scripts/lib/custom-docker-build +++ b/scripts/lib/custom-docker-build @@ -174,29 +174,20 @@ function print_docker_args() { } function print_buildx_args() { - declare -A BUILDX_DOWNLOAD_SHA256 - case "$1" in 0.8) BUILDX_VERSION=0.8.2 - BUILDX_DOWNLOAD_SHA256[amd64]=c64de4f3c30f7a73ff9db637660c7aa0f00234368105b0a09fa8e24eebe910c3 - BUILDX_DOWNLOAD_SHA256[arm64]=304d3d9822c75f98ad9cf57f0c234bcf326bbb96d791d551728cadd72a7a377f ;; 0.9) BUILDX_VERSION=0.9.1 - BUILDX_DOWNLOAD_SHA256[amd64]=a7fb95177792ca8ffc7243fad7bf2f33738b8b999a184b6201f002a63c43d136 - BUILDX_DOWNLOAD_SHA256[arm64]=bbf6a76bf9aef9c5759ff225b97ce23a24fc11e4fa3cdcae36e5dcf1de2cffc5 ;; 0.10) BUILDX_VERSION=0.10.2 - BUILDX_DOWNLOAD_SHA256[amd64]=ee5a5e3ebf5e5c73ac840993720bd1e72c4beb3b4ee9e85e2d6b4364cac87d89 - BUILDX_DOWNLOAD_SHA256[arm64]=5f6c706833221cd2cae267ac8612c1809f9d7e8f3fe87707ae86cb695c560cd9 ;; *) fail "Unknown buildx version $1" ;; esac printf -- "--build-arg BUILDX_VERSION=%s " "$BUILDX_VERSION" - printf -- "--build-arg BUILDX_DOWNLOAD_SHA256=%q " "${BUILDX_DOWNLOAD_SHA256[*]}" } function print_graphicsmagick_args() { From 6994bdfc9cffb5bf190c8541441e845fa83d3ca7 Mon Sep 17 00:00:00 2001 From: Andrejs Cunskis Date: Tue, 14 Feb 2023 06:07:08 +0900 Subject: [PATCH 5/6] Remove specific buildx versions --- .gitlab/ci/docker.images.yml | 1 - Dockerfile.custom | 5 ----- scripts/install-buildx | 12 ------------ scripts/install-docker | 3 ++- scripts/lib/custom-docker-build | 18 ------------------ scripts/lib/custom-docker.sh | 2 +- 6 files changed, 3 insertions(+), 38 deletions(-) delete mode 100755 scripts/install-buildx diff --git a/.gitlab/ci/docker.images.yml b/.gitlab/ci/docker.images.yml index e339b6f..122c988 100644 --- a/.gitlab/ci/docker.images.yml +++ b/.gitlab/ci/docker.images.yml @@ -4,7 +4,6 @@ - .build_dynamic_image variables: DOCKER: '23.0.1' - BUILDX: '0.10' rules: - !reference [.build_dynamic_image, rules] - changes: diff --git a/Dockerfile.custom b/Dockerfile.custom index 3166dd5..2bcb798 100644 --- a/Dockerfile.custom +++ b/Dockerfile.custom @@ -81,11 +81,6 @@ ARG DOCKER_VERSION RUN if [ -n "$DOCKER_VERSION" ]; then /scripts/install-docker "$DOCKER_VERSION"; fi -# Docker buildx plugin -ARG BUILDX_VERSION - -RUN if [ -n "$BUILDX_VERSION" ]; then /scripts/install-buildx "$BUILDX_VERSION"; fi - # Bazelisk ARG BAZELISK_VERSION ARG BAZELISK_DOWNLOAD_SHA256 diff --git a/scripts/install-buildx b/scripts/install-buildx deleted file mode 100755 index f9c44b1..0000000 --- a/scripts/install-buildx +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -set -xeou pipefail - -BUILDX_VERSION=${1} - -PACKAGE_VERSION=$(apt-cache policy docker-buildx-plugin | awk -v dv=${BUILDX_VERSION} '$1 ~ dv {print $1}') - -apt-get update && apt-get install -y docker-buildx-plugin=${PACKAGE_VERSION} - -apt-get -yq autoremove -apt-get clean -yqq diff --git a/scripts/install-docker b/scripts/install-docker index 6da4b25..f5b01a2 100755 --- a/scripts/install-docker +++ b/scripts/install-docker @@ -24,7 +24,8 @@ PACKAGE_VERSION=$(apt-cache policy docker-ce | awk -v dv=${DOCKER_VERSION} '$1 ~ apt-get install -y \ docker-ce=${PACKAGE_VERSION} \ - docker-ce-cli=${PACKAGE_VERSION} + docker-ce-cli=${PACKAGE_VERSION} \ + docker-buildx-plugin apt-get -yq autoremove apt-get clean -yqq diff --git a/scripts/lib/custom-docker-build b/scripts/lib/custom-docker-build index c001167..31a8072 100755 --- a/scripts/lib/custom-docker-build +++ b/scripts/lib/custom-docker-build @@ -173,23 +173,6 @@ function print_docker_args() { printf -- "--build-arg DOCKER_VERSION=%s " "$1" } -function print_buildx_args() { - case "$1" in - 0.8) - BUILDX_VERSION=0.8.2 - ;; - 0.9) - BUILDX_VERSION=0.9.1 - ;; - 0.10) - BUILDX_VERSION=0.10.2 - ;; - *) fail "Unknown buildx version $1" ;; - esac - - printf -- "--build-arg BUILDX_VERSION=%s " "$BUILDX_VERSION" -} - function print_graphicsmagick_args() { case "$1" in 1.3.29) @@ -370,7 +353,6 @@ function parse_arguments() { RUST) print_rust_args $version ;; CHROME) print_chrome_args $version ;; DOCKER) print_docker_args $version ;; - BUILDX) print_buildx_args $version ;; GIT) print_git_args $version ;; LFS) print_lfs_args $version ;; NODE) print_node_args $version ;; diff --git a/scripts/lib/custom-docker.sh b/scripts/lib/custom-docker.sh index a14a69d..0b9599e 100644 --- a/scripts/lib/custom-docker.sh +++ b/scripts/lib/custom-docker.sh @@ -2,7 +2,7 @@ # various variable operations used in this script. PATH_TOOLS=(DEBIAN OS UBI RUBY GOLANG RUST NODE POSTGRESQL) -TAG_TOOLS=(BUNDLER RUBYGEMS GIT LFS CHROME YARN GRAPHICSMAGICK BAZELISK DOCKER BUILDX GCLOUD KUBECTL HELM) +TAG_TOOLS=(BUNDLER RUBYGEMS GIT LFS CHROME YARN GRAPHICSMAGICK BAZELISK DOCKER GCLOUD KUBECTL HELM) # Generate the docker image path using the components that were specified via # variables. From cf020e0aa6d9ed27cd2a49a0b82cd0408f4f5c38 Mon Sep 17 00:00:00 2001 From: Andrejs Cunskis Date: Wed, 22 Feb 2023 07:27:46 +0900 Subject: [PATCH 6/6] Add back apt/lists rm --- scripts/install-docker | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/install-docker b/scripts/install-docker index f5b01a2..2b0f021 100755 --- a/scripts/install-docker +++ b/scripts/install-docker @@ -29,3 +29,4 @@ PACKAGE_VERSION=$(apt-cache policy docker-ce | awk -v dv=${DOCKER_VERSION} '$1 ~ apt-get -yq autoremove apt-get clean -yqq +rm -rf /var/lib/apt/lists/*