From ecc8a81db1bbb6006535ac8b859fca8050209b76 Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Thu, 14 Jan 2021 13:38:08 +0000 Subject: [PATCH 001/109] Update Docker (CLI) to 20.10.2 in GitLab QA build images Signed-off-by: Takuya Noguchi --- Dockerfile.gitlab-qa-alpine-ruby-2.7 | 6 +++--- Dockerfile.gitlab-qa-alpine-ruby-3.0 | 6 +++--- Dockerfile.gitlab-qa-ruby-2.7 | 15 +++++++++++---- Dockerfile.gitlab-qa-ruby-3.0 | 15 +++++++++++---- 4 files changed, 28 insertions(+), 14 deletions(-) diff --git a/Dockerfile.gitlab-qa-alpine-ruby-2.7 b/Dockerfile.gitlab-qa-alpine-ruby-2.7 index 96991ff..639d6c2 100644 --- a/Dockerfile.gitlab-qa-alpine-ruby-2.7 +++ b/Dockerfile.gitlab-qa-alpine-ruby-2.7 @@ -8,10 +8,10 @@ MAINTAINER GitLab Quality Team WORKDIR /home/qa -ENV DOCKER_VERSION="18.06.1" -ENV DOCKER_ARCHIVE="docker-${DOCKER_VERSION}-ce.tgz" +ENV DOCKER_VERSION="20.10.2" +ENV DOCKER_ARCHIVE="docker-${DOCKER_VERSION}.tgz" ENV DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_ARCHIVE}" -ENV DOCKER_CHECKSUM="2d92728714d794f78619785a2c638b58b0b15e60b340de51886bf6d3730f31f0" +ENV DOCKER_CHECKSUM="893e0b05e347dee1d857022181831c6ec3798e9a49fda9a319b2f5a6fb79c42d" ENV DOCKER_BIN="/usr/local/bin/docker" # Install dependencies diff --git a/Dockerfile.gitlab-qa-alpine-ruby-3.0 b/Dockerfile.gitlab-qa-alpine-ruby-3.0 index 89b61c0..87e6901 100644 --- a/Dockerfile.gitlab-qa-alpine-ruby-3.0 +++ b/Dockerfile.gitlab-qa-alpine-ruby-3.0 @@ -8,10 +8,10 @@ MAINTAINER GitLab Quality Team WORKDIR /home/qa -ENV DOCKER_VERSION="18.06.1" -ENV DOCKER_ARCHIVE="docker-${DOCKER_VERSION}-ce.tgz" +ENV DOCKER_VERSION="20.10.2" +ENV DOCKER_ARCHIVE="docker-${DOCKER_VERSION}.tgz" ENV DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_ARCHIVE}" -ENV DOCKER_CHECKSUM="2d92728714d794f78619785a2c638b58b0b15e60b340de51886bf6d3730f31f0" +ENV DOCKER_CHECKSUM="893e0b05e347dee1d857022181831c6ec3798e9a49fda9a319b2f5a6fb79c42d" ENV DOCKER_BIN="/usr/local/bin/docker" # Install dependencies diff --git a/Dockerfile.gitlab-qa-ruby-2.7 b/Dockerfile.gitlab-qa-ruby-2.7 index f23c553..9c5293a 100644 --- a/Dockerfile.gitlab-qa-ruby-2.7 +++ b/Dockerfile.gitlab-qa-ruby-2.7 @@ -6,7 +6,14 @@ ENV LANG C.UTF-8 WORKDIR /home/qa -RUN wget -q https://download.docker.com/linux/static/stable/x86_64/docker-19.03.1.tgz && \ - tar -zxf docker-19.03.1.tgz && mv docker/docker /usr/local/bin/docker && \ - echo "9b6191f64cb89e706dc29390408260d643e88f7f853d8878b2fb0360186b2ac3 /usr/local/bin/docker" | sha256sum -c - && \ - rm docker-19.03.1.tgz +ENV DOCKER_VERSION="20.10.2" +ENV DOCKER_ARCHIVE="docker-${DOCKER_VERSION}.tgz" +ENV DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_ARCHIVE}" +ENV DOCKER_CHECKSUM="893e0b05e347dee1d857022181831c6ec3798e9a49fda9a319b2f5a6fb79c42d" +ENV DOCKER_BIN="/usr/local/bin/docker" + +RUN wget -q ${DOCKER_URL} && \ + tar -zxf ${DOCKER_ARCHIVE} && \ + mv docker/docker ${DOCKER_BIN} && \ + echo "${DOCKER_CHECKSUM} ${DOCKER_BIN}" | sha256sum -c - && \ + rm ${DOCKER_ARCHIVE} diff --git a/Dockerfile.gitlab-qa-ruby-3.0 b/Dockerfile.gitlab-qa-ruby-3.0 index cda9991..39340f1 100644 --- a/Dockerfile.gitlab-qa-ruby-3.0 +++ b/Dockerfile.gitlab-qa-ruby-3.0 @@ -6,7 +6,14 @@ ENV LANG C.UTF-8 WORKDIR /home/qa -RUN wget -q https://download.docker.com/linux/static/stable/x86_64/docker-19.03.1.tgz && \ - tar -zxf docker-19.03.1.tgz && mv docker/docker /usr/local/bin/docker && \ - echo "9b6191f64cb89e706dc29390408260d643e88f7f853d8878b2fb0360186b2ac3 /usr/local/bin/docker" | sha256sum -c - && \ - rm docker-19.03.1.tgz +ENV DOCKER_VERSION="20.10.2" +ENV DOCKER_ARCHIVE="docker-${DOCKER_VERSION}.tgz" +ENV DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/${DOCKER_ARCHIVE}" +ENV DOCKER_CHECKSUM="893e0b05e347dee1d857022181831c6ec3798e9a49fda9a319b2f5a6fb79c42d" +ENV DOCKER_BIN="/usr/local/bin/docker" + +RUN wget -q ${DOCKER_URL} && \ + tar -zxf ${DOCKER_ARCHIVE} && \ + mv docker/docker ${DOCKER_BIN} && \ + echo "${DOCKER_CHECKSUM} ${DOCKER_BIN}" | sha256sum -c - && \ + rm ${DOCKER_ARCHIVE} From 9ba71df9cf08bcfa20be5d52b6aa8fda48ca070b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= Date: Wed, 9 Dec 2020 15:44:49 +0100 Subject: [PATCH 002/109] Update Chrome to 87 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rémy Coutable --- .gitlab-ci.yml | 30 ++++++++++++++++++------------ scripts/custom-docker-build | 4 ++++ 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index aac748b..e7066cb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -71,12 +71,12 @@ ruby-2.7-golang-1.15-git-2.29 test: *test_custom ruby-2.7-golang-1.15-git-2.29-pgbouncer-1.14 test: *test_custom # Used by GitLab: https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab-ci.yml -ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom -ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom -ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom -ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom -ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom -ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom +ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom +ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom +ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom +ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom +ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom +ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.28-lfs-2.9-node-12.18-yarn-1.22-graphicsmagick-1.3.34 test: *test_custom @@ -146,12 +146,12 @@ ruby-2.7-golang-1.15-git-2.29: *build_and_deploy_custom ruby-2.7-golang-1.15-git-2.29-pgbouncer-1.14: *build_and_deploy_custom # Used by GitLab CE/EE: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/.gitlab-ci.yml -ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.28-lfs-2.9-node-12.18-yarn-1.22-graphicsmagick-1.3.34: *build_and_deploy_custom @@ -239,6 +239,12 @@ cache-google-chrome: # ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom # ruby-2.7.1-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom # ruby-2.7.1-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom +# ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom +# ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom +# ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom +# ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom +# ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom +# ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom # ruby-2.6.5-git-2.27-chrome-83-node-12.x-yarn-1.21-docker-19.03.1: *build_and_deploy_custom # ruby-2.6.5-git-2.28-chrome-84-node-12.x-yarn-1.21-docker-19.03.1: *build_and_deploy_custom diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index 85a21a5..843cb19 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -68,6 +68,10 @@ function print_chrome_args() { CHROME_VERSION=85.0.4183.83-1 CHROME_DRIVER_VERSION=85.0.4183.87 ;; + 87|87.0) + CHROME_VERSION=87.0.4280.88-1 + CHROME_DRIVER_VERSION=87.0.4280.88 + ;; *) echo "Unknown chrome version $1"; exit 1; esac printf -- "--build-arg CHROME_VERSION=%s " "$CHROME_VERSION" From 5a3dce5eaf93280bdcbe5138a0a92746114de658 Mon Sep 17 00:00:00 2001 From: Lukas Eipert Date: Wed, 20 Jan 2021 12:16:54 +0100 Subject: [PATCH 003/109] Update gitlab build images to use node 14 --- .gitlab-ci.yml | 36 ++++++++++++++++++------------------ scripts/custom-docker-build | 1 + 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e7066cb..ec52c0b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -71,17 +71,17 @@ ruby-2.7-golang-1.15-git-2.29 test: *test_custom ruby-2.7-golang-1.15-git-2.29-pgbouncer-1.14 test: *test_custom # Used by GitLab: https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab-ci.yml -ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom -ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom -ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom -ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom -ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom -ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom +ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom +ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom +ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom +ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom +ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom +ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs -ruby-2.7.2-git-2.28-lfs-2.9-node-12.18-yarn-1.22-graphicsmagick-1.3.34 test: *test_custom -ruby-2.7.2-git-2.29-lfs-2.9-node-12.18-yarn-1.22-graphicsmagick-1.3.34 test: *test_custom -ruby-3.0.0-git-2.29-lfs-2.9-node-12.18-yarn-1.22-graphicsmagick-1.3.34 test: *test_custom +ruby-2.7.2-git-2.28-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34 test: *test_custom +ruby-2.7.2-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34 test: *test_custom +ruby-3.0.0-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34 test: *test_custom # Used by www-gitlab-com's rspec job: https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/.gitlab-ci.yml ruby-2.6.5-git-2.28-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom @@ -146,17 +146,17 @@ ruby-2.7-golang-1.15-git-2.29: *build_and_deploy_custom ruby-2.7-golang-1.15-git-2.29-pgbouncer-1.14: *build_and_deploy_custom # Used by GitLab CE/EE: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/.gitlab-ci.yml -ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs -ruby-2.7.2-git-2.28-lfs-2.9-node-12.18-yarn-1.22-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-2.7.2-git-2.29-lfs-2.9-node-12.18-yarn-1.22-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-3.0.0-git-2.29-lfs-2.9-node-12.18-yarn-1.22-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-2.7.2-git-2.28-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-2.7.2-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-3.0.0-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34: *build_and_deploy_custom # Used by www-gitlab-com's rspec job: https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/.gitlab-ci.yml ruby-2.6.5-git-2.28-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1: *build_and_deploy_custom diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index 843cb19..6ff73bd 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -152,6 +152,7 @@ function print_node_args() { 10.x) NODE_INSTALL_VERSION=10.16.0 ;; 12.x) NODE_INSTALL_VERSION=12.4.0 ;; 12.18) NODE_INSTALL_VERSION=12.18.4 ;; + 14.15) NODE_INSTALL_VERSION=14.15.4 ;; *) echo "Unknown node version $1"; exit 1; esac printf -- "--build-arg NODE_INSTALL_VERSION=%s " "$NODE_INSTALL_VERSION" From 172a4ac8e7287daa2999156826f280afb91dc65e Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Thu, 28 Jan 2021 04:45:18 +0000 Subject: [PATCH 004/109] Update Ruby 2.6 to 2.7 in www-gitlab-com image Drops Ruby 2.4 test and build. Signed-off-by: Takuya Noguchi --- .gitlab-ci.yml | 4 ++-- Dockerfile.www-gitlab-com-2.4 | 10 ---------- Dockerfile.www-gitlab-com-2.6 | 10 ---------- Dockerfile.www-gitlab-com-2.7 | 17 +++++++++++++++++ scripts/install-www-gitlab-com | 20 ++++++-------------- 5 files changed, 25 insertions(+), 36 deletions(-) delete mode 100644 Dockerfile.www-gitlab-com-2.4 delete mode 100644 Dockerfile.www-gitlab-com-2.6 create mode 100644 Dockerfile.www-gitlab-com-2.7 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ec52c0b..d7b3eba 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -121,7 +121,7 @@ omnibus-gitlab-cve-search test: *test_build release-tools test: *test_build sitespeed-gitlab test: *test_build ubi-release test: *test_build -www-gitlab-com-2.6 test: *test_build +www-gitlab-com-2.7 test: *test_build build-git: *test_build terraform test: *test_build # Used by go projects for linting https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/go_guide/index.md#automatic-linting @@ -195,7 +195,7 @@ omnibus-gitlab-cve-search: *build_and_deploy release-tools: *build_and_deploy sitespeed-gitlab: *build_and_deploy ubi-release: *build_and_deploy -www-gitlab-com-2.6: *build_and_deploy +www-gitlab-com-2.7: *build_and_deploy build-git: *build_and_deploy terraform: *build_and_deploy # Used by go projects for linting https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/go_guide/index.md#automatic-linting diff --git a/Dockerfile.www-gitlab-com-2.4 b/Dockerfile.www-gitlab-com-2.4 deleted file mode 100644 index f85d945..0000000 --- a/Dockerfile.www-gitlab-com-2.4 +++ /dev/null @@ -1,10 +0,0 @@ -FROM ruby:2.4-slim - -ADD /scripts/ /scripts/ -RUN /scripts/install-www-gitlab-com - -# Set UTF-8 http://jaredmarkell.com/docker-and-locales/ -# Must be set after install-essentials is run -ENV LANG en_US.UTF-8 -ENV LANGUAGE en_US:en -ENV LC_ALL en_US.UTF-8 diff --git a/Dockerfile.www-gitlab-com-2.6 b/Dockerfile.www-gitlab-com-2.6 deleted file mode 100644 index 27d59b1..0000000 --- a/Dockerfile.www-gitlab-com-2.6 +++ /dev/null @@ -1,10 +0,0 @@ -FROM ruby:2.6.6-slim-stretch - -ADD /scripts/ /scripts/ -RUN /scripts/install-www-gitlab-com - -# Set UTF-8 http://jaredmarkell.com/docker-and-locales/ -# Must be set after install-essentials is run -ENV LANG en_US.UTF-8 -ENV LANGUAGE en_US:en -ENV LC_ALL en_US.UTF-8 diff --git a/Dockerfile.www-gitlab-com-2.7 b/Dockerfile.www-gitlab-com-2.7 new file mode 100644 index 0000000..0cc58cc --- /dev/null +++ b/Dockerfile.www-gitlab-com-2.7 @@ -0,0 +1,17 @@ +FROM gcr.io/google.com/cloudsdktool/cloud-sdk as gcloud-sdk + +FROM ruby:2.7.2-slim + +ADD /scripts/ /scripts/ +RUN /scripts/install-www-gitlab-com + +# Install Google Cloud SDK for deploys via rsync +COPY --from=gcloud-sdk /usr/lib/google-cloud-sdk /usr/lib/google-cloud-sdk +COPY --from=gcloud-sdk /usr/share/google-cloud-sdk /usr/share/google-cloud-sdk +RUN cd /usr/bin && find ../lib/google-cloud-sdk/bin -type f exec ln -s {} \;; cd - + +# Set UTF-8 http://jaredmarkell.com/docker-and-locales/ +# Must be set after install-essentials is run +ENV LANG en_US.UTF-8 +ENV LANGUAGE en_US:en +ENV LC_ALL en_US.UTF-8 diff --git a/scripts/install-www-gitlab-com b/scripts/install-www-gitlab-com index 9d57f79..7dc822e 100755 --- a/scripts/install-www-gitlab-com +++ b/scripts/install-www-gitlab-com @@ -5,13 +5,15 @@ IFS=$'\n\t' export DEBIAN_FRONTEND=noninteractive +# echo "deb http://deb.debian.org/debian testing main" | tee -a /etc/apt/sources.list.d/testing.list # Install LaTeX and other packages apt-get update apt-get install -yq --no-install-recommends \ make gcc g++ locales \ rsync git-core texlive-latex-recommended texlive-xetex \ texlive-fonts-recommended lmodern ed file curl gnupg2 \ - unzip + unzip \ + python3 python3-pip python3-crcmod # Install pandoc cd /tmp @@ -20,12 +22,6 @@ tar xvf pandoc-2.3.1-linux.tar.gz cp pandoc-2.3.1/bin/* /usr/local/bin rm -rf /tmp/pandoc* -# Install Google Cloud SDK for deploys via rsync -echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list -curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - -apt-get update -apt-get install -yq --no-install-recommends google-cloud-sdk python-crcmod python3-crcmod - # Install Imagemagick for cropping the pictures on the team page apt-get install -yq --no-install-recommends imagemagick @@ -35,15 +31,11 @@ YARN_INSTALL_VERSION=1.21.1-1 /scripts/install-node $NODE_INSTALL_VERSION $YARN_INSTALL_VERSION && node --version && yarn --version # Install yamllint -# We need the latest version -# https://packages.debian.org/testing/yamllint +# We need version 1.25.0+: https://github.com/adrienverge/yamllint/blob/master/CHANGELOG.rst YAMLLINT_VERSION=1.25.0 -echo "deb http://deb.debian.org/debian testing main" | tee -a /etc/apt/sources.list.d/testing.list -apt update -# Fix for immediate configuration error - https://gitlab.com/gitlab-org/gitlab-build-images/-/merge_requests/332 -apt -t testing install -o APT::Immediate-Configure=false -yq libcrypt1 -apt -t testing install -yq yamllint=${YAMLLINT_VERSION}-1 +# Temporarily pin pyyaml and pathspec to reduce compatibility with packages from Debian bullseye (testing) +pip3 install yamllint==${YAMLLINT_VERSION} pyyaml==5.4.1 pathspec==0.8.1 # Install gitlab-runner curl -O -J -L https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-ci-multi-runner-linux-amd64 From 5c3d523a7eeee13ec239f3982e648af66ec15643 Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Sun, 31 Jan 2021 12:06:26 +0000 Subject: [PATCH 005/109] Update install script of gcloud for www-gitlab-com Signed-off-by: Takuya Noguchi --- Dockerfile.www-gitlab-com-2.7 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.www-gitlab-com-2.7 b/Dockerfile.www-gitlab-com-2.7 index 0cc58cc..bebe774 100644 --- a/Dockerfile.www-gitlab-com-2.7 +++ b/Dockerfile.www-gitlab-com-2.7 @@ -8,7 +8,7 @@ RUN /scripts/install-www-gitlab-com # Install Google Cloud SDK for deploys via rsync COPY --from=gcloud-sdk /usr/lib/google-cloud-sdk /usr/lib/google-cloud-sdk COPY --from=gcloud-sdk /usr/share/google-cloud-sdk /usr/share/google-cloud-sdk -RUN cd /usr/bin && find ../lib/google-cloud-sdk/bin -type f exec ln -s {} \;; cd - +RUN cd /usr/bin && find ../lib/google-cloud-sdk/bin -type f -executable -exec ln -s {} \;; cd - # Set UTF-8 http://jaredmarkell.com/docker-and-locales/ # Must be set after install-essentials is run From d25cb1006751eb424ef7ad77938633a74eccf16b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Fri, 22 Jan 2021 12:02:46 +0100 Subject: [PATCH 006/109] Apply thread allocations patch to Ruby 2.7 This makes us to compile Ruby 2.7 manually and apply relevant patch. --- .gitlab-ci.yml | 1 + Dockerfile.custom | 6 +++++ scripts/custom-docker-build | 45 +++++++++++++++++++------------- scripts/install-ruby | 52 +++++++++++++++++++++++++++++++------ 4 files changed, 78 insertions(+), 26 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d7b3eba..abcaf25 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,6 +5,7 @@ default: before_script: - docker login -u "gitlab-ci-token" -p "$CI_JOB_TOKEN" "$CI_REGISTRY" - source scripts/build-helpers.sh + - apk add -U bash tags: - gitlab-org-docker diff --git a/Dockerfile.custom b/Dockerfile.custom index c44c031..2b6c8bf 100644 --- a/Dockerfile.custom +++ b/Dockerfile.custom @@ -13,6 +13,12 @@ RUN /scripts/install-essentials ENV PATH $PATH:/usr/local/go/bin +# Ruby +ARG RUBY_VERSION +ARG RUBY_DOWNLOAD_SHA256 + +RUN if [ -n "$RUBY_VERSION" ]; then /scripts/install-ruby $RUBY_VERSION $RUBY_DOWNLOAD_SHA256 && ruby --version; fi + # Git ARG GIT_VERSION ARG GIT_DOWNLOAD_URL diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index 6ff73bd..02ca47f 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash set -e IFS=$'\n\t' @@ -228,29 +228,38 @@ function print_pgbouncer_args() { printf -- "--build-arg PGBOUNCER_DOWNLOAD_SHA256=%s " "$PGBOUNCER_DOWNLOAD_SHA256" } -function parse_arguments() { - read base - read base_version +function print_ruby_args() { + case "$1" in + 2.6.*) + CUSTOM_IMAGE_NAME=debian + CUSTOM_IMAGE_VERSION=stretch + RUBY_VERSION="2.6.6" + RUBY_DOWNLOAD_SHA256="5db187882b7ac34016cd48d7032e197f07e4968f406b0690e20193b9b424841f" + ;; - # Lock Ruby to Debian version to pin OpenSSL version - case "$base" in - ruby) - case "$base_version" in - 2.6.*) - base_version="$base_version-stretch" - ;; - *) - base_version="$base_version-buster" - ;; - esac + 2.7.*) + CUSTOM_IMAGE_NAME=debian + CUSTOM_IMAGE_VERSION=buster + RUBY_VERSION="2.7.2" + RUBY_DOWNLOAD_SHA256="1b95ab193cc8f5b5e59d2686cb3d5dcf1ddf2a86cb6950e0b4bdaae5040ec0d6" + ;; + + *) echo "Unknown ruby version $1"; exit 1; esac - printf -- "-f Dockerfile.custom " "$base" - printf -- "--build-arg CUSTOM_IMAGE_NAME=%s " "$base" - printf -- "--build-arg CUSTOM_IMAGE_VERSION=%s " "$base_version" + printf -- "--build-arg CUSTOM_IMAGE_NAME=%s " "$CUSTOM_IMAGE_NAME" + printf -- "--build-arg CUSTOM_IMAGE_VERSION=%s " "$CUSTOM_IMAGE_VERSION" + printf -- "--build-arg RUBY_VERSION=%s " "$RUBY_VERSION" + printf -- "--build-arg RUBY_DOWNLOAD_SHA256=%s " "$RUBY_DOWNLOAD_SHA256" +} + +function parse_arguments() { + printf -- "-f Dockerfile.custom " + while read image; do read version case "$image" in + ruby) print_ruby_args $version ;; golang) print_golang_args $version ;; chrome) print_chrome_args $version ;; docker) print_docker_args $version ;; diff --git a/scripts/install-ruby b/scripts/install-ruby index 7aa1212..5a8a3d6 100755 --- a/scripts/install-ruby +++ b/scripts/install-ruby @@ -1,14 +1,50 @@ #!/bin/bash -set -xeuo pipefail -IFS=$'\n\t' -cd /tmp -wget http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.2.tar.gz -tar -xvzf ruby-2.2.2.tar.gz +set -xeou pipefail -cd ruby-2.2.2 +# Based on https://github.com/docker-library/ruby/blob/master/2.7/buster/Dockerfile + +RUBY_VERSION=${1} +RUBY_MAJOR=${1%.*} # strip last component +RUBY_DOWNLOAD_SHA256=${2} + +RUBY_DOWNLOAD_URL="https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" + +# Download Ruby +curl -fsSL "$RUBY_DOWNLOAD_URL" -o ruby.tar.xz +echo "${RUBY_DOWNLOAD_SHA256} ruby.tar.xz" | sha256sum -c - + +# Skip installing Gem docs +mkdir -p /usr/local/etc +echo 'install: --no-document' >> /usr/local/etc/gemrc +echo 'update: --no-document' >> /usr/local/etc/gemrc + +# Install needed packages +apt-get update +apt-get install -y --no-install-recommends bison dpkg-dev libgdbm-dev ruby + +# Unpack Ruby +mkdir -p /usr/src/ruby +tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1 +rm ruby.tar.xz +cd /usr/src/ruby + +# Apply patches +find /patches/ruby/$RUBY_VERSION -name '*.patch' -print0 | xargs -0 -n1 patch -p1 -i ./configure --enable-shared --disable-install-doc --disable-install-rdoc --disable-install-capi -make install -j 3 +make install -j $(nproc) +# Cleanup cd / -rm -rf /tmp/* +rm -rf /usr/src/ruby +apt-get purge -y --auto-remove ruby + +# Verify +# verify we have no "ruby" packages installed +! dpkg -l | grep -i ruby +[ "$(command -v ruby)" = '/usr/local/bin/ruby' ] + +# rough smoke test +ruby --version +gem --version +bundle --version From 0b0a3b745aca397bc67998246e1d03a41bc8708c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Mon, 1 Feb 2021 14:20:08 +0100 Subject: [PATCH 007/109] Add missing patch --- .../2.7/thread-memory-allocations-2.7.patch | 258 ++++++++++++++++++ 1 file changed, 258 insertions(+) create mode 100644 patches/ruby/2.7/thread-memory-allocations-2.7.patch diff --git a/patches/ruby/2.7/thread-memory-allocations-2.7.patch b/patches/ruby/2.7/thread-memory-allocations-2.7.patch new file mode 100644 index 0000000..ca0a87e --- /dev/null +++ b/patches/ruby/2.7/thread-memory-allocations-2.7.patch @@ -0,0 +1,258 @@ +From 97f14ebfd8d24d71e10c450e0a90b6322f9c0d59 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= +Date: Tue, 22 Dec 2020 15:33:08 +0100 +Subject: [PATCH] Expose `Thread#memory_allocations` counters + +This provides currently a per-thread GC heap slots +and malloc allocations statistics. + +This is designed to measure a memory allocations +in a multi-threaded environments (concurrent requests +processing) with an accurate information about allocated +memory within a given execution context. + +Example: Measure memory pressure generated by a given +requests to easier find requests with a lot of allocations. + +Ref: https://gitlab.com/gitlab-org/gitlab/-/issues/296530 +--- + gc.c | 20 ++++++ + .../test_thread_trace_memory_allocations.rb | 67 +++++++++++++++++++ + thread.c | 55 +++++++++++++++ + vm_core.h | 17 +++++ + 4 files changed, 159 insertions(+) + create mode 100644 test/ruby/test_thread_trace_memory_allocations.rb + +diff --git a/gc.c b/gc.c +index 73faf46b128b..f2dcd2935052 100644 +--- a/gc.c ++++ b/gc.c +@@ -2172,6 +2172,13 @@ newobj_init(VALUE klass, VALUE flags, VALUE v1, VALUE v2, VALUE v3, int wb_prote + GC_ASSERT(!SPECIAL_CONST_P(obj)); /* check alignment */ + #endif + ++#if THREAD_TRACE_MEMORY_ALLOCATIONS ++ rb_thread_t *th = ruby_threadptr_for_trace_memory_allocations(); ++ if (th) { ++ ATOMIC_SIZE_INC(th->memory_allocations.total_allocated_objects); ++ } ++#endif ++ + objspace->total_allocated_objects++; + + gc_report(5, objspace, "newobj: %s\n", obj_info(obj)); +@@ -9732,6 +9739,19 @@ objspace_malloc_increase(rb_objspace_t *objspace, void *mem, size_t new_size, si + #endif + } + ++#if THREAD_TRACE_MEMORY_ALLOCATIONS ++ rb_thread_t *th = ruby_threadptr_for_trace_memory_allocations(); ++ if (th) { ++ if (new_size > old_size) { ++ ATOMIC_SIZE_ADD(th->memory_allocations.total_malloc_bytes, new_size - old_size); ++ } ++ ++ if (type == MEMOP_TYPE_MALLOC) { ++ ATOMIC_SIZE_INC(th->memory_allocations.total_mallocs); ++ } ++ } ++#endif ++ + if (type == MEMOP_TYPE_MALLOC) { + retry: + if (malloc_increase > malloc_limit && ruby_native_thread_p() && !dont_gc) { +diff --git a/test/ruby/test_thread_trace_memory_allocations.rb b/test/ruby/test_thread_trace_memory_allocations.rb +new file mode 100644 +index 000000000000..2e281513578b +--- /dev/null ++++ b/test/ruby/test_thread_trace_memory_allocations.rb +@@ -0,0 +1,67 @@ ++# frozen_string_literal: true ++ ++require 'test/unit' ++ ++class TestThreadTraceMemoryAllocations < Test::Unit::TestCase ++ def test_disabled_trace_memory_allocations ++ Thread.trace_memory_allocations = false ++ ++ assert_predicate Thread.current.memory_allocations, :nil? ++ end ++ ++ def test_enabled_trace_memory_allocations ++ Thread.trace_memory_allocations = true ++ ++ assert_not_nil(Thread.current.memory_allocations) ++ end ++ ++ def test_only_this_thread_allocations_are_counted ++ changed = { ++ total_allocated_objects: 1000, ++ total_malloc_bytes: 1_000_000, ++ total_mallocs: 100 ++ } ++ ++ Thread.trace_memory_allocations = true ++ ++ assert_less_than(changed) do ++ Thread.new do ++ assert_greater_than(changed) do ++ # This will allocate: 5k objects, 5k mallocs, 5MB ++ allocate(5000, 1000) ++ end ++ end.join ++ ++ # This will allocate: 50 objects, 50 mallocs, 500 bytes ++ allocate(50, 10) ++ end ++ end ++ ++ private ++ ++ def allocate(slots, bytes) ++ Array.new(slots).map do ++ '0' * bytes ++ end ++ end ++ ++ def assert_greater_than(keys) ++ before = Thread.current.memory_allocations ++ yield ++ after = Thread.current.memory_allocations ++ ++ keys.each do |key, by| ++ assert_operator(by, :<=, after[key]-before[key], "expected the #{key} to change more than #{by}") ++ end ++ end ++ ++ def assert_less_than(keys) ++ before = Thread.current.memory_allocations ++ yield ++ after = Thread.current.memory_allocations ++ ++ keys.each do |key, by| ++ assert_operator(by, :>, after[key]-before[key], "expected the #{key} to change less than #{by}") ++ end ++ end ++end +diff --git a/thread.c b/thread.c +index 708aaa471d99..d68a59e9f2d6 100644 +--- a/thread.c ++++ b/thread.c +@@ -5143,6 +5143,55 @@ rb_thread_backtrace_locations_m(int argc, VALUE *argv, VALUE thval) + return rb_vm_thread_backtrace_locations(argc, argv, thval); + } + ++#if THREAD_TRACE_MEMORY_ALLOCATIONS ++rb_thread_t * ++ruby_threadptr_for_trace_memory_allocations(void) ++{ ++ // The order of this checks is important due ++ // to how Ruby VM is initialized ++ if (GET_VM()->thread_trace_memory_allocations && GET_EC() != NULL) { ++ return GET_THREAD(); ++ } ++ ++ return NULL; ++} ++ ++static VALUE ++rb_thread_s_trace_memory_allocations(VALUE _) ++{ ++ return GET_THREAD()->vm->thread_trace_memory_allocations ? Qtrue : Qfalse; ++} ++ ++static VALUE ++rb_thread_s_trace_memory_allocations_set(VALUE self, VALUE val) ++{ ++ GET_THREAD()->vm->thread_trace_memory_allocations = RTEST(val); ++ return val; ++} ++ ++static VALUE ++rb_thread_memory_allocations(VALUE self) ++{ ++ rb_thread_t *th = rb_thread_ptr(self); ++ ++ if (!th->vm->thread_trace_memory_allocations) { ++ return Qnil; ++ } ++ ++ VALUE ret = rb_hash_new(); ++ ++ VALUE total_allocated_objects = ID2SYM(rb_intern_const("total_allocated_objects")); ++ VALUE total_malloc_bytes = ID2SYM(rb_intern_const("total_malloc_bytes")); ++ VALUE total_mallocs = ID2SYM(rb_intern_const("total_mallocs")); ++ ++ rb_hash_aset(ret, total_allocated_objects, SIZET2NUM(th->memory_allocations.total_allocated_objects)); ++ rb_hash_aset(ret, total_malloc_bytes, SIZET2NUM(th->memory_allocations.total_malloc_bytes)); ++ rb_hash_aset(ret, total_mallocs, SIZET2NUM(th->memory_allocations.total_mallocs)); ++ ++ return ret; ++} ++#endif ++ + /* + * Document-class: ThreadError + * +@@ -5230,6 +5279,12 @@ Init_Thread(void) + rb_define_method(rb_cThread, "to_s", rb_thread_to_s, 0); + rb_define_alias(rb_cThread, "inspect", "to_s"); + ++#if THREAD_TRACE_MEMORY_ALLOCATIONS ++ rb_define_singleton_method(rb_cThread, "trace_memory_allocations", rb_thread_s_trace_memory_allocations, 0); ++ rb_define_singleton_method(rb_cThread, "trace_memory_allocations=", rb_thread_s_trace_memory_allocations_set, 1); ++ rb_define_method(rb_cThread, "memory_allocations", rb_thread_memory_allocations, 0); ++#endif ++ + rb_vm_register_special_exception(ruby_error_stream_closed, rb_eIOError, + "stream closed in another thread"); + +diff --git a/vm_core.h b/vm_core.h +index 12c3ac377551..63cdf55fa6ed 100644 +--- a/vm_core.h ++++ b/vm_core.h +@@ -69,6 +69,13 @@ + # define VM_INSN_INFO_TABLE_IMPL 2 + #endif + ++/* ++ * track a per thread memory allocations ++ */ ++#ifndef THREAD_TRACE_MEMORY_ALLOCATIONS ++# define THREAD_TRACE_MEMORY_ALLOCATIONS 1 ++#endif ++ + #include "ruby/ruby.h" + #include "ruby/st.h" + +@@ -602,6 +609,7 @@ typedef struct rb_vm_struct { + unsigned int running: 1; + unsigned int thread_abort_on_exception: 1; + unsigned int thread_report_on_exception: 1; ++ unsigned int thread_trace_memory_allocations: 1; + + unsigned int safe_level_: 1; + int sleeper; +@@ -960,6 +968,14 @@ typedef struct rb_thread_struct { + + rb_thread_list_t *join_list; + ++#if THREAD_TRACE_MEMORY_ALLOCATIONS ++ struct { ++ size_t total_allocated_objects; ++ size_t total_malloc_bytes; ++ size_t total_mallocs; ++ } memory_allocations; ++#endif ++ + union { + struct { + VALUE proc; +@@ -1852,6 +1868,7 @@ void rb_threadptr_interrupt(rb_thread_t *th); + void rb_threadptr_unlock_all_locking_mutexes(rb_thread_t *th); + void rb_threadptr_pending_interrupt_clear(rb_thread_t *th); + void rb_threadptr_pending_interrupt_enque(rb_thread_t *th, VALUE v); ++rb_thread_t *ruby_threadptr_for_trace_memory_allocations(void); + VALUE rb_ec_get_errinfo(const rb_execution_context_t *ec); + void rb_ec_error_print(rb_execution_context_t * volatile ec, volatile VALUE errinfo); + void rb_execution_context_update(const rb_execution_context_t *ec); From f0bf9d8f0c39ca3370b0a53c4fee1e23c0ef9fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Mon, 1 Feb 2021 14:20:08 +0100 Subject: [PATCH 008/109] Fix support for Ruby versions --- .../thread-memory-allocations-2.7.patch | 0 .../3.0.0/thread-memory-allocations-3.0.patch | 258 ++++++++++++++++++ scripts/custom-docker-build | 15 +- scripts/install-ruby | 10 +- 4 files changed, 274 insertions(+), 9 deletions(-) rename patches/ruby/{2.7 => 2.7.2}/thread-memory-allocations-2.7.patch (100%) create mode 100644 patches/ruby/3.0.0/thread-memory-allocations-3.0.patch diff --git a/patches/ruby/2.7/thread-memory-allocations-2.7.patch b/patches/ruby/2.7.2/thread-memory-allocations-2.7.patch similarity index 100% rename from patches/ruby/2.7/thread-memory-allocations-2.7.patch rename to patches/ruby/2.7.2/thread-memory-allocations-2.7.patch diff --git a/patches/ruby/3.0.0/thread-memory-allocations-3.0.patch b/patches/ruby/3.0.0/thread-memory-allocations-3.0.patch new file mode 100644 index 0000000..ba3a743 --- /dev/null +++ b/patches/ruby/3.0.0/thread-memory-allocations-3.0.patch @@ -0,0 +1,258 @@ +From 97f14ebfd8d24d71e10c450e0a90b6322f9c0d59 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= +Date: Tue, 22 Dec 2020 15:33:08 +0100 +Subject: [PATCH] Expose `Thread#memory_allocations` counters + +This provides currently a per-thread GC heap slots +and malloc allocations statistics. + +This is designed to measure a memory allocations +in a multi-threaded environments (concurrent requests +processing) with an accurate information about allocated +memory within a given execution context. + +Example: Measure memory pressure generated by a given +requests to easier find requests with a lot of allocations. + +Ref: https://gitlab.com/gitlab-org/gitlab/-/issues/296530 +--- + gc.c | 20 ++++++ + .../test_thread_trace_memory_allocations.rb | 67 +++++++++++++++++++ + thread.c | 55 +++++++++++++++ + vm_core.h | 17 +++++ + 4 files changed, 159 insertions(+) + create mode 100644 test/ruby/test_thread_trace_memory_allocations.rb + +diff --git a/gc.c b/gc.c +index 27cf65b196a3..280c62fbe341 100644 +--- a/gc.c ++++ b/gc.c +@@ -2123,6 +2123,13 @@ newobj_init(VALUE klass, VALUE flags, int wb_protected, rb_objspace_t *objspace, + // TODO: make it atomic, or ractor local + objspace->total_allocated_objects++; + ++#if THREAD_TRACE_MEMORY_ALLOCATIONS ++ rb_thread_t *th = ruby_threadptr_for_trace_memory_allocations(); ++ if (th) { ++ ATOMIC_SIZE_INC(th->memory_allocations.total_allocated_objects); ++ } ++#endif ++ + #if RGENGC_PROFILE + if (wb_protected) { + objspace->profile.total_generated_normal_object_count++; +@@ -10487,6 +10494,19 @@ objspace_malloc_increase(rb_objspace_t *objspace, void *mem, size_t new_size, si + #endif + } + ++#if THREAD_TRACE_MEMORY_ALLOCATIONS ++ rb_thread_t *th = ruby_threadptr_for_trace_memory_allocations(); ++ if (th) { ++ if (new_size > old_size) { ++ ATOMIC_SIZE_ADD(th->memory_allocations.total_malloc_bytes, new_size - old_size); ++ } ++ ++ if (type == MEMOP_TYPE_MALLOC) { ++ ATOMIC_SIZE_INC(th->memory_allocations.total_mallocs); ++ } ++ } ++#endif ++ + if (type == MEMOP_TYPE_MALLOC) { + retry: + if (malloc_increase > malloc_limit && ruby_native_thread_p() && !dont_gc_val()) { +diff --git a/test/ruby/test_thread_trace_memory_allocations.rb b/test/ruby/test_thread_trace_memory_allocations.rb +new file mode 100644 +index 000000000000..2e281513578b +--- /dev/null ++++ b/test/ruby/test_thread_trace_memory_allocations.rb +@@ -0,0 +1,67 @@ ++# frozen_string_literal: true ++ ++require 'test/unit' ++ ++class TestThreadTraceMemoryAllocations < Test::Unit::TestCase ++ def test_disabled_trace_memory_allocations ++ Thread.trace_memory_allocations = false ++ ++ assert_predicate Thread.current.memory_allocations, :nil? ++ end ++ ++ def test_enabled_trace_memory_allocations ++ Thread.trace_memory_allocations = true ++ ++ assert_not_nil(Thread.current.memory_allocations) ++ end ++ ++ def test_only_this_thread_allocations_are_counted ++ changed = { ++ total_allocated_objects: 1000, ++ total_malloc_bytes: 1_000_000, ++ total_mallocs: 100 ++ } ++ ++ Thread.trace_memory_allocations = true ++ ++ assert_less_than(changed) do ++ Thread.new do ++ assert_greater_than(changed) do ++ # This will allocate: 5k objects, 5k mallocs, 5MB ++ allocate(5000, 1000) ++ end ++ end.join ++ ++ # This will allocate: 50 objects, 50 mallocs, 500 bytes ++ allocate(50, 10) ++ end ++ end ++ ++ private ++ ++ def allocate(slots, bytes) ++ Array.new(slots).map do ++ '0' * bytes ++ end ++ end ++ ++ def assert_greater_than(keys) ++ before = Thread.current.memory_allocations ++ yield ++ after = Thread.current.memory_allocations ++ ++ keys.each do |key, by| ++ assert_operator(by, :<=, after[key]-before[key], "expected the #{key} to change more than #{by}") ++ end ++ end ++ ++ def assert_less_than(keys) ++ before = Thread.current.memory_allocations ++ yield ++ after = Thread.current.memory_allocations ++ ++ keys.each do |key, by| ++ assert_operator(by, :>, after[key]-before[key], "expected the #{key} to change less than #{by}") ++ end ++ end ++end +diff --git a/thread.c b/thread.c +index dce181d24e02..247440766cdf 100644 +--- a/thread.c ++++ b/thread.c +@@ -5412,6 +5412,55 @@ Init_Thread_Mutex(void) + rb_native_mutex_initialize(&th->interrupt_lock); + } + ++#if THREAD_TRACE_MEMORY_ALLOCATIONS ++rb_thread_t * ++ruby_threadptr_for_trace_memory_allocations(void) ++{ ++ // The order of this checks is important due ++ // to how Ruby VM is initialized ++ if (GET_VM()->thread_trace_memory_allocations && GET_EC() != NULL) { ++ return GET_THREAD(); ++ } ++ ++ return NULL; ++} ++ ++static VALUE ++rb_thread_s_trace_memory_allocations(VALUE _) ++{ ++ return GET_THREAD()->vm->thread_trace_memory_allocations ? Qtrue : Qfalse; ++} ++ ++static VALUE ++rb_thread_s_trace_memory_allocations_set(VALUE self, VALUE val) ++{ ++ GET_THREAD()->vm->thread_trace_memory_allocations = RTEST(val); ++ return val; ++} ++ ++static VALUE ++rb_thread_memory_allocations(VALUE self) ++{ ++ rb_thread_t *th = rb_thread_ptr(self); ++ ++ if (!th->vm->thread_trace_memory_allocations) { ++ return Qnil; ++ } ++ ++ VALUE ret = rb_hash_new(); ++ ++ VALUE total_allocated_objects = ID2SYM(rb_intern_const("total_allocated_objects")); ++ VALUE total_malloc_bytes = ID2SYM(rb_intern_const("total_malloc_bytes")); ++ VALUE total_mallocs = ID2SYM(rb_intern_const("total_mallocs")); ++ ++ rb_hash_aset(ret, total_allocated_objects, SIZET2NUM(th->memory_allocations.total_allocated_objects)); ++ rb_hash_aset(ret, total_malloc_bytes, SIZET2NUM(th->memory_allocations.total_malloc_bytes)); ++ rb_hash_aset(ret, total_mallocs, SIZET2NUM(th->memory_allocations.total_mallocs)); ++ ++ return ret; ++} ++#endif ++ + /* + * Document-class: ThreadError + * +@@ -5497,6 +5546,12 @@ Init_Thread(void) + rb_define_method(rb_cThread, "to_s", rb_thread_to_s, 0); + rb_define_alias(rb_cThread, "inspect", "to_s"); + ++#if THREAD_TRACE_MEMORY_ALLOCATIONS ++ rb_define_singleton_method(rb_cThread, "trace_memory_allocations", rb_thread_s_trace_memory_allocations, 0); ++ rb_define_singleton_method(rb_cThread, "trace_memory_allocations=", rb_thread_s_trace_memory_allocations_set, 1); ++ rb_define_method(rb_cThread, "memory_allocations", rb_thread_memory_allocations, 0); ++#endif ++ + rb_vm_register_special_exception(ruby_error_stream_closed, rb_eIOError, + "stream closed in another thread"); + +diff --git a/vm_core.h b/vm_core.h +index 5f8d4ab87670..ac15f72fa25b 100644 +--- a/vm_core.h ++++ b/vm_core.h +@@ -97,6 +97,13 @@ + # define VM_INSN_INFO_TABLE_IMPL 2 + #endif + ++/* ++ * track a per thread memory allocations ++ */ ++#ifndef THREAD_TRACE_MEMORY_ALLOCATIONS ++# define THREAD_TRACE_MEMORY_ALLOCATIONS 1 ++#endif ++ + #if defined(NSIG_MAX) /* POSIX issue 8 */ + # undef NSIG + # define NSIG NSIG_MAX +@@ -606,6 +613,7 @@ typedef struct rb_vm_struct { + unsigned int thread_abort_on_exception: 1; + unsigned int thread_report_on_exception: 1; + unsigned int thread_ignore_deadlock: 1; ++ unsigned int thread_trace_memory_allocations: 1; + + /* object management */ + VALUE mark_object_ary; +@@ -981,6 +989,14 @@ typedef struct rb_thread_struct { + + struct rb_waiting_list *join_list; + ++#if THREAD_TRACE_MEMORY_ALLOCATIONS ++ struct { ++ size_t total_allocated_objects; ++ size_t total_malloc_bytes; ++ size_t total_mallocs; ++ } memory_allocations; ++#endif ++ + union { + struct { + VALUE proc; +@@ -1901,6 +1917,7 @@ void rb_threadptr_interrupt(rb_thread_t *th); + void rb_threadptr_unlock_all_locking_mutexes(rb_thread_t *th); + void rb_threadptr_pending_interrupt_clear(rb_thread_t *th); + void rb_threadptr_pending_interrupt_enque(rb_thread_t *th, VALUE v); ++rb_thread_t *ruby_threadptr_for_trace_memory_allocations(void); + VALUE rb_ec_get_errinfo(const rb_execution_context_t *ec); + void rb_ec_error_print(rb_execution_context_t * volatile ec, volatile VALUE errinfo); + void rb_execution_context_update(const rb_execution_context_t *ec); diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index 02ca47f..ba3dbf8 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -230,18 +230,25 @@ function print_pgbouncer_args() { function print_ruby_args() { case "$1" in - 2.6.*) + 2.6|2.6.*) CUSTOM_IMAGE_NAME=debian CUSTOM_IMAGE_VERSION=stretch RUBY_VERSION="2.6.6" - RUBY_DOWNLOAD_SHA256="5db187882b7ac34016cd48d7032e197f07e4968f406b0690e20193b9b424841f" + RUBY_DOWNLOAD_SHA256="364b143def360bac1b74eb56ed60b1a0dca6439b00157ae11ff77d5cd2e92291" ;; - 2.7.*) + 2.7|2.7.*) CUSTOM_IMAGE_NAME=debian CUSTOM_IMAGE_VERSION=buster RUBY_VERSION="2.7.2" - RUBY_DOWNLOAD_SHA256="1b95ab193cc8f5b5e59d2686cb3d5dcf1ddf2a86cb6950e0b4bdaae5040ec0d6" + RUBY_DOWNLOAD_SHA256="6e5706d0d4ee4e1e2f883db9d768586b4d06567debea353c796ec45e8321c3d4" + ;; + + 3.0|3.0.*) + CUSTOM_IMAGE_NAME=debian + CUSTOM_IMAGE_VERSION=buster + RUBY_VERSION="3.0.0" + RUBY_DOWNLOAD_SHA256="a13ed141a1c18eb967aac1e33f4d6ad5f21be1ac543c344e0d6feeee54af8e28" ;; *) echo "Unknown ruby version $1"; exit 1; diff --git a/scripts/install-ruby b/scripts/install-ruby index 5a8a3d6..90fd24d 100755 --- a/scripts/install-ruby +++ b/scripts/install-ruby @@ -8,11 +8,11 @@ RUBY_VERSION=${1} RUBY_MAJOR=${1%.*} # strip last component RUBY_DOWNLOAD_SHA256=${2} -RUBY_DOWNLOAD_URL="https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" +RUBY_DOWNLOAD_URL="https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.gz" # Download Ruby -curl -fsSL "$RUBY_DOWNLOAD_URL" -o ruby.tar.xz -echo "${RUBY_DOWNLOAD_SHA256} ruby.tar.xz" | sha256sum -c - +curl -fsSL "$RUBY_DOWNLOAD_URL" -o ruby.tar.gz +echo "${RUBY_DOWNLOAD_SHA256} ruby.tar.gz" | sha256sum -c - # Skip installing Gem docs mkdir -p /usr/local/etc @@ -25,12 +25,12 @@ apt-get install -y --no-install-recommends bison dpkg-dev libgdbm-dev ruby # Unpack Ruby mkdir -p /usr/src/ruby -tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1 +tar -xzf ruby.tar.gz -C /usr/src/ruby --strip-components=1 rm ruby.tar.xz cd /usr/src/ruby # Apply patches -find /patches/ruby/$RUBY_VERSION -name '*.patch' -print0 | xargs -0 -n1 patch -p1 -i +find "/patches/ruby/$RUBY_VERSION" -name '*.patch' | xargs -rpn1 patch -p1 -i ./configure --enable-shared --disable-install-doc --disable-install-rdoc --disable-install-capi make install -j $(nproc) From 255e47d8874861e2d80cebbd28d208c45cd61d9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Mon, 1 Feb 2021 14:20:08 +0100 Subject: [PATCH 009/109] Fix `node-10` support --- scripts/custom-docker-build | 24 +++++++++++++----------- scripts/install-ruby | 2 +- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index ba3dbf8..a3b60ff 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -148,11 +148,11 @@ function print_lfs_args() { function print_node_args() { case "$1" in - 8.x) NODE_INSTALL_VERSION=8.16.0 ;; - 10.x) NODE_INSTALL_VERSION=10.16.0 ;; - 12.x) NODE_INSTALL_VERSION=12.4.0 ;; - 12.18) NODE_INSTALL_VERSION=12.18.4 ;; - 14.15) NODE_INSTALL_VERSION=14.15.4 ;; + 8|8.x) NODE_INSTALL_VERSION=8.16.0 ;; + 10|10.x) NODE_INSTALL_VERSION=10.16.0 ;; + 12|12.x) NODE_INSTALL_VERSION=12.4.0 ;; + 12|12.18) NODE_INSTALL_VERSION=12.18.4 ;; + 14|14.15) NODE_INSTALL_VERSION=14.15.4 ;; *) echo "Unknown node version $1"; exit 1; esac printf -- "--build-arg NODE_INSTALL_VERSION=%s " "$NODE_INSTALL_VERSION" @@ -231,6 +231,7 @@ function print_pgbouncer_args() { function print_ruby_args() { case "$1" in 2.6|2.6.*) + # 2.6 requires older version of debian CUSTOM_IMAGE_NAME=debian CUSTOM_IMAGE_VERSION=stretch RUBY_VERSION="2.6.6" @@ -238,15 +239,11 @@ function print_ruby_args() { ;; 2.7|2.7.*) - CUSTOM_IMAGE_NAME=debian - CUSTOM_IMAGE_VERSION=buster RUBY_VERSION="2.7.2" RUBY_DOWNLOAD_SHA256="6e5706d0d4ee4e1e2f883db9d768586b4d06567debea353c796ec45e8321c3d4" ;; 3.0|3.0.*) - CUSTOM_IMAGE_NAME=debian - CUSTOM_IMAGE_VERSION=buster RUBY_VERSION="3.0.0" RUBY_DOWNLOAD_SHA256="a13ed141a1c18eb967aac1e33f4d6ad5f21be1ac543c344e0d6feeee54af8e28" ;; @@ -254,8 +251,6 @@ function print_ruby_args() { *) echo "Unknown ruby version $1"; exit 1; esac - printf -- "--build-arg CUSTOM_IMAGE_NAME=%s " "$CUSTOM_IMAGE_NAME" - printf -- "--build-arg CUSTOM_IMAGE_VERSION=%s " "$CUSTOM_IMAGE_VERSION" printf -- "--build-arg RUBY_VERSION=%s " "$RUBY_VERSION" printf -- "--build-arg RUBY_DOWNLOAD_SHA256=%s " "$RUBY_DOWNLOAD_SHA256" } @@ -263,6 +258,10 @@ function print_ruby_args() { function parse_arguments() { printf -- "-f Dockerfile.custom " + # defaults + CUSTOM_IMAGE_NAME=debian + CUSTOM_IMAGE_VERSION=buster + while read image; do read version case "$image" in @@ -282,6 +281,9 @@ function parse_arguments() { *) exit 1;; esac done + + printf -- "--build-arg CUSTOM_IMAGE_NAME=%s " "$CUSTOM_IMAGE_NAME" + printf -- "--build-arg CUSTOM_IMAGE_VERSION=%s " "$CUSTOM_IMAGE_VERSION" } function generate_command() { diff --git a/scripts/install-ruby b/scripts/install-ruby index 90fd24d..6d5280f 100755 --- a/scripts/install-ruby +++ b/scripts/install-ruby @@ -26,7 +26,7 @@ apt-get install -y --no-install-recommends bison dpkg-dev libgdbm-dev ruby # Unpack Ruby mkdir -p /usr/src/ruby tar -xzf ruby.tar.gz -C /usr/src/ruby --strip-components=1 -rm ruby.tar.xz +rm ruby.tar.gz cd /usr/src/ruby # Apply patches From d9530f312409f8c27e47202857db16db91e3d7b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Mon, 1 Feb 2021 18:31:37 +0100 Subject: [PATCH 010/109] Fix patching ruby --- scripts/install-ruby | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/install-ruby b/scripts/install-ruby index 6d5280f..178bc25 100755 --- a/scripts/install-ruby +++ b/scripts/install-ruby @@ -30,7 +30,14 @@ rm ruby.tar.gz cd /usr/src/ruby # Apply patches -find "/patches/ruby/$RUBY_VERSION" -name '*.patch' | xargs -rpn1 patch -p1 -i +if [[ -d "/patches/ruby/$RUBY_VERSION" ]]; then + for i in "/patches/ruby/$RUBY_VERSION"/*.patch; do + echo "$i..." + patch -p1 -i "$i" + done +fi + +# Compile ./configure --enable-shared --disable-install-doc --disable-install-rdoc --disable-install-capi make install -j $(nproc) From a9204d345d1e3a3874e45de545f77a4e104724b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Tue, 2 Feb 2021 12:28:41 +0100 Subject: [PATCH 011/109] Mark Ruby images as patched --- .gitlab-ci.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index abcaf25..4a5058c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -72,12 +72,12 @@ ruby-2.7-golang-1.15-git-2.29 test: *test_custom ruby-2.7-golang-1.15-git-2.29-pgbouncer-1.14 test: *test_custom # Used by GitLab: https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab-ci.yml -ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom -ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom -ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom -ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom -ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom -ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom +ruby-2.7.2.patched-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom +ruby-2.7.2.patched-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom +ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom +ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom +ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom +ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.28-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34 test: *test_custom @@ -147,12 +147,12 @@ ruby-2.7-golang-1.15-git-2.29: *build_and_deploy_custom ruby-2.7-golang-1.15-git-2.29-pgbouncer-1.14: *build_and_deploy_custom # Used by GitLab CE/EE: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/.gitlab-ci.yml -ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.28-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34: *build_and_deploy_custom From 3acad93b1574acf852ecdc529ef6a908f0cbe5cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Tue, 2 Feb 2021 13:30:18 +0100 Subject: [PATCH 012/109] Use a manual job to trigger a selective build/push --- .gitlab-ci.yml | 40 ++++++++++++++++++++++--------------- README.md | 14 +++++-------- scripts/build-helpers.sh | 25 ----------------------- scripts/custom-docker-build | 16 +++++---------- 4 files changed, 34 insertions(+), 61 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4a5058c..6c44a60 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -17,43 +17,51 @@ stages: variables: DOCKER_DRIVER: overlay2 DOCKER_HOST: tcp://docker:2375 - FORCE_BUILD: "false" + +# Run test job always +.test: + stage: test + rules: + - when: always + +# Run build job only on a default branch when triggered manually +.build: + stage: build + rules: + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + when: manual .test_build: &test_build - stage: test + extends: .test script: # Hack to set an array in /bin/sh # http://unix.stackexchange.com/a/137571 - set -- $CI_JOB_NAME - - docker build -f "Dockerfile.$1" . - except: - - master + - docker pull "$CI_REGISTRY_IMAGE:$1" || true + - docker build --from-cache="$CI_REGISTRY_IMAGE:$1" -f "Dockerfile.$1" . .build_and_deploy: &build_and_deploy - stage: build + extends: .build script: - - docker build --label "ci_pipeline_url=$CI_PIPELINE_URL" --label "ci_job_url=$CI_JOB_URL" -t "$CI_REGISTRY_IMAGE:$CI_JOB_NAME" -f "Dockerfile.$CI_JOB_NAME" . + - docker pull "$CI_REGISTRY_IMAGE:$1" || true + - docker build --from-cache="$CI_REGISTRY_IMAGE:$1" --label "ci_pipeline_url=$CI_PIPELINE_URL" --label "ci_job_url=$CI_JOB_URL" -t "$CI_REGISTRY_IMAGE:$CI_JOB_NAME" -f "Dockerfile.$CI_JOB_NAME" . - docker push "$CI_REGISTRY_IMAGE:$CI_JOB_NAME" - only: - - master .test_custom: &test_custom - stage: test + extends: .test script: # Hack to set an array in /bin/sh # http://unix.stackexchange.com/a/137571 - set -- $CI_JOB_NAME - ./scripts/custom-docker-build $1 - except: - - master + rules: + - when: always .build_and_deploy_custom: &build_and_deploy_custom - stage: build + extends: .build script: - ./scripts/custom-docker-build $CI_JOB_NAME --label "ci_pipeline_url=$CI_PIPELINE_URL" --label "ci_job_url=$CI_JOB_URL" -t "$CI_REGISTRY_IMAGE:$CI_JOB_NAME" - - push_if_needed "$CI_REGISTRY_IMAGE:$CI_JOB_NAME" - only: - - master + - docker push "$CI_REGISTRY_IMAGE:$CI_JOB_NAME" # Tests diff --git a/README.md b/README.md index 71dc6a7..24b4137 100644 --- a/README.md +++ b/README.md @@ -66,17 +66,13 @@ the name would be `ruby-2.4-golang-1.9-git-2.14`. 1. Add a test task: `ruby-2.4-golang-1.9-git-2.14 test: *test_custom` 1. Add a new build task: `ruby-2.4-golang-1.9-git-2.14: *build_and_deploy_custom` -#### Forcing custom images to be rebuilt +#### Pushing a rebuild image -By default, once a custom image is built, tagged and pushed to the registry, it's -not rebuilt to ensure an upstream dependency doesn't end up breaking our images -unexpectedly. +To build (or rebuild) a given image and push it, you need to enable manual action for a given +job after it is merged to master. -For reference, this happened in the past: https://gitlab.com/gitlab-org/gitlab/issues/205192 - -In the rare case where the `Dockerfile.custom` file is updated and all custom -images shoulld be rebuild, you can start a new pipeline and set the variable -`FORCE_BUILD` to `true`. +By default we don't do it to ensure that an upstream dependency doesn't end up breaking our images +unexpectedly. For reference, this happened in the past: https://gitlab.com/gitlab-org/gitlab/issues/205192 ## Note regarding Google Chrome diff --git a/scripts/build-helpers.sh b/scripts/build-helpers.sh index 52b25b0..e69de29 100644 --- a/scripts/build-helpers.sh +++ b/scripts/build-helpers.sh @@ -1,25 +0,0 @@ -function image_already_exists() { - image=$1 - - $(docker pull $image > /dev/null) -} - -function build_if_needed() { - image=$1 - - if ! image_already_exists $image; then - docker build -t "$image" -f "Dockerfile.$image" . - else - echo "$image already exists, skipping build." - fi -} - -function push_if_needed() { - image=$1 - - if ! image_already_exists $image; then - docker push "$image" - else - echo "$image already exists, skipping push." - fi -} diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index a3b60ff..9b2ea61 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -303,17 +303,11 @@ function build_custom_if_needed() { build_image_name=$1 full_image_name="$CI_REGISTRY_IMAGE:$build_image_name" - if [[ "$FORCE_BUILD" == "true" ]] || ! image_already_exists $full_image_name; then - docker_command=$(generate_command $@) - if [[ "$FORCE_BUILD" == "true" ]]; then - echo "Force building $build_image_name due to \$FORCE_BUILD=true with $docker_command" - else - echo "Building $build_image_name with $docker_command" - fi - eval $docker_command - else - echo "$build_image_name already exists, skipping build." - fi + # This re-uses and builds an existing image if needed + docker pull "$full_image" || true + docker_command=$(generate_command --from-cache="$full_image_name" $@) + echo "Building $build_image_name with $docker_command" + eval $docker_command } build_custom_if_needed $@ From 74dda8518c7d9b9333775b711a6316de3a714f8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Tue, 2 Feb 2021 13:30:37 +0100 Subject: [PATCH 013/109] For Dockerfile.custom as E_VERSION env variables --- Dockerfile.custom | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Dockerfile.custom b/Dockerfile.custom index 2b6c8bf..9291459 100644 --- a/Dockerfile.custom +++ b/Dockerfile.custom @@ -16,6 +16,7 @@ ENV PATH $PATH:/usr/local/go/bin # Ruby ARG RUBY_VERSION ARG RUBY_DOWNLOAD_SHA256 +ENV RUBY_VERSION=${RUBY_VERSION} RUN if [ -n "$RUBY_VERSION" ]; then /scripts/install-ruby $RUBY_VERSION $RUBY_DOWNLOAD_SHA256 && ruby --version; fi @@ -23,6 +24,7 @@ RUN if [ -n "$RUBY_VERSION" ]; then /scripts/install-ruby $RUBY_VERSION $RUBY_DO ARG GIT_VERSION ARG GIT_DOWNLOAD_URL ARG GIT_DOWNLOAD_SHA256 +ENV GIT_VERSION=${GIT_VERSION} RUN if [ -n "$GIT_VERSION" ]; then /scripts/install-pcre2 && pcre2-config --version; fi RUN if [ -n "$GIT_VERSION" ]; then /scripts/install-git && git --version; fi @@ -30,51 +32,71 @@ RUN if [ -n "$GIT_VERSION" ]; then /scripts/install-git && git --version; fi # Chrome ARG CHROME_VERSION ARG CHROME_DRIVER_VERSION +ENV CHROME_VERSION=${CHROME_VERSION} + RUN if [ -n "$CHROME_VERSION" ]; then /scripts/install-chrome $CHROME_VERSION $CHROME_DRIVER_VERSION && google-chrome --version; fi # NodeJS and Yarn ARG NODE_INSTALL_VERSION ARG YARN_INSTALL_VERSION +ENV NODE_VERSION=${NODE_INSTALL_VERSION} \ + YARN_VERSION=${YARN_INSTALL_VERSION} + RUN if [ -n "$NODE_INSTALL_VERSION" ] ; then /scripts/install-node $NODE_INSTALL_VERSION $YARN_INSTALL_VERSION && node --version && yarn --version; fi # Golang ARG INSTALL_GOLANG_VERSION ARG GOLANG_DOWNLOAD_SHA256 +ENV GOLANG_VERSION=${INSTALL_GOLANG_VERSION} + RUN if [ -n "$INSTALL_GOLANG_VERSION" ] ; then /scripts/install-golang "${INSTALL_GOLANG_VERSION}" "${GOLANG_DOWNLOAD_SHA256}" && go version; fi # Git LFS (https://git-lfs.github.com/) ARG LFS_VERSION ARG LFS_DOWNLOAD_URL=https://github.com/git-lfs/git-lfs/releases/download/v${LFS_VERSION}/git-lfs-linux-amd64-v${LFS_VERSION}.tar.gz ARG LFS_DOWNLOAD_SHA256 +ENV LFS_VERSION=${LFS_VERSION} RUN if [ -n "$LFS_VERSION" ]; then /scripts/install-lfs && git lfs --version; fi # Postgres ARG POSTGRES_VERSION +ENV POSTGRES_VERSION=${POSTGRES_VERSION} + RUN if [ -n "$POSTGRES_VERSION" ] ; then /scripts/install-postgresql $POSTGRES_VERSION; fi # Ansible ARG ANSIBLE_VERSION +ENV ANSIBLE_VERSION=${ANSIBLE_VERSION} + RUN if [ -n "$ANSIBLE_VERSION" ] ; then /scripts/install-ansible $ANSIBLE_VERSION; fi # Terraform ARG TERRAFORM_VERSION ARG TERRAFORM_DOWNLOAD_SHA256 +ENV TERRAFORM_VERSION=${TERRAFORM_VERSION} + RUN if [ -n "$TERRAFORM_VERSION" ] ; then /scripts/install-terraform $TERRAFORM_VERSION $TERRAFORM_DOWNLOAD_SHA256; fi # GraphicsMagick ARG GRAPHISMAGICK_VERSION ARG GRAPHISMAGICK_DOWNLOAD_URL=https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/${GRAPHISMAGICK_VERSION}/GraphicsMagick-${GRAPHISMAGICK_VERSION}.tar.gz ARG GRAPHISMAGICK_DOWNLOAD_SHA256 +ENV GRAPHISMAGICK_VERSION=${GRAPHISMAGICK_VERSION} + RUN if [ -n "$GRAPHISMAGICK_VERSION" ]; then /scripts/install-graphicsmagick && gm version; fi # Docker ARG DOCKER_VERSION +ENV DOCKER_VERSION=${DOCKER_VERSION} + RUN if [ -n "$DOCKER_VERSION" ]; then /scripts/install-docker $DOCKER_VERSION; fi # PgBouncer ARG PGBOUNCER_VERSION ARG PGBOUNCER_DOWNLOAD_SHA256 +ENV PGBOUNCER_VERSION=${PGBOUNCER_VERSION} + RUN if [ -n "$PGBOUNCER_VERSION" ] ; then /scripts/install-pgbouncer $PGBOUNCER_VERSION $PGBOUNCER_DOWNLOAD_SHA256; fi RUN locale-gen en_US.UTF-8 From c393e4e80435b69f9123026e1682ed2dd900da61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Tue, 2 Feb 2021 13:33:49 +0100 Subject: [PATCH 014/109] Fix custom-docker-build --- .gitlab-ci.yml | 2 +- scripts/custom-docker-build | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6c44a60..ae34a2d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -29,7 +29,7 @@ variables: stage: build rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH - when: manual + when: manual .test_build: &test_build extends: .test diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index 9b2ea61..e207c35 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -305,7 +305,7 @@ function build_custom_if_needed() { # This re-uses and builds an existing image if needed docker pull "$full_image" || true - docker_command=$(generate_command --from-cache="$full_image_name" $@) + docker_command=$(generate_command $@ --from-cache="$full_image_name" ) echo "Building $build_image_name with $docker_command" eval $docker_command } From 2269f81b22fc1b52e867602e0b273ffff7af2d59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Tue, 2 Feb 2021 13:44:38 +0100 Subject: [PATCH 015/109] It is `cache-from` --- .gitlab-ci.yml | 16 +++++++++++----- scripts/custom-docker-build | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ae34a2d..5968ff3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -38,13 +38,16 @@ variables: # http://unix.stackexchange.com/a/137571 - set -- $CI_JOB_NAME - docker pull "$CI_REGISTRY_IMAGE:$1" || true - - docker build --from-cache="$CI_REGISTRY_IMAGE:$1" -f "Dockerfile.$1" . + - docker build --cache-from="$CI_REGISTRY_IMAGE:$1" -f "Dockerfile.$1" . .build_and_deploy: &build_and_deploy extends: .build script: + # Hack to set an array in /bin/sh + # http://unix.stackexchange.com/a/137571 + - set -- $CI_JOB_NAME - docker pull "$CI_REGISTRY_IMAGE:$1" || true - - docker build --from-cache="$CI_REGISTRY_IMAGE:$1" --label "ci_pipeline_url=$CI_PIPELINE_URL" --label "ci_job_url=$CI_JOB_URL" -t "$CI_REGISTRY_IMAGE:$CI_JOB_NAME" -f "Dockerfile.$CI_JOB_NAME" . + - docker build --cache-from="$CI_REGISTRY_IMAGE:$1" --label "ci_pipeline_url=$CI_PIPELINE_URL" --label "ci_job_url=$CI_JOB_URL" -t "$CI_REGISTRY_IMAGE:$1" -f "Dockerfile.$1" . - docker push "$CI_REGISTRY_IMAGE:$CI_JOB_NAME" .test_custom: &test_custom @@ -53,15 +56,18 @@ variables: # Hack to set an array in /bin/sh # http://unix.stackexchange.com/a/137571 - set -- $CI_JOB_NAME - - ./scripts/custom-docker-build $1 + - ./scripts/custom-docker-build "$1" rules: - when: always .build_and_deploy_custom: &build_and_deploy_custom extends: .build script: - - ./scripts/custom-docker-build $CI_JOB_NAME --label "ci_pipeline_url=$CI_PIPELINE_URL" --label "ci_job_url=$CI_JOB_URL" -t "$CI_REGISTRY_IMAGE:$CI_JOB_NAME" - - docker push "$CI_REGISTRY_IMAGE:$CI_JOB_NAME" + # Hack to set an array in /bin/sh + # http://unix.stackexchange.com/a/137571 + - set -- $CI_JOB_NAME + - ./scripts/custom-docker-build "$1" --label "ci_pipeline_url=$CI_PIPELINE_URL" --label "ci_job_url=$CI_JOB_URL" -t "$CI_REGISTRY_IMAGE:$1" + - docker push "$CI_REGISTRY_IMAGE:$1" # Tests diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index e207c35..d2e8fd2 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -305,7 +305,7 @@ function build_custom_if_needed() { # This re-uses and builds an existing image if needed docker pull "$full_image" || true - docker_command=$(generate_command $@ --from-cache="$full_image_name" ) + docker_command=$(generate_command $@ --cache-from="$full_image_name" ) echo "Building $build_image_name with $docker_command" eval $docker_command } From 1f070817cd162229a267e0b994ba0234bb73d138 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Tue, 2 Feb 2021 16:25:06 +0100 Subject: [PATCH 016/109] Set `ENV` once, at end --- Dockerfile.custom | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/Dockerfile.custom b/Dockerfile.custom index 9291459..0693d6b 100644 --- a/Dockerfile.custom +++ b/Dockerfile.custom @@ -16,7 +16,6 @@ ENV PATH $PATH:/usr/local/go/bin # Ruby ARG RUBY_VERSION ARG RUBY_DOWNLOAD_SHA256 -ENV RUBY_VERSION=${RUBY_VERSION} RUN if [ -n "$RUBY_VERSION" ]; then /scripts/install-ruby $RUBY_VERSION $RUBY_DOWNLOAD_SHA256 && ruby --version; fi @@ -24,7 +23,6 @@ RUN if [ -n "$RUBY_VERSION" ]; then /scripts/install-ruby $RUBY_VERSION $RUBY_DO ARG GIT_VERSION ARG GIT_DOWNLOAD_URL ARG GIT_DOWNLOAD_SHA256 -ENV GIT_VERSION=${GIT_VERSION} RUN if [ -n "$GIT_VERSION" ]; then /scripts/install-pcre2 && pcre2-config --version; fi RUN if [ -n "$GIT_VERSION" ]; then /scripts/install-git && git --version; fi @@ -32,22 +30,18 @@ RUN if [ -n "$GIT_VERSION" ]; then /scripts/install-git && git --version; fi # Chrome ARG CHROME_VERSION ARG CHROME_DRIVER_VERSION -ENV CHROME_VERSION=${CHROME_VERSION} RUN if [ -n "$CHROME_VERSION" ]; then /scripts/install-chrome $CHROME_VERSION $CHROME_DRIVER_VERSION && google-chrome --version; fi # NodeJS and Yarn ARG NODE_INSTALL_VERSION ARG YARN_INSTALL_VERSION -ENV NODE_VERSION=${NODE_INSTALL_VERSION} \ - YARN_VERSION=${YARN_INSTALL_VERSION} RUN if [ -n "$NODE_INSTALL_VERSION" ] ; then /scripts/install-node $NODE_INSTALL_VERSION $YARN_INSTALL_VERSION && node --version && yarn --version; fi # Golang ARG INSTALL_GOLANG_VERSION ARG GOLANG_DOWNLOAD_SHA256 -ENV GOLANG_VERSION=${INSTALL_GOLANG_VERSION} RUN if [ -n "$INSTALL_GOLANG_VERSION" ] ; then /scripts/install-golang "${INSTALL_GOLANG_VERSION}" "${GOLANG_DOWNLOAD_SHA256}" && go version; fi @@ -55,26 +49,22 @@ RUN if [ -n "$INSTALL_GOLANG_VERSION" ] ; then /scripts/install-golang "${INSTAL ARG LFS_VERSION ARG LFS_DOWNLOAD_URL=https://github.com/git-lfs/git-lfs/releases/download/v${LFS_VERSION}/git-lfs-linux-amd64-v${LFS_VERSION}.tar.gz ARG LFS_DOWNLOAD_SHA256 -ENV LFS_VERSION=${LFS_VERSION} RUN if [ -n "$LFS_VERSION" ]; then /scripts/install-lfs && git lfs --version; fi # Postgres ARG POSTGRES_VERSION -ENV POSTGRES_VERSION=${POSTGRES_VERSION} RUN if [ -n "$POSTGRES_VERSION" ] ; then /scripts/install-postgresql $POSTGRES_VERSION; fi # Ansible ARG ANSIBLE_VERSION -ENV ANSIBLE_VERSION=${ANSIBLE_VERSION} RUN if [ -n "$ANSIBLE_VERSION" ] ; then /scripts/install-ansible $ANSIBLE_VERSION; fi # Terraform ARG TERRAFORM_VERSION ARG TERRAFORM_DOWNLOAD_SHA256 -ENV TERRAFORM_VERSION=${TERRAFORM_VERSION} RUN if [ -n "$TERRAFORM_VERSION" ] ; then /scripts/install-terraform $TERRAFORM_VERSION $TERRAFORM_DOWNLOAD_SHA256; fi @@ -82,24 +72,36 @@ RUN if [ -n "$TERRAFORM_VERSION" ] ; then /scripts/install-terraform $TERRAFORM_ ARG GRAPHISMAGICK_VERSION ARG GRAPHISMAGICK_DOWNLOAD_URL=https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/${GRAPHISMAGICK_VERSION}/GraphicsMagick-${GRAPHISMAGICK_VERSION}.tar.gz ARG GRAPHISMAGICK_DOWNLOAD_SHA256 -ENV GRAPHISMAGICK_VERSION=${GRAPHISMAGICK_VERSION} RUN if [ -n "$GRAPHISMAGICK_VERSION" ]; then /scripts/install-graphicsmagick && gm version; fi # Docker ARG DOCKER_VERSION -ENV DOCKER_VERSION=${DOCKER_VERSION} RUN if [ -n "$DOCKER_VERSION" ]; then /scripts/install-docker $DOCKER_VERSION; fi # PgBouncer ARG PGBOUNCER_VERSION ARG PGBOUNCER_DOWNLOAD_SHA256 -ENV PGBOUNCER_VERSION=${PGBOUNCER_VERSION} RUN if [ -n "$PGBOUNCER_VERSION" ] ; then /scripts/install-pgbouncer $PGBOUNCER_VERSION $PGBOUNCER_DOWNLOAD_SHA256; fi RUN locale-gen en_US.UTF-8 -ENV LANG en_US.UTF-8 -ENV LANGUAGE en_US:en -ENV LC_ALL en_US.UTF-8 +ENV LANG=en_US.UTF-8 \ + LANGUAGE=en_US:en \ + LC_ALL=en_US.UTF-8 + +# Set as env variables all versions configured +ENV RUBY_VERSION=${RUBY_VERSION} \ + GIT_VERSION=${GIT_VERSION} \ + CHROME_VERSION=${CHROME_VERSION} \ + NODE_VERSION=${NODE_INSTALL_VERSION} \ + YARN_VERSION=${YARN_INSTALL_VERSION} \ + GOLANG_VERSION=${INSTALL_GOLANG_VERSION} \ + LFS_VERSION=${LFS_VERSION} \ + POSTGRES_VERSION=${POSTGRES_VERSION} \ + ANSIBLE_VERSION=${ANSIBLE_VERSION} \ + TERRAFORM_VERSION=${TERRAFORM_VERSION} \ + GRAPHISMAGICK_VERSION=${GRAPHISMAGICK_VERSION} \ + DOCKER_VERSION=${DOCKER_VERSION} \ + PGBOUNCER_VERSION=${PGBOUNCER_VERSION} From 6a019ea6f277669c7fc30a23b82efba0e820e050 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Tue, 2 Feb 2021 16:46:00 +0100 Subject: [PATCH 017/109] Move `build` to `deploy` stage This ensures that we always run all `tests` (first). This also adds ` push` tag to each job that is to push. --- .gitlab-ci.yml | 178 ++++++++++++++++++++++++------------------------- 1 file changed, 89 insertions(+), 89 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5968ff3..c0362c7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -10,8 +10,8 @@ default: - gitlab-org-docker stages: - - build - test + - deploy - automation variables: @@ -25,8 +25,8 @@ variables: - when: always # Run build job only on a default branch when triggered manually -.build: - stage: build +.deploy: + stage: deploy rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH when: manual @@ -41,7 +41,7 @@ variables: - docker build --cache-from="$CI_REGISTRY_IMAGE:$1" -f "Dockerfile.$1" . .build_and_deploy: &build_and_deploy - extends: .build + extends: .deploy script: # Hack to set an array in /bin/sh # http://unix.stackexchange.com/a/137571 @@ -61,7 +61,7 @@ variables: - when: always .build_and_deploy_custom: &build_and_deploy_custom - extends: .build + extends: .deploy script: # Hack to set an array in /bin/sh # http://unix.stackexchange.com/a/137571 @@ -147,76 +147,76 @@ gitlab-operator-build-base test: *test_build # Builds # Used by GDK verify step: https://gitlab.com/gitlab-org/gitlab-development-kit -node-10: *build_and_deploy_custom +node-10 push: *build_and_deploy_custom # Used by Gitaly: https://gitlab.com/gitlab-org/gitaly/blob/master/.gitlab-ci.yml -ruby-2.6-golang-1.14-git-2.28: *build_and_deploy_custom -ruby-2.6-golang-1.15-git-2.28: *build_and_deploy_custom -ruby-2.6-golang-1.15-git-2.28-pgbouncer-1.14: *build_and_deploy_custom -ruby-2.7-golang-1.14-git-2.28: *build_and_deploy_custom -ruby-2.7-golang-1.15-git-2.28: *build_and_deploy_custom -ruby-2.7-golang-1.15-git-2.28-pgbouncer-1.14: *build_and_deploy_custom -ruby-2.7-golang-1.14-git-2.29: *build_and_deploy_custom -ruby-2.7-golang-1.15-git-2.29: *build_and_deploy_custom -ruby-2.7-golang-1.15-git-2.29-pgbouncer-1.14: *build_and_deploy_custom +ruby-2.6-golang-1.14-git-2.28 push: *build_and_deploy_custom +ruby-2.6-golang-1.15-git-2.28 push: *build_and_deploy_custom +ruby-2.6-golang-1.15-git-2.28-pgbouncer-1.14 push: *build_and_deploy_custom +ruby-2.7-golang-1.14-git-2.28 push: *build_and_deploy_custom +ruby-2.7-golang-1.15-git-2.28 push: *build_and_deploy_custom +ruby-2.7-golang-1.15-git-2.28-pgbouncer-1.14 push: *build_and_deploy_custom +ruby-2.7-golang-1.14-git-2.29 push: *build_and_deploy_custom +ruby-2.7-golang-1.15-git-2.29 push: *build_and_deploy_custom +ruby-2.7-golang-1.15-git-2.29-pgbouncer-1.14 push: *build_and_deploy_custom # Used by GitLab CE/EE: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/.gitlab-ci.yml -ruby-2.7.2.patched-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 push: *build_and_deploy_custom +ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom +ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 push: *build_and_deploy_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs -ruby-2.7.2-git-2.28-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-2.7.2-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34: *build_and_deploy_custom -ruby-3.0.0-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-2.7.2-git-2.28-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34 push: *build_and_deploy_custom +ruby-2.7.2-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34 push: *build_and_deploy_custom +ruby-3.0.0-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34 push: *build_and_deploy_custom # Used by www-gitlab-com's rspec job: https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/.gitlab-ci.yml -ruby-2.6.5-git-2.28-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1: *build_and_deploy_custom -ruby-2.6.5-git-2.28-chrome-85-node-12.18-yarn-1.22-docker-19.03.1: *build_and_deploy_custom -ruby-2.6.5-git-2.29-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1: *build_and_deploy_custom -ruby-2.6.5-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1: *build_and_deploy_custom -ruby-2.7.2-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1: *build_and_deploy_custom +ruby-2.6.5-git-2.28-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom +ruby-2.6.5-git-2.28-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom +ruby-2.6.5-git-2.29-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom +ruby-2.6.5-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom +ruby-2.7.2-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml -ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.x-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.34: *build_and_deploy_custom +ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.x-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.34 push: *build_and_deploy_custom -danger: *build_and_deploy -alpine-aws: *build_and_deploy -alpine-helm: *build_and_deploy -ruby-alpine-aws: *build_and_deploy -gitlab-charts-build-base: *build_and_deploy -gitlab-charts-build-base-helm-3: *build_and_deploy -gitlab-helm3-kubectl1.14: *build_and_deploy -gitlab-qa-ruby-2.7: *build_and_deploy -gitlab-qa-ruby-3.0: *build_and_deploy -gitlab-qa-alpine-ruby-2.7: *build_and_deploy -gitlab-qa-alpine-ruby-3.0: *build_and_deploy -gitlab-puppeteer: *build_and_deploy -omnibus-gitlab-bionic: *build_and_deploy -omnibus-gitlab-centos7: *build_and_deploy -omnibus-gitlab-centos8: *build_and_deploy -omnibus-gitlab-jessie: *build_and_deploy -omnibus-gitlab-opensuse15.1: *build_and_deploy -omnibus-gitlab-opensuse15.2: *build_and_deploy -omnibus-gitlab-stretch: *build_and_deploy -omnibus-gitlab-buster: *build_and_deploy -omnibus-gitlab-xenial: *build_and_deploy -omnibus-gitlab-focal: *build_and_deploy -omnibus-gitlab-depscan: *build_and_deploy -omnibus-gitlab-cve-search: *build_and_deploy -release-tools: *build_and_deploy -sitespeed-gitlab: *build_and_deploy -ubi-release: *build_and_deploy -www-gitlab-com-2.7: *build_and_deploy -build-git: *build_and_deploy -terraform: *build_and_deploy +danger push: *build_and_deploy +alpine-aws push: *build_and_deploy +alpine-helm push: *build_and_deploy +ruby-alpine-aws push: *build_and_deploy +gitlab-charts-build-base push: *build_and_deploy +gitlab-charts-build-base-helm-3 push: *build_and_deploy +gitlab-helm3-kubectl1.14 push: *build_and_deploy +gitlab-qa-ruby-2.7 push: *build_and_deploy +gitlab-qa-ruby-3.0 push: *build_and_deploy +gitlab-qa-alpine-ruby-2.7 push: *build_and_deploy +gitlab-qa-alpine-ruby-3.0 push: *build_and_deploy +gitlab-puppeteer push: *build_and_deploy +omnibus-gitlab-bionic push: *build_and_deploy +omnibus-gitlab-centos7 push: *build_and_deploy +omnibus-gitlab-centos8 push: *build_and_deploy +omnibus-gitlab-jessie push: *build_and_deploy +omnibus-gitlab-opensuse15.1 push: *build_and_deploy +omnibus-gitlab-opensuse15.2 push: *build_and_deploy +omnibus-gitlab-stretch push: *build_and_deploy +omnibus-gitlab-buster push: *build_and_deploy +omnibus-gitlab-xenial push: *build_and_deploy +omnibus-gitlab-focal push: *build_and_deploy +omnibus-gitlab-depscan push: *build_and_deploy +omnibus-gitlab-cve-search push: *build_and_deploy +release-tools push: *build_and_deploy +sitespeed-gitlab push: *build_and_deploy +ubi-release push: *build_and_deploy +www-gitlab-com-2.7 push: *build_and_deploy +build-git push: *build_and_deploy +terraform push: *build_and_deploy # Used by go projects for linting https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/go_guide/index.md#automatic-linting -golangci-lint-alpine: *build_and_deploy +golangci-lint-alpine push: *build_and_deploy # Used by gitlab-operator: https://gitlab.com/gitlab-org/gl-openshift/gitlab-operator -gitlab-operator-build-base: *build_and_deploy +gitlab-operator-build-base push: *build_and_deploy cache-google-chrome: stage: automation @@ -235,31 +235,31 @@ cache-google-chrome: # See https://gitlab.com/gitlab-org/gitlab-build-images/merge_requests/54 for an example -# ruby-2.3.3-golang-1.8-git-2.7-chrome-59.0-node-7.1-postgresql-9.6: *build_and_deploy_custom -# ruby-2.3.3-golang-1.8-git-2.7-chrome-60.0-node-7.1-postgresql-9.6: *build_and_deploy_custom -# ruby-2.3.3-golang-1.8-git-2.13-chrome-59.0-node-7.1-postgresql-9.6: *build_and_deploy_custom -# ruby-2.3.3-golang-1.8-git-2.13-chrome-60.0-node-7.1-postgresql-9.6: *build_and_deploy_custom -# ruby-2.3.3-golang-1.8-git-2.13-chrome-61.0-node-8.x-yarn-1.0-postgresql-9.6: *build_and_deploy_custom -# ruby-2.3.5-golang-1.8-git-2.13-chrome-61.0-node-8.x-yarn-1.0-postgresql-9.6: *build_and_deploy_custom -# ruby-2.3.5-golang-1.8-git-2.13-chrome-62.0-node-8.x-yarn-1.2-postgresql-9.6: *build_and_deploy_custom -# ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-73.0-node-12.x-yarn-1.21-postgresql-9.6-graphicsmagick-1.3.34: *build_and_deploy_custom -# ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-73.0-node-12.x-yarn-1.21-postgresql-10-graphicsmagick-1.3.34: *build_and_deploy_custom -# ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-73.0-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom -# ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.x-yarn-1.21-postgresql-9.6-graphicsmagick-1.3.34: *build_and_deploy_custom -# ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.x-yarn-1.21-postgresql-10-graphicsmagick-1.3.34: *build_and_deploy_custom -# ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom -# ruby-2.6.6-golang-1.14-git-2.27-lfs-2.9-chrome-83-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom -# ruby-2.6.6-golang-1.14-git-2.27-lfs-2.9-chrome-83-node-12.x-yarn-1.21-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom -# ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom -# ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom -# ruby-2.7.1-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom -# ruby-2.7.1-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom -# ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom -# ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom -# ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom -# ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom -# ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34: *build_and_deploy_custom -# ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34: *build_and_deploy_custom +# ruby-2.3.3-golang-1.8-git-2.7-chrome-59.0-node-7.1-postgresql-9.6 push: *build_and_deploy_custom +# ruby-2.3.3-golang-1.8-git-2.7-chrome-60.0-node-7.1-postgresql-9.6 push: *build_and_deploy_custom +# ruby-2.3.3-golang-1.8-git-2.13-chrome-59.0-node-7.1-postgresql-9.6 push: *build_and_deploy_custom +# ruby-2.3.3-golang-1.8-git-2.13-chrome-60.0-node-7.1-postgresql-9.6 push: *build_and_deploy_custom +# ruby-2.3.3-golang-1.8-git-2.13-chrome-61.0-node-8.x-yarn-1.0-postgresql-9.6 push: *build_and_deploy_custom +# ruby-2.3.5-golang-1.8-git-2.13-chrome-61.0-node-8.x-yarn-1.0-postgresql-9.6 push: *build_and_deploy_custom +# ruby-2.3.5-golang-1.8-git-2.13-chrome-62.0-node-8.x-yarn-1.2-postgresql-9.6 push: *build_and_deploy_custom +# ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-73.0-node-12.x-yarn-1.21-postgresql-9.6-graphicsmagick-1.3.34 push: *build_and_deploy_custom +# ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-73.0-node-12.x-yarn-1.21-postgresql-10-graphicsmagick-1.3.34 push: *build_and_deploy_custom +# ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-73.0-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom +# ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.x-yarn-1.21-postgresql-9.6-graphicsmagick-1.3.34 push: *build_and_deploy_custom +# ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.x-yarn-1.21-postgresql-10-graphicsmagick-1.3.34 push: *build_and_deploy_custom +# ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom +# ruby-2.6.6-golang-1.14-git-2.27-lfs-2.9-chrome-83-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom +# ruby-2.6.6-golang-1.14-git-2.27-lfs-2.9-chrome-83-node-12.x-yarn-1.21-postgresql-12-graphicsmagick-1.3.34 push: *build_and_deploy_custom +# ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom +# ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-12-graphicsmagick-1.3.34 push: *build_and_deploy_custom +# ruby-2.7.1-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom +# ruby-2.7.1-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-12-graphicsmagick-1.3.34 push: *build_and_deploy_custom +# ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom +# ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 push: *build_and_deploy_custom +# ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom +# ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 push: *build_and_deploy_custom +# ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom +# ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 push: *build_and_deploy_custom -# ruby-2.6.5-git-2.27-chrome-83-node-12.x-yarn-1.21-docker-19.03.1: *build_and_deploy_custom -# ruby-2.6.5-git-2.28-chrome-84-node-12.x-yarn-1.21-docker-19.03.1: *build_and_deploy_custom +# ruby-2.6.5-git-2.27-chrome-83-node-12.x-yarn-1.21-docker-19.03.1 push: *build_and_deploy_custom +# ruby-2.6.5-git-2.28-chrome-84-node-12.x-yarn-1.21-docker-19.03.1 push: *build_and_deploy_custom From ac8dba73d4e3bc143d7c69c192c080e75d1ca969 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Tue, 2 Feb 2021 16:48:38 +0100 Subject: [PATCH 018/109] Use MR workflow only --- .gitlab-ci.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c0362c7..33da5f4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,3 +1,10 @@ +# we support merge request workflow only +workflow: + rules: + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + - if: $CI_COMMIT_TAG + - if: $CI_MERGE_REQUEST_ID + default: image: docker:git services: From 9bc5a096739dbdad131efca63fc87d5029dafecc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Tue, 2 Feb 2021 16:00:53 +0000 Subject: [PATCH 019/109] Apply 1 suggestion(s) to 1 file(s) --- .gitlab-ci.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 33da5f4..bdb8a9a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,9 +1,6 @@ # we support merge request workflow only -workflow: - rules: - - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH - - if: $CI_COMMIT_TAG - - if: $CI_MERGE_REQUEST_ID +include: + - template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml' default: image: docker:git From 8321e76cabb216179d570d4cd307e78e69871533 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Tue, 2 Feb 2021 20:18:37 +0100 Subject: [PATCH 020/109] Install all required by GitLab dependencies --- scripts/install-essentials | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/scripts/install-essentials b/scripts/install-essentials index ea0d473..a53c224 100755 --- a/scripts/install-essentials +++ b/scripts/install-essentials @@ -13,22 +13,24 @@ grep "Debian GNU/Linux 9" /etc/issue || EXIT_CODE=$? if [ $EXIT_CODE -eq 0 ] then apt-get install -y \ - curl wget build-essential apt-utils locales \ + curl wget build-essential apt-utils locales openssh-client \ libssl-dev libyaml-dev libreadline6-dev zlib1g-dev \ libncurses5-dev libffi-dev libgdbm3 libgdbm-dev \ - ca-certificates libyaml-dev checkinstall libxml2-dev \ + ca-certificates checkinstall libxml2-dev \ libxslt-dev libcurl4-openssl-dev libicu-dev \ logrotate python-docutils pkg-config cmake nodejs \ libkrb5-dev postgresql-client mysql-client unzip \ + libsqlite3-dev libpq-dev libpng-dev libjpeg-dev libzstd-dev \ libre2-dev gettext rsync else apt-get install -y \ - curl wget build-essential apt-utils locales \ + curl wget build-essential apt-utils locales openssh-client \ libssl-dev libyaml-dev libreadline-dev zlib1g-dev \ - libncurses5-dev libffi-dev ca-certificates libyaml-dev libxml2-dev \ + libncurses5-dev libffi-dev ca-certificates libxml2-dev \ libxslt1-dev libcurl4-openssl-dev libicu-dev \ logrotate python-docutils pkg-config cmake \ libkrb5-dev postgresql-client unzip \ + libsqlite3-dev libpq-dev libpng-dev libjpeg-dev libzstd-dev \ libre2-dev gettext rsync fi From ba4b0253d460bfb96f1c6713115190fa07818d0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Wed, 3 Feb 2021 10:56:53 +0000 Subject: [PATCH 021/109] Install git-core --- scripts/install-essentials | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/scripts/install-essentials b/scripts/install-essentials index a53c224..6c1bbe4 100755 --- a/scripts/install-essentials +++ b/scripts/install-essentials @@ -7,10 +7,11 @@ export DEBIAN_FRONTEND=noninteractive apt-get update -EXIT_CODE=0 -grep "Debian GNU/Linux 9" /etc/issue || EXIT_CODE=$? +# We install `git-core` as some tooling expect `/usr/bin/git` +# other tools that rely on PATH ordering will pick a one in `/usr/local` +# if present -if [ $EXIT_CODE -eq 0 ] +if grep "Debian GNU/Linux 9" /etc/issue then apt-get install -y \ curl wget build-essential apt-utils locales openssh-client \ @@ -21,7 +22,7 @@ then logrotate python-docutils pkg-config cmake nodejs \ libkrb5-dev postgresql-client mysql-client unzip \ libsqlite3-dev libpq-dev libpng-dev libjpeg-dev libzstd-dev \ - libre2-dev gettext rsync + libre2-dev gettext rsync git-core else apt-get install -y \ curl wget build-essential apt-utils locales openssh-client \ @@ -31,7 +32,7 @@ else logrotate python-docutils pkg-config cmake \ libkrb5-dev postgresql-client unzip \ libsqlite3-dev libpq-dev libpng-dev libjpeg-dev libzstd-dev \ - libre2-dev gettext rsync + libre2-dev gettext rsync git-core fi # Set UTF-8 From 2f49698f21d80be3cdcbe11f6a8ca575f327c708 Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Mon, 15 Feb 2021 07:46:19 +0000 Subject: [PATCH 022/109] Update danger from 8.2.1 to 8.2.2 Signed-off-by: Takuya Noguchi --- Dockerfile.danger | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.danger b/Dockerfile.danger index 9d0c045..aeac166 100644 --- a/Dockerfile.danger +++ b/Dockerfile.danger @@ -9,7 +9,7 @@ ENV LC_ALL "C.UTF-8" ENV NODE_VERSION=12.4.0 ENV YARN_VERSION=1.21.1-1 ENV GITLAB_GEM_VERSION=4.16.1 -ENV DANGER_GEM_VERSION=8.2.1 +ENV DANGER_GEM_VERSION=8.2.2 ENV DANGER_GITLAB_GEM_VERSION=8.0.0 ADD /scripts/ /scripts/ From f2da17d538769c7472186539e7a34868d097d38f Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Mon, 15 Feb 2021 08:31:08 +0000 Subject: [PATCH 023/109] Use Docker daemon 20.10.3 instead of 19.03.0 Signed-off-by: Takuya Noguchi --- .gitlab-ci.yml | 6 +++--- scripts/custom-docker-build | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bdb8a9a..cb723f2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,7 +5,7 @@ include: default: image: docker:git services: - - docker:19.03.0-dind + - docker:20.10.3-dind before_script: - docker login -u "gitlab-ci-token" -p "$CI_JOB_TOKEN" "$CI_REGISTRY" - source scripts/build-helpers.sh @@ -41,7 +41,7 @@ variables: # Hack to set an array in /bin/sh # http://unix.stackexchange.com/a/137571 - set -- $CI_JOB_NAME - - docker pull "$CI_REGISTRY_IMAGE:$1" || true + - docker pull --quiet "$CI_REGISTRY_IMAGE:$1" || true - docker build --cache-from="$CI_REGISTRY_IMAGE:$1" -f "Dockerfile.$1" . .build_and_deploy: &build_and_deploy @@ -50,7 +50,7 @@ variables: # Hack to set an array in /bin/sh # http://unix.stackexchange.com/a/137571 - set -- $CI_JOB_NAME - - docker pull "$CI_REGISTRY_IMAGE:$1" || true + - docker pull --quiet "$CI_REGISTRY_IMAGE:$1" || true - docker build --cache-from="$CI_REGISTRY_IMAGE:$1" --label "ci_pipeline_url=$CI_PIPELINE_URL" --label "ci_job_url=$CI_JOB_URL" -t "$CI_REGISTRY_IMAGE:$1" -f "Dockerfile.$1" . - docker push "$CI_REGISTRY_IMAGE:$CI_JOB_NAME" diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index d2e8fd2..eb1acd5 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -304,7 +304,7 @@ function build_custom_if_needed() { full_image_name="$CI_REGISTRY_IMAGE:$build_image_name" # This re-uses and builds an existing image if needed - docker pull "$full_image" || true + docker pull --quiet "$full_image" || true docker_command=$(generate_command $@ --cache-from="$full_image_name" ) echo "Building $build_image_name with $docker_command" eval $docker_command From c3d25467010d5fb7c083cdd0b32da12c00f8c173 Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Mon, 15 Feb 2021 13:21:06 +0000 Subject: [PATCH 024/109] Deprecate alpine-aws image Signed-off-by: Takuya Noguchi --- .gitlab-ci.yml | 2 -- Dockerfile.alpine-aws | 4 ---- 2 files changed, 6 deletions(-) delete mode 100644 Dockerfile.alpine-aws diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bdb8a9a..d38dc9d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -113,7 +113,6 @@ ruby-2.7.2-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 test: *test_cu ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.x-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.34: *test_custom danger test: *test_build -alpine-aws test: *test_build alpine-helm test: *test_build ruby-alpine-aws test: *test_build gitlab-charts-build-base test: *test_build @@ -188,7 +187,6 @@ ruby-2.7.2-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_a ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.x-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.34 push: *build_and_deploy_custom danger push: *build_and_deploy -alpine-aws push: *build_and_deploy alpine-helm push: *build_and_deploy ruby-alpine-aws push: *build_and_deploy gitlab-charts-build-base push: *build_and_deploy diff --git a/Dockerfile.alpine-aws b/Dockerfile.alpine-aws deleted file mode 100644 index 773467b..0000000 --- a/Dockerfile.alpine-aws +++ /dev/null @@ -1,4 +0,0 @@ -FROM alpine:latest - -RUN apk --no-cache add py-pip \ - && pip install --no-cache-dir awscli From c19dc44a4f72f5c761baf6f8a49f494cad77576e Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Mon, 15 Feb 2021 17:05:42 +0000 Subject: [PATCH 025/109] Fix image pushing on CI in MR 360 Signed-off-by: Takuya Noguchi --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bdb8a9a..bc38949 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -52,7 +52,7 @@ variables: - set -- $CI_JOB_NAME - docker pull "$CI_REGISTRY_IMAGE:$1" || true - docker build --cache-from="$CI_REGISTRY_IMAGE:$1" --label "ci_pipeline_url=$CI_PIPELINE_URL" --label "ci_job_url=$CI_JOB_URL" -t "$CI_REGISTRY_IMAGE:$1" -f "Dockerfile.$1" . - - docker push "$CI_REGISTRY_IMAGE:$CI_JOB_NAME" + - docker push "$CI_REGISTRY_IMAGE:$1" .test_custom: &test_custom extends: .test From c681a73885e576e953bbc9f0b5a6e8c5ff10bc26 Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Mon, 15 Feb 2021 18:22:20 +0000 Subject: [PATCH 026/109] Deprecate node-10 image Signed-off-by: Takuya Noguchi --- .gitlab-ci.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bc38949..dabc4a2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -75,9 +75,6 @@ variables: # Tests -# Used by GDK verify step: https://gitlab.com/gitlab-org/gitlab-development-kit -node-10 test: *test_custom - # Used by Gitaly: https://gitlab.com/gitlab-org/gitaly/blob/master/.gitlab-ci.yml ruby-2.6-golang-1.14-git-2.28 test: *test_custom ruby-2.6-golang-1.15-git-2.28 test: *test_custom @@ -150,9 +147,6 @@ gitlab-operator-build-base test: *test_build # Builds -# Used by GDK verify step: https://gitlab.com/gitlab-org/gitlab-development-kit -node-10 push: *build_and_deploy_custom - # Used by Gitaly: https://gitlab.com/gitlab-org/gitaly/blob/master/.gitlab-ci.yml ruby-2.6-golang-1.14-git-2.28 push: *build_and_deploy_custom ruby-2.6-golang-1.15-git-2.28 push: *build_and_deploy_custom From 917bea8eebad0d9736e7a76caa36face19f48814 Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Tue, 16 Feb 2021 06:14:56 +0000 Subject: [PATCH 027/109] Deprecate ruby-alpine-aws image Signed-off-by: Takuya Noguchi --- .gitlab-ci.yml | 2 -- Dockerfile.ruby-alpine-aws | 4 ---- 2 files changed, 6 deletions(-) delete mode 100644 Dockerfile.ruby-alpine-aws diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4457505..33bc2ae 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -111,7 +111,6 @@ ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.x-yarn-1.21-postgres danger test: *test_build alpine-helm test: *test_build -ruby-alpine-aws test: *test_build gitlab-charts-build-base test: *test_build gitlab-charts-build-base-helm-3 test: *test_build gitlab-helm3-kubectl1.14 test: *test_build @@ -182,7 +181,6 @@ ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.x-yarn-1.21-postgres danger push: *build_and_deploy alpine-helm push: *build_and_deploy -ruby-alpine-aws push: *build_and_deploy gitlab-charts-build-base push: *build_and_deploy gitlab-charts-build-base-helm-3 push: *build_and_deploy gitlab-helm3-kubectl1.14 push: *build_and_deploy diff --git a/Dockerfile.ruby-alpine-aws b/Dockerfile.ruby-alpine-aws deleted file mode 100644 index 8df8c36..0000000 --- a/Dockerfile.ruby-alpine-aws +++ /dev/null @@ -1,4 +0,0 @@ -FROM ruby:2.5-alpine - -RUN apk --no-cache add py-pip && \ - pip install --no-cache-dir awscli From e7edcceefb5bdb0a09747e2e029a54bd246d138e Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Tue, 16 Feb 2021 09:07:35 +0000 Subject: [PATCH 028/109] Remove Ansible and Terraform custom installation scripts Signed-off-by: Takuya Noguchi --- .gitlab-ci.yml | 2 ++ Dockerfile.custom | 13 ------------- README.md | 37 +++++++++++++++++++------------------ scripts/custom-docker-build | 19 ------------------- scripts/install-ansible | 15 --------------- scripts/install-terraform | 13 ------------- 6 files changed, 21 insertions(+), 78 deletions(-) delete mode 100755 scripts/install-ansible delete mode 100755 scripts/install-terraform diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4457505..b2800f0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -138,6 +138,7 @@ sitespeed-gitlab test: *test_build ubi-release test: *test_build www-gitlab-com-2.7 test: *test_build build-git: *test_build +# Used by GitLab: https://gitlab.com/gitlab-org/gitlab/-/blob/13-8-stable-ee/lib/gitlab/ci/templates/Terraform.gitlab-ci.yml terraform test: *test_build # Used by go projects for linting https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/go_guide/index.md#automatic-linting golangci-lint-alpine test: *test_build @@ -208,6 +209,7 @@ sitespeed-gitlab push: *build_and_deploy ubi-release push: *build_and_deploy www-gitlab-com-2.7 push: *build_and_deploy build-git push: *build_and_deploy +# Used by GitLab: https://gitlab.com/gitlab-org/gitlab/-/blob/13-8-stable-ee/lib/gitlab/ci/templates/Terraform.gitlab-ci.yml terraform push: *build_and_deploy # Used by go projects for linting https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/go_guide/index.md#automatic-linting golangci-lint-alpine push: *build_and_deploy diff --git a/Dockerfile.custom b/Dockerfile.custom index 0693d6b..b64c91a 100644 --- a/Dockerfile.custom +++ b/Dockerfile.custom @@ -57,17 +57,6 @@ ARG POSTGRES_VERSION RUN if [ -n "$POSTGRES_VERSION" ] ; then /scripts/install-postgresql $POSTGRES_VERSION; fi -# Ansible -ARG ANSIBLE_VERSION - -RUN if [ -n "$ANSIBLE_VERSION" ] ; then /scripts/install-ansible $ANSIBLE_VERSION; fi - -# Terraform -ARG TERRAFORM_VERSION -ARG TERRAFORM_DOWNLOAD_SHA256 - -RUN if [ -n "$TERRAFORM_VERSION" ] ; then /scripts/install-terraform $TERRAFORM_VERSION $TERRAFORM_DOWNLOAD_SHA256; fi - # GraphicsMagick ARG GRAPHISMAGICK_VERSION ARG GRAPHISMAGICK_DOWNLOAD_URL=https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/${GRAPHISMAGICK_VERSION}/GraphicsMagick-${GRAPHISMAGICK_VERSION}.tar.gz @@ -100,8 +89,6 @@ ENV RUBY_VERSION=${RUBY_VERSION} \ GOLANG_VERSION=${INSTALL_GOLANG_VERSION} \ LFS_VERSION=${LFS_VERSION} \ POSTGRES_VERSION=${POSTGRES_VERSION} \ - ANSIBLE_VERSION=${ANSIBLE_VERSION} \ - TERRAFORM_VERSION=${TERRAFORM_VERSION} \ GRAPHISMAGICK_VERSION=${GRAPHISMAGICK_VERSION} \ DOCKER_VERSION=${DOCKER_VERSION} \ PGBOUNCER_VERSION=${PGBOUNCER_VERSION} diff --git a/README.md b/README.md index 24b4137..a8e5715 100644 --- a/README.md +++ b/README.md @@ -11,10 +11,10 @@ various parts of GitLab: There are two methods to adding a new image: -1. Use a docker buildfile. +1. Use a Dockerfile. 1. Use a custom image with versioned features. -### Use a docker buildfile +### Use a Dockerfile A bespoke image is one that uses it's own Dockerfile. In the interests of avoiding repetition, it's better to use the custom docker build if possible. @@ -37,34 +37,35 @@ The name is defined as `[feature]-[version]` pairs, separated by `-`. Here are some example build names: -1. `ruby-2.1-git-2.7` -1. `ruby-2.3.3-golang-1.8-git-2.7-chrome-60.0-node-7.1-postgresql-9.6` -1. `ruby-2.4.1-golang-1.8-git-2.7-node-7.1-postgresql-9.6` +1. `ruby-2.7-golang-1.15-git-2.29` +1. `ruby-3.0.0-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34` +1. `ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34` -The first pair represents the base image and version. So `ruby-2.1-...` will use the `ruby:2.1` base image, while -`golang-1.8` will use the `golang:1.8` base image. +The first pair represents the base image and version. So `ruby-3.0-...` will use the `ruby:3.0` base image, while +`golang-1.15` will use the `golang:1.15` base image. Each of the following parts represents another feature and version. Available options are: -1. `golang` -1. `git` 1. `chrome` -1. `node` -1. `yarn` -1. `postgres` -1. `terraform` -1. `ansible` +1. `docker` +1. `git` +1. `golang` 1. `graphicsmagick` +1. `lfs` +1. `node` 1. `pgbouncer` +1. `postgresql` +1. `ruby` +1. `yarn` #### Adding a new build -As an example, if you want to add new image for Ruby 2.4 with `git` 2.14 and `golang` 1.9, -the name would be `ruby-2.4-golang-1.9-git-2.14`. +As an example, if you want to add new image for Ruby 3.0 with `git` 2.29 and `golang` 1.15, +the name would be `ruby-3.0-golang-1.15-git-2.29`. -1. Add a test task: `ruby-2.4-golang-1.9-git-2.14 test: *test_custom` -1. Add a new build task: `ruby-2.4-golang-1.9-git-2.14: *build_and_deploy_custom` +1. Add a test task: `ruby-3.0-golang-1.15-git-2.29 test: *test_custom` +1. Add a new build task: `ruby-3.0-golang-1.15-git-2.29 push: *build_and_deploy_custom` #### Pushing a rebuild image diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index d2e8fd2..35cb5f6 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -173,27 +173,10 @@ function print_postgres_args() { printf -- "--build-arg POSTGRES_VERSION=%s " "$1" } -function print_ansible_args() { - printf -- "--build-arg ANSIBLE_VERSION=%s " "$1" -} - function print_docker_args() { printf -- "--build-arg DOCKER_VERSION=%s " "$1" } -function print_terraform_args() { - case "$1" in - 0.11) - TERRAFORM_VERSION=0.11.7 - TERRAFORM_DOWNLOAD_SHA256=6b8ce67647a59b2a3f70199c304abca0ddec0e49fd060944c26f666298e23418 - ;; - *) echo "Unknown terraform version $1"; exit 1; - esac - - printf -- "--build-arg TERRAFORM_VERSION=%s " "$TERRAFORM_VERSION" - printf -- "--build-arg TERRAFORM_DOWNLOAD_SHA256=%s " "$TERRAFORM_DOWNLOAD_SHA256" -} - function print_graphicsmagick_args() { case "$1" in 1.3.29) @@ -274,8 +257,6 @@ function parse_arguments() { node) print_node_args $version ;; yarn) print_yarn_args $version ;; postgresql) print_postgres_args $version ;; - ansible) print_ansible_args $version ;; - terraform) print_terraform_args $version ;; graphicsmagick) print_graphicsmagick_args $version ;; pgbouncer) print_pgbouncer_args $version ;; *) exit 1;; diff --git a/scripts/install-ansible b/scripts/install-ansible deleted file mode 100755 index dec9bc7..0000000 --- a/scripts/install-ansible +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -set -xeou pipefail - -ANSIBLE_VERSION=$1 - -apt-get update -apt-get install -y python-pip python-dev - -pip install --no-cache-dir --upgrade cffi -pip install --no-cache-dir "ansible==${ANSIBLE_VERSION}" - -apt-get autoremove -yq -apt-get clean -yqq -rm -rf /var/lib/apt/lists/* diff --git a/scripts/install-terraform b/scripts/install-terraform deleted file mode 100755 index 84c1e20..0000000 --- a/scripts/install-terraform +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -set -xeou pipefail - -TERRAFORM_VERSION=${1} -TERRAFORM_DOWNLOAD_SHA256=${2} - -TERRAFORM_DOWNLOAD_URL="https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip" - -curl -fsSL "$TERRAFORM_DOWNLOAD_URL" -o terraform.zip -echo "${TERRAFORM_DOWNLOAD_SHA256} terraform.zip" | sha256sum -c - -unzip -d /usr/local/bin terraform.zip -rm terraform.zip From 4687a3b967c2936b0364bfdc3029c2d998308e78 Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Sat, 20 Feb 2021 21:46:19 +0000 Subject: [PATCH 029/109] Add Ruby 3.0-based image for www-gitlab-com repo Signed-off-by: Takuya Noguchi --- .gitlab-ci.yml | 2 ++ Dockerfile.www-gitlab-com-3.0 | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 Dockerfile.www-gitlab-com-3.0 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9c4c6c9..48e72f3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -136,6 +136,7 @@ release-tools test: *test_build sitespeed-gitlab test: *test_build ubi-release test: *test_build www-gitlab-com-2.7 test: *test_build +www-gitlab-com-3.0 test: *test_build build-git: *test_build terraform test: *test_build # Used by go projects for linting https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/go_guide/index.md#automatic-linting @@ -205,6 +206,7 @@ release-tools push: *build_and_deploy sitespeed-gitlab push: *build_and_deploy ubi-release push: *build_and_deploy www-gitlab-com-2.7 push: *build_and_deploy +www-gitlab-com-3.0 push: *build_and_deploy build-git push: *build_and_deploy terraform push: *build_and_deploy # Used by go projects for linting https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/go_guide/index.md#automatic-linting diff --git a/Dockerfile.www-gitlab-com-3.0 b/Dockerfile.www-gitlab-com-3.0 new file mode 100644 index 0000000..9e8694b --- /dev/null +++ b/Dockerfile.www-gitlab-com-3.0 @@ -0,0 +1,17 @@ +FROM gcr.io/google.com/cloudsdktool/cloud-sdk as gcloud-sdk + +FROM ruby:3.0.0-slim + +ADD /scripts/ /scripts/ +RUN /scripts/install-www-gitlab-com + +# Install Google Cloud SDK for deploys via rsync +COPY --from=gcloud-sdk /usr/lib/google-cloud-sdk /usr/lib/google-cloud-sdk +COPY --from=gcloud-sdk /usr/share/google-cloud-sdk /usr/share/google-cloud-sdk +RUN cd /usr/bin && find ../lib/google-cloud-sdk/bin -type f -executable -exec ln -s {} \;; cd - + +# Set UTF-8 http://jaredmarkell.com/docker-and-locales/ +# Must be set after install-essentials is run +ENV LANG en_US.UTF-8 +ENV LANGUAGE en_US:en +ENV LC_ALL en_US.UTF-8 From b40a85d08cbf47467c584cb4887cf62b508198ff Mon Sep 17 00:00:00 2001 From: Ben Kochie Date: Mon, 22 Feb 2021 12:45:38 +0100 Subject: [PATCH 030/109] Update golangci-lint * Bump to latest golangci-lint version. * Add bash to image to allow `set -o pipefail` to be used. Related to https://gitlab.com/gitlab-org/labkit/-/merge_requests/112 Signed-off-by: Ben Kochie --- Dockerfile.golangci-lint-alpine | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile.golangci-lint-alpine b/Dockerfile.golangci-lint-alpine index 8942129..0a8b614 100644 --- a/Dockerfile.golangci-lint-alpine +++ b/Dockerfile.golangci-lint-alpine @@ -1,5 +1,5 @@ -FROM golangci/golangci-lint:v1.28.1-alpine +FROM golangci/golangci-lint:v1.37.0-alpine # git must be installed for golangci-lint's --new-from-rev flag to work. -RUN apk --no-cache add git jq +RUN apk --no-cache add git jq bash # Include a default .golangci.yml COPY /assets/.golangci.yml /golangci/.golangci.yml From 026e9fa6efeeae77af8cca4a6c02ec80afbb78b3 Mon Sep 17 00:00:00 2001 From: Tomasz Maczukin Date: Tue, 13 Aug 2019 08:59:26 +0200 Subject: [PATCH 031/109] Follow GitLab CI best practices This commit changes few things, implementing some of the GitLab CI known best practices: 1. Explicitly pointing the `docker:git` image to a specific version. Leaving the floating one we're risking that a buggy release of new Docker image will be randomly introduced to our pipelines. It's also best to make the Docker Client (used by the job from within the `docker:git` image) to be at the same version as the Docker Engine (running in the `docker:dind` service container). 2. Replacing `ci-job-token` with `CI_REGISTRY_USER` and `CI_JOB_TOKEN` with `CI_REGISTRY_PASSWORD` makes the script more bulletproff. Yes, at this moment these variables contain the same values. But they are dedicated for such usage and if GitLab CI will ever decide to switch how Registry access should be done, the dedicated variables will folow the proper way. --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b1873a3..4749981 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,11 +3,11 @@ include: - template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml' default: - image: docker:git + image: docker:20.10.3-git services: - docker:20.10.3-dind before_script: - - docker login -u "gitlab-ci-token" -p "$CI_JOB_TOKEN" "$CI_REGISTRY" + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY" - source scripts/build-helpers.sh - apk add -U bash tags: From adc29589210a5d058af78f61eabae353c17ca54c Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Sat, 27 Feb 2021 13:25:53 +0000 Subject: [PATCH 032/109] Upgrade the default Node.js version from 12.4.0 to 14.16.0 Also node-14 will be changed from 14.15.4 to 14.16.0 as intended, while node-12 will not be changed staying with 12.4.0. Signed-off-by: Takuya Noguchi --- scripts/custom-docker-build | 5 +++-- scripts/install-node | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index d14bd4e..2ea6bab 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -151,8 +151,9 @@ function print_node_args() { 8|8.x) NODE_INSTALL_VERSION=8.16.0 ;; 10|10.x) NODE_INSTALL_VERSION=10.16.0 ;; 12|12.x) NODE_INSTALL_VERSION=12.4.0 ;; - 12|12.18) NODE_INSTALL_VERSION=12.18.4 ;; - 14|14.15) NODE_INSTALL_VERSION=14.15.4 ;; + 12.18) NODE_INSTALL_VERSION=12.18.4 ;; + 14.15) NODE_INSTALL_VERSION=14.15.4 ;; + 14|14.16) NODE_INSTALL_VERSION=14.16.0 ;; *) echo "Unknown node version $1"; exit 1; esac printf -- "--build-arg NODE_INSTALL_VERSION=%s " "$NODE_INSTALL_VERSION" diff --git a/scripts/install-node b/scripts/install-node index 724d191..bf20116 100755 --- a/scripts/install-node +++ b/scripts/install-node @@ -2,7 +2,7 @@ set -xeuo pipefail IFS=$'\n\t' -NODE_INSTALL_VERSION=${1:-12.4.0} +NODE_INSTALL_VERSION=${1:-14.16.0} YARN_INSTALL_VERSION=${2:-1.21.1-1} # Map MAJOR.MINOR.patch -> MAJOR.x From 805eece0cead371bd9512d01f31e1921fb98d7cd Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Sat, 27 Feb 2021 13:37:15 +0000 Subject: [PATCH 033/109] Update Node from 12.4.0 to 12.18.4 Signed-off-by: Takuya Noguchi --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4749981..fd8f38b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -107,7 +107,7 @@ ruby-2.6.5-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 test: *test_cu ruby-2.7.2-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml -ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.x-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.34: *test_custom +ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.18-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.34: *test_custom danger test: *test_build alpine-helm test: *test_build @@ -179,7 +179,7 @@ ruby-2.6.5-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_a ruby-2.7.2-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml -ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.x-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.34 push: *build_and_deploy_custom +ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.18-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.34 push: *build_and_deploy_custom danger push: *build_and_deploy alpine-helm push: *build_and_deploy From f8b01d2ef80e46f513e11d9b4039f3e8db1d8d72 Mon Sep 17 00:00:00 2001 From: Hossein Pursultani Date: Tue, 2 Mar 2021 20:39:01 +0000 Subject: [PATCH 034/109] Add Helm to Operator build image Also includes cleanups --- Dockerfile.gitlab-operator-build-base | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/Dockerfile.gitlab-operator-build-base b/Dockerfile.gitlab-operator-build-base index dbd14a0..ed7e473 100644 --- a/Dockerfile.gitlab-operator-build-base +++ b/Dockerfile.gitlab-operator-build-base @@ -5,14 +5,19 @@ LABEL maintainer="GitLab Distribution Team" \ ARG KUBEBUILDER_VERSION=2.3.1 ARG YQ_VERSION=2.4.1 +ARG HELM_VERSION=3.5.2 RUN go get -u \ github.com/onsi/ginkgo/ginkgo \ golang.org/x/lint/golint \ - && curl -L https://go.kubebuilder.io/dl/${KUBEBUILDER_VERSION}/linux/amd64 | tar -xz -C /tmp/ \ + && curl --retry 6 -Ls https://go.kubebuilder.io/dl/${KUBEBUILDER_VERSION}/linux/amd64 | tar -xz -C /tmp/ \ && mv /tmp/kubebuilder_${KUBEBUILDER_VERSION}_linux_amd64 /usr/local/kubebuilder \ - && ln -sfv /usr/local/kubebuilder/bin/* /usr/local/bin + && ln -sfv /usr/local/kubebuilder/bin/* /usr/local/bin \ + && curl --retry 6 -LsO https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/yq_linux_amd64 \ + && chmod +x yq_linux_amd64 \ + && mv yq_linux_amd64 /usr/local/bin/yq \ + && curl --retry 6 -Ls "https://get.helm.sh/helm-v${HELM_VERSION}-linux-amd64.tar.gz" | tar -xz -C /tmp/ \ + && chmod +x /tmp/linux-amd64/helm \ + && mv /tmp/linux-amd64/helm /usr/local/bin/helm \ + && rm -rf /var/lib/apt/lists/* /tmp/* -RUN curl --retry 6 -LsO https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/yq_linux_amd64 \ - && chmod +x yq_linux_amd64 \ - && mv yq_linux_amd64 /usr/local/bin/yq From 3d767cea429c0e09234a819410d1b79966b91f8c Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Fri, 5 Mar 2021 23:04:33 +0000 Subject: [PATCH 035/109] Deprecate Gitaly build images for Ruby 2.6 Signed-off-by: Takuya Noguchi --- .gitlab-ci.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fd8f38b..fd12b41 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -76,9 +76,6 @@ variables: # Tests # Used by Gitaly: https://gitlab.com/gitlab-org/gitaly/blob/master/.gitlab-ci.yml -ruby-2.6-golang-1.14-git-2.28 test: *test_custom -ruby-2.6-golang-1.15-git-2.28 test: *test_custom -ruby-2.6-golang-1.15-git-2.28-pgbouncer-1.14 test: *test_custom ruby-2.7-golang-1.14-git-2.28 test: *test_custom ruby-2.7-golang-1.15-git-2.28 test: *test_custom ruby-2.7-golang-1.15-git-2.28-pgbouncer-1.14 test: *test_custom @@ -148,9 +145,6 @@ gitlab-operator-build-base test: *test_build # Builds # Used by Gitaly: https://gitlab.com/gitlab-org/gitaly/blob/master/.gitlab-ci.yml -ruby-2.6-golang-1.14-git-2.28 push: *build_and_deploy_custom -ruby-2.6-golang-1.15-git-2.28 push: *build_and_deploy_custom -ruby-2.6-golang-1.15-git-2.28-pgbouncer-1.14 push: *build_and_deploy_custom ruby-2.7-golang-1.14-git-2.28 push: *build_and_deploy_custom ruby-2.7-golang-1.15-git-2.28 push: *build_and_deploy_custom ruby-2.7-golang-1.15-git-2.28-pgbouncer-1.14 push: *build_and_deploy_custom From 160258a0a7174cea5b429d36d8d2d25b679b4073 Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Mon, 8 Mar 2021 03:33:42 +0000 Subject: [PATCH 036/109] Update GraphicsMagick to 1.3.36 Signed-off-by: Takuya Noguchi --- .gitlab-ci.yml | 40 ++++++++++++++++++------------------- scripts/custom-docker-build | 4 ++++ 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fd8f38b..554b755 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -87,17 +87,17 @@ ruby-2.7-golang-1.15-git-2.29 test: *test_custom ruby-2.7-golang-1.15-git-2.29-pgbouncer-1.14 test: *test_custom # Used by GitLab: https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab-ci.yml -ruby-2.7.2.patched-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom -ruby-2.7.2.patched-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom -ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom -ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom -ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 test: *test_custom -ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 test: *test_custom +ruby-2.7.2.patched-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2.patched-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs -ruby-2.7.2-git-2.28-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34 test: *test_custom -ruby-2.7.2-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34 test: *test_custom -ruby-3.0.0-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34 test: *test_custom +ruby-2.7.2-git-2.28-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.0-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom # Used by www-gitlab-com's rspec job: https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/.gitlab-ci.yml ruby-2.6.5-git-2.28-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom @@ -107,7 +107,7 @@ ruby-2.6.5-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 test: *test_cu ruby-2.7.2-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml -ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.18-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.34: *test_custom +ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.18-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.36: *test_custom danger test: *test_build alpine-helm test: *test_build @@ -159,17 +159,17 @@ ruby-2.7-golang-1.15-git-2.29 push: *build_and_deploy_custom ruby-2.7-golang-1.15-git-2.29-pgbouncer-1.14 push: *build_and_deploy_custom # Used by GitLab CE/EE: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/.gitlab-ci.yml -ruby-2.7.2.patched-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 push: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 push: *build_and_deploy_custom -ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom -ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs -ruby-2.7.2-git-2.28-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34 push: *build_and_deploy_custom -ruby-2.7.2-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34 push: *build_and_deploy_custom -ruby-3.0.0-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.34 push: *build_and_deploy_custom +ruby-2.7.2-git-2.28-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.0-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom # Used by www-gitlab-com's rspec job: https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/.gitlab-ci.yml ruby-2.6.5-git-2.28-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom @@ -179,7 +179,7 @@ ruby-2.6.5-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_a ruby-2.7.2-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml -ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.18-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.34 push: *build_and_deploy_custom +ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.18-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.36 push: *build_and_deploy_custom danger push: *build_and_deploy alpine-helm push: *build_and_deploy diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index 2ea6bab..0875559 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -192,6 +192,10 @@ function print_graphicsmagick_args() { GRAPHISMAGICK_VERSION=1.3.34 GRAPHISMAGICK_DOWNLOAD_SHA256=4717f7a32d964c515d83706fd52d34e089c2ffa35f8fbf43c923ce19343cf2f4 ;; + 1.3.36) + GRAPHISMAGICK_VERSION=1.3.36 + GRAPHISMAGICK_DOWNLOAD_SHA256=1e6723c48c4abbb31197fadf8396b2d579d97e197123edc70a4f057f0533d563 + ;; *) echo "Unknown graphicsmagick version $1"; exit 1; esac From 7de9a01c6a44130e2186d3a6f6069ba467392ab1 Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Wed, 10 Mar 2021 13:59:13 +0000 Subject: [PATCH 037/109] Remove entries of legacy Chrome image tags from the CI manifest Signed-off-by: Takuya Noguchi --- .gitlab-ci.yml | 37 ------------------------------------- 1 file changed, 37 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3340c18..f9b4fd4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -218,40 +218,3 @@ cache-google-chrome: - mkdir -p "$MOUNT_POINT" - cp scripts/cache-google-chrome $MOUNT_POINT - docker run -e "AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID" -e "AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY" -v "$MOUNT_POINT:/mnt" ubuntu:16.04 /mnt/cache-google-chrome - -# Old Google Chrome images are listed here for reference: - -# These still exist in our docker repository, but they cannot be built anymore since -# Google yanks them from their PPA. To build variations of these requires an image based on -# one of the images below. - -# See https://gitlab.com/gitlab-org/gitlab-build-images/merge_requests/54 for an example - -# ruby-2.3.3-golang-1.8-git-2.7-chrome-59.0-node-7.1-postgresql-9.6 push: *build_and_deploy_custom -# ruby-2.3.3-golang-1.8-git-2.7-chrome-60.0-node-7.1-postgresql-9.6 push: *build_and_deploy_custom -# ruby-2.3.3-golang-1.8-git-2.13-chrome-59.0-node-7.1-postgresql-9.6 push: *build_and_deploy_custom -# ruby-2.3.3-golang-1.8-git-2.13-chrome-60.0-node-7.1-postgresql-9.6 push: *build_and_deploy_custom -# ruby-2.3.3-golang-1.8-git-2.13-chrome-61.0-node-8.x-yarn-1.0-postgresql-9.6 push: *build_and_deploy_custom -# ruby-2.3.5-golang-1.8-git-2.13-chrome-61.0-node-8.x-yarn-1.0-postgresql-9.6 push: *build_and_deploy_custom -# ruby-2.3.5-golang-1.8-git-2.13-chrome-62.0-node-8.x-yarn-1.2-postgresql-9.6 push: *build_and_deploy_custom -# ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-73.0-node-12.x-yarn-1.21-postgresql-9.6-graphicsmagick-1.3.34 push: *build_and_deploy_custom -# ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-73.0-node-12.x-yarn-1.21-postgresql-10-graphicsmagick-1.3.34 push: *build_and_deploy_custom -# ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-73.0-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom -# ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.x-yarn-1.21-postgresql-9.6-graphicsmagick-1.3.34 push: *build_and_deploy_custom -# ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.x-yarn-1.21-postgresql-10-graphicsmagick-1.3.34 push: *build_and_deploy_custom -# ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom -# ruby-2.6.6-golang-1.14-git-2.27-lfs-2.9-chrome-83-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom -# ruby-2.6.6-golang-1.14-git-2.27-lfs-2.9-chrome-83-node-12.x-yarn-1.21-postgresql-12-graphicsmagick-1.3.34 push: *build_and_deploy_custom -# ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom -# ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-12-graphicsmagick-1.3.34 push: *build_and_deploy_custom -# ruby-2.7.1-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom -# ruby-2.7.1-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-12-graphicsmagick-1.3.34 push: *build_and_deploy_custom -# ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom -# ruby-2.7.2-golang-1.14-git-2.28-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 push: *build_and_deploy_custom -# ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom -# ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 push: *build_and_deploy_custom -# ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 push: *build_and_deploy_custom -# ruby-3.0.0-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-12-graphicsmagick-1.3.34 push: *build_and_deploy_custom - -# ruby-2.6.5-git-2.27-chrome-83-node-12.x-yarn-1.21-docker-19.03.1 push: *build_and_deploy_custom -# ruby-2.6.5-git-2.28-chrome-84-node-12.x-yarn-1.21-docker-19.03.1 push: *build_and_deploy_custom From f544166abac659e8b071ac686877aef73f0bdc79 Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Mon, 15 Mar 2021 03:02:50 +0000 Subject: [PATCH 038/109] Update Golang 1.14/1.15 minor revisions Signed-off-by: Takuya Noguchi --- scripts/custom-docker-build | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index 0875559..e67c753 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -7,21 +7,13 @@ source scripts/build-helpers.sh function print_golang_args() { case "$1" in - 1.12) - INSTALL_GOLANG_VERSION=1.12.13 - GOLANG_DOWNLOAD_SHA256=da036454cb3353f9f507f0ceed4048feac611065e4e1818b434365eb32ac9bdc - ;; - 1.13) - INSTALL_GOLANG_VERSION=1.13.4 - GOLANG_DOWNLOAD_SHA256=692d17071736f74be04a72a06dab9cac1cd759377bd85316e52b2227604c004c - ;; 1.14) - INSTALL_GOLANG_VERSION=1.14.1 - GOLANG_DOWNLOAD_SHA256=2f49eb17ce8b48c680cdb166ffd7389702c0dec6effa090c324804a5cac8a7f8 + INSTALL_GOLANG_VERSION=1.14.15 + GOLANG_DOWNLOAD_SHA256=c64a57b374a81f7cf1408d2c410a28c6f142414f1ffa9d1062de1d653b0ae0d6 ;; 1.15) - INSTALL_GOLANG_VERSION=1.15.5 - GOLANG_DOWNLOAD_SHA256=9a58494e8da722c3aef248c9227b0e9c528c7318309827780f16220998180a0d + INSTALL_GOLANG_VERSION=1.15.10 + GOLANG_DOWNLOAD_SHA256=4aa1267517df32f2bf1cc3d55dfc27d0c6b2c2b0989449c96dd19273ccca051d ;; *) echo "Unknown golang version $1"; exit 1; esac From c66de8800eda15d8779e80a6f0d8b3b3424e74e4 Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Mon, 15 Mar 2021 07:15:09 +0000 Subject: [PATCH 039/109] Avoid to use stretch image in Ruby 2.6-base images Signed-off-by: Takuya Noguchi --- scripts/custom-docker-build | 3 --- 1 file changed, 3 deletions(-) diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index 0875559..2cfae30 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -219,9 +219,6 @@ function print_pgbouncer_args() { function print_ruby_args() { case "$1" in 2.6|2.6.*) - # 2.6 requires older version of debian - CUSTOM_IMAGE_NAME=debian - CUSTOM_IMAGE_VERSION=stretch RUBY_VERSION="2.6.6" RUBY_DOWNLOAD_SHA256="364b143def360bac1b74eb56ed60b1a0dca6439b00157ae11ff77d5cd2e92291" ;; From ee508fa7a42a6c39cfff9ed3eb1cf0a8f2f15ed7 Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Tue, 16 Mar 2021 08:20:57 +0100 Subject: [PATCH 040/109] ci: Drop builds with git v2.28.0 The minimum required version of git has been bumped to v2.29.0 some time ago. It's thus not necessary anymore to build images for git v2.28.0. Drop them. --- .gitlab-ci.yml | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f9b4fd4..c34650f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -76,29 +76,21 @@ variables: # Tests # Used by Gitaly: https://gitlab.com/gitlab-org/gitaly/blob/master/.gitlab-ci.yml -ruby-2.7-golang-1.14-git-2.28 test: *test_custom -ruby-2.7-golang-1.15-git-2.28 test: *test_custom -ruby-2.7-golang-1.15-git-2.28-pgbouncer-1.14 test: *test_custom ruby-2.7-golang-1.14-git-2.29 test: *test_custom ruby-2.7-golang-1.15-git-2.29 test: *test_custom ruby-2.7-golang-1.15-git-2.29-pgbouncer-1.14 test: *test_custom # Used by GitLab: https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab-ci.yml -ruby-2.7.2.patched-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.2.patched-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs -ruby-2.7.2-git-2.28-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.0-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom # Used by www-gitlab-com's rspec job: https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/.gitlab-ci.yml -ruby-2.6.5-git-2.28-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom -ruby-2.6.5-git-2.28-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom ruby-2.6.5-git-2.29-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom ruby-2.6.5-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom ruby-2.7.2-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom @@ -145,29 +137,21 @@ gitlab-operator-build-base test: *test_build # Builds # Used by Gitaly: https://gitlab.com/gitlab-org/gitaly/blob/master/.gitlab-ci.yml -ruby-2.7-golang-1.14-git-2.28 push: *build_and_deploy_custom -ruby-2.7-golang-1.15-git-2.28 push: *build_and_deploy_custom -ruby-2.7-golang-1.15-git-2.28-pgbouncer-1.14 push: *build_and_deploy_custom ruby-2.7-golang-1.14-git-2.29 push: *build_and_deploy_custom ruby-2.7-golang-1.15-git-2.29 push: *build_and_deploy_custom ruby-2.7-golang-1.15-git-2.29-pgbouncer-1.14 push: *build_and_deploy_custom # Used by GitLab CE/EE: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/.gitlab-ci.yml -ruby-2.7.2.patched-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.14-git-2.28-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs -ruby-2.7.2-git-2.28-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.0-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom # Used by www-gitlab-com's rspec job: https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/.gitlab-ci.yml -ruby-2.6.5-git-2.28-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom -ruby-2.6.5-git-2.28-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom ruby-2.6.5-git-2.29-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom ruby-2.6.5-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom ruby-2.7.2-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom From cfdf21780842efd11040fae9fbaf98311f759d80 Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Tue, 16 Mar 2021 08:40:21 +0100 Subject: [PATCH 041/109] ci: Upgrade customers-gitlab-com image to use git v2.31 One of the images we build is still using git v2.26.0. Upgrade it to use git v2.31.0 such that we can drop all git versions before v2.29.0 at a later point. Downstream will be upgraded accordingly after the updated build image has landed. --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c34650f..68e899e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -96,7 +96,7 @@ ruby-2.6.5-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 test: *test_cu ruby-2.7.2-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml -ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.18-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.36: *test_custom +ruby-2.6.6-golang-1.14-git-2.31-lfs-2.9-chrome-81.0-node-12.18-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.36: *test_custom danger test: *test_build alpine-helm test: *test_build @@ -157,7 +157,7 @@ ruby-2.6.5-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_a ruby-2.7.2-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml -ruby-2.6.6-golang-1.14-git-2.26-lfs-2.9-chrome-81.0-node-12.18-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.6.6-golang-1.14-git-2.31-lfs-2.9-chrome-81.0-node-12.18-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.36 push: *build_and_deploy_custom danger push: *build_and_deploy alpine-helm push: *build_and_deploy From 368176b2e71caafd8d19a690da49094e7796a342 Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Tue, 16 Mar 2021 08:32:35 +0100 Subject: [PATCH 042/109] scripts: Drop old versions of git The minimum required version of git nowadays is v2.29.0, and thus we don't create images with versions older than that anymore. We can thus safely drop their hashes from the custom-docker-build script. --- scripts/custom-docker-build | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index 12245d7..4e146cf 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -73,38 +73,6 @@ function print_chrome_args() { # see https://www.kernel.org/pub/software/scm/git function print_git_args() { case "$1" in - 2.18) - GIT_VERSION=2.18.0 - GIT_DOWNLOAD_SHA256=94faf2c0b02a7920b0b46f4961d8e9cad08e81418614102898a55f980fa3e7e4 - ;; - 2.21) - GIT_VERSION=2.21.0 - GIT_DOWNLOAD_SHA256=85eca51c7404da75e353eba587f87fea9481ba41e162206a6f70ad8118147bee - ;; - 2.22) - GIT_VERSION=2.22.0 - GIT_DOWNLOAD_SHA256=a4b7e4365bee43caa12a38d646d2c93743d755d1cea5eab448ffb40906c9da0b - ;; - 2.24) - GIT_VERSION=2.24.3 - GIT_DOWNLOAD_SHA256=ef6d1d1de1d7921a54d23d07479bd2766f050d6435cea5d3b5322aa4897cb3d7 - ;; - 2.25) - GIT_VERSION=2.25.4 - GIT_DOWNLOAD_SHA256=1b11d0ee481c6735e9f7d81a3576ef0989bde7843cb4adcdef578c0593d279ab - ;; - 2.26) - GIT_VERSION=2.26.2 - GIT_DOWNLOAD_SHA256=e1c17777528f55696815ef33587b1d20f5eec246669f3b839d15dbfffad9c121 - ;; - 2.27) - GIT_VERSION=2.27.0 - GIT_DOWNLOAD_SHA256=77ded85cbe42b1ffdc2578b460a1ef5d23bcbc6683eabcafbb0d394dffe2e787 - ;; - 2.28) - GIT_VERSION=2.28.0 - GIT_DOWNLOAD_SHA256=f914c60a874d466c1e18467c864a910dd4ea22281ba6d4d58077cb0c3f115170 - ;; 2.29) GIT_VERSION=2.29.0 GIT_DOWNLOAD_SHA256=fa08dc8424ef80c0f9bf307877f9e2e49f1a6049e873530d6747c2be770742ff From 3272fc25ccff2d424152cab9aec0a2020ba0c6ab Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Tue, 16 Mar 2021 08:22:52 +0100 Subject: [PATCH 043/109] ci: Start building images for git v2.31.0 We're going to switch over to git v2.31.0 soonish. As a preparatory step, this commit adds a bunch of jobs to start building images with this version. --- .gitlab-ci.yml | 24 ++++++++++++++++++++++++ scripts/custom-docker-build | 4 ++++ 2 files changed, 28 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 68e899e..e1f0d83 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -79,21 +79,33 @@ variables: ruby-2.7-golang-1.14-git-2.29 test: *test_custom ruby-2.7-golang-1.15-git-2.29 test: *test_custom ruby-2.7-golang-1.15-git-2.29-pgbouncer-1.14 test: *test_custom +ruby-2.7-golang-1.14-git-2.31 test: *test_custom +ruby-2.7-golang-1.15-git-2.31 test: *test_custom +ruby-2.7-golang-1.15-git-2.31-pgbouncer-1.14 test: *test_custom # Used by GitLab: https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab-ci.yml ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.0-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom # Used by www-gitlab-com's rspec job: https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/.gitlab-ci.yml ruby-2.6.5-git-2.29-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom ruby-2.6.5-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom ruby-2.7.2-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom +ruby-2.6.5-git-2.31-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom +ruby-2.6.5-git-2.31-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom +ruby-2.7.2-git-2.31-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml ruby-2.6.6-golang-1.14-git-2.31-lfs-2.9-chrome-81.0-node-12.18-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.36: *test_custom @@ -140,21 +152,33 @@ gitlab-operator-build-base test: *test_build ruby-2.7-golang-1.14-git-2.29 push: *build_and_deploy_custom ruby-2.7-golang-1.15-git-2.29 push: *build_and_deploy_custom ruby-2.7-golang-1.15-git-2.29-pgbouncer-1.14 push: *build_and_deploy_custom +ruby-2.7-golang-1.14-git-2.31 push: *build_and_deploy_custom +ruby-2.7-golang-1.15-git-2.31 push: *build_and_deploy_custom +ruby-2.7-golang-1.15-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom # Used by GitLab CE/EE: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/.gitlab-ci.yml ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.0-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom # Used by www-gitlab-com's rspec job: https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/.gitlab-ci.yml ruby-2.6.5-git-2.29-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom ruby-2.6.5-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom ruby-2.7.2-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom +ruby-2.6.5-git-2.31-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom +ruby-2.6.5-git-2.31-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom +ruby-2.7.2-git-2.31-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml ruby-2.6.6-golang-1.14-git-2.31-lfs-2.9-chrome-81.0-node-12.18-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.36 push: *build_and_deploy_custom diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index 4e146cf..6c2990a 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -77,6 +77,10 @@ function print_git_args() { GIT_VERSION=2.29.0 GIT_DOWNLOAD_SHA256=fa08dc8424ef80c0f9bf307877f9e2e49f1a6049e873530d6747c2be770742ff ;; + 2.31) + GIT_VERSION=2.31.0 + GIT_DOWNLOAD_SHA256=bc6168777883562569144d536e8a855b12d25d46870d95188a3064260d7784ee + ;; *) echo "Unknown git version $1"; exit 1; esac From 9e8f7b973a14c4bc3bb37c521c259c5322bbde37 Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Tue, 16 Mar 2021 10:38:35 +0100 Subject: [PATCH 044/109] scripts: Fix pgbouncer install script not reporting errors The install-pgbouncer script is not currently reporting any build errors to the caller, except if the final `rm -rf` fails. Fix the issue by executing `set -xeuo pipefail` to properly report errors of any unchecked commands and chaining commands with `&&`'s. While the latter shouldn't be necessary anymore because of changed options, it's easy enough to do for this script. With this change, we now properly notice that building pgbouncer fails currently because of a missing libevent dependency. This failure is fixed in a subsequent commit. --- scripts/install-pgbouncer | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/scripts/install-pgbouncer b/scripts/install-pgbouncer index be00920..9c7c35f 100755 --- a/scripts/install-pgbouncer +++ b/scripts/install-pgbouncer @@ -1,19 +1,18 @@ #!/bin/bash +set -xeuo pipefail + PGBOUNCER_VERSION=${1} PGBOUNCER_DOWNLOAD_SHA256=${2} - PGBOUNCER_DOWNLOAD_URL="https://pgbouncer.github.io/downloads/files/$PGBOUNCER_VERSION/pgbouncer-$PGBOUNCER_VERSION.tar.gz" -curl -o pgbouncer.tar.gz -fsSL $PGBOUNCER_DOWNLOAD_URL -echo "${PGBOUNCER_DOWNLOAD_SHA256} pgbouncer.tar.gz" | sha256sum -c - - -tar xfz pgbouncer.tar.gz -rm -f pgbouncer.tar.gz -cd pgbouncer-${PGBOUNCER_VERSION} -./configure --prefix=/usr/local -make -cp pgbouncer /usr/local/bin - -cd .. -rm -rf pgbouncer-${PGBOUNCER_VERSION} +curl -o pgbouncer.tar.gz -fsSL $PGBOUNCER_DOWNLOAD_URL \ + && echo "${PGBOUNCER_DOWNLOAD_SHA256} pgbouncer.tar.gz" | sha256sum -c - \ + && tar xfz pgbouncer.tar.gz \ + && rm -f pgbouncer.tar.gz \ + && cd pgbouncer-${PGBOUNCER_VERSION} \ + && ./configure --prefix=/usr/local \ + && make \ + && cp pgbouncer /usr/local/bin \ + && cd .. \ + && rm -rf pgbouncer-${PGBOUNCER_VERSION} From 8380f29a2456525c3c5d87128ba47bf8ffda8024 Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Tue, 16 Mar 2021 10:40:13 +0100 Subject: [PATCH 045/109] scripts: Install libevent-dev dependency to fix pgbouncer build The pgbouncer build is currently broken because of a missing build dependency. This went unnoticed because the build script previously didn't report any build errors. Fix the build by installing the missing libevent-dev dependency. --- scripts/install-essentials | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/install-essentials b/scripts/install-essentials index 6c1bbe4..d855a32 100755 --- a/scripts/install-essentials +++ b/scripts/install-essentials @@ -22,7 +22,7 @@ then logrotate python-docutils pkg-config cmake nodejs \ libkrb5-dev postgresql-client mysql-client unzip \ libsqlite3-dev libpq-dev libpng-dev libjpeg-dev libzstd-dev \ - libre2-dev gettext rsync git-core + libre2-dev libevent-dev gettext rsync git-core else apt-get install -y \ curl wget build-essential apt-utils locales openssh-client \ @@ -32,7 +32,7 @@ else logrotate python-docutils pkg-config cmake \ libkrb5-dev postgresql-client unzip \ libsqlite3-dev libpq-dev libpng-dev libjpeg-dev libzstd-dev \ - libre2-dev gettext rsync git-core + libre2-dev libevent-dev gettext rsync git-core fi # Set UTF-8 From 7fc0ea96c4f9c3f7e597ffd8eb7497650c8a3115 Mon Sep 17 00:00:00 2001 From: Albert Salim Date: Tue, 16 Mar 2021 14:44:15 +0000 Subject: [PATCH 046/109] Update Chrome to 89 https://chromereleases.googleblog.com/2021/03/stable-channel-update-for-chrome-os.html https://chromedriver.chromium.org/downloads --- .gitlab-ci.yml | 32 ++++++++++++++++---------------- scripts/custom-docker-build | 4 ++++ 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e1f0d83..4a3dd8c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -84,14 +84,14 @@ ruby-2.7-golang-1.15-git-2.31 test: *test_custom ruby-2.7-golang-1.15-git-2.31-pgbouncer-1.14 test: *test_custom # Used by GitLab: https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab-ci.yml -ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom -ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom -ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom -ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom -ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom @@ -157,14 +157,14 @@ ruby-2.7-golang-1.15-git-2.31 push: *build_and_deploy_custom ruby-2.7-golang-1.15-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom # Used by GitLab CE/EE: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/.gitlab-ci.yml -ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index 6c2990a..4e608a9 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -64,6 +64,10 @@ function print_chrome_args() { CHROME_VERSION=87.0.4280.88-1 CHROME_DRIVER_VERSION=87.0.4280.88 ;; + 89|89.0) + CHROME_VERSION=89.0.4389.90-1 + CHROME_DRIVER_VERSION=89.0.4389.23 + ;; *) echo "Unknown chrome version $1"; exit 1; esac printf -- "--build-arg CHROME_VERSION=%s " "$CHROME_VERSION" From 00d0498d63f2a6d54fb10ac4a147ac720d9fcfa6 Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Mon, 15 Mar 2021 02:55:27 +0000 Subject: [PATCH 047/109] Add Go 1.16.2 to the build images Signed-off-by: Takuya Noguchi --- scripts/custom-docker-build | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index 4e608a9..c596510 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -15,6 +15,10 @@ function print_golang_args() { INSTALL_GOLANG_VERSION=1.15.10 GOLANG_DOWNLOAD_SHA256=4aa1267517df32f2bf1cc3d55dfc27d0c6b2c2b0989449c96dd19273ccca051d ;; + 1.16) + INSTALL_GOLANG_VERSION=1.16.2 + GOLANG_DOWNLOAD_SHA256=542e936b19542e62679766194364f45141fde55169db2d8d01046555ca9eb4b8 + ;; *) echo "Unknown golang version $1"; exit 1; esac From cc121a93fb81c55008034ea6119ac13a44092dd7 Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Mon, 22 Mar 2021 15:26:14 +0000 Subject: [PATCH 048/109] Add kubectl 1.17/Helm 3.5.2-based image Signed-off-by: Takuya Noguchi --- .gitlab-ci.yml | 4 ++-- Dockerfile.gitlab-helm3.5-kubectl1.17 | 27 +++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 Dockerfile.gitlab-helm3.5-kubectl1.17 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4a3dd8c..919da66 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -114,7 +114,7 @@ danger test: *test_build alpine-helm test: *test_build gitlab-charts-build-base test: *test_build gitlab-charts-build-base-helm-3 test: *test_build -gitlab-helm3-kubectl1.14 test: *test_build +gitlab-helm3.5-kubectl1.17 test: *test_build gitlab-qa-ruby-2.7 test: *test_build gitlab-qa-ruby-3.0 test: *test_build gitlab-qa-alpine-ruby-2.7 test: *test_build @@ -187,7 +187,7 @@ danger push: *build_and_deploy alpine-helm push: *build_and_deploy gitlab-charts-build-base push: *build_and_deploy gitlab-charts-build-base-helm-3 push: *build_and_deploy -gitlab-helm3-kubectl1.14 push: *build_and_deploy +gitlab-helm3.5-kubectl1.17 push: *build_and_deploy gitlab-qa-ruby-2.7 push: *build_and_deploy gitlab-qa-ruby-3.0 push: *build_and_deploy gitlab-qa-alpine-ruby-2.7 push: *build_and_deploy diff --git a/Dockerfile.gitlab-helm3.5-kubectl1.17 b/Dockerfile.gitlab-helm3.5-kubectl1.17 new file mode 100644 index 0000000..1ef2539 --- /dev/null +++ b/Dockerfile.gitlab-helm3.5-kubectl1.17 @@ -0,0 +1,27 @@ +FROM ruby:3.0.0-alpine +MAINTAINER GitLab Engineering Productivity Team + +ENV KUBECTL_VERSION=1.17.17 + +ENV HELM_VERSION=3.5.3 +ENV HELM_URL=https://get.helm.sh/helm-v${HELM_VERSION}-linux-amd64.tar.gz +ENV HELM_HOME=/root/.helm + +# Install dependencies +RUN apk --no-cache -U add openssl curl tar gzip bash ca-certificates git \ + && mkdir -p /opt + +# Install kubectl +RUN wget https://dl.k8s.io/release/v${KUBECTL_VERSION}/bin/linux/amd64/kubectl \ + && install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl \ + && rm -f kubectl + +# Install Helm +RUN wget -q -O - ${HELM_URL} | tar zxf - \ + && mv linux-amd64/helm /usr/bin/ \ + && chmod +x /usr/bin/helm \ + && helm version --client + +# Install kubeval +RUN mkdir -p $HELM_HOME/plugins \ + && helm plugin install https://github.com/instrumenta/helm-kubeval From a0dff839c47627f5a987bc74dc64a0d5545cac03 Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Tue, 6 Apr 2021 03:51:42 +0000 Subject: [PATCH 049/109] Remove ruby-2.7.2-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 Deprecate the 6 following images: - ruby-2.6.5-git-2.29-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1 - ruby-2.6.5-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 - ruby-2.7.2-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 - ruby-2.6.5-git-2.31-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1 - ruby-2.6.5-git-2.31-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 - ruby-2.7.2-git-2.31-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 Signed-off-by: Takuya Noguchi --- .gitlab-ci.yml | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 919da66..1d94117 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -99,14 +99,6 @@ ruby-3.0.0-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *te ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom -# Used by www-gitlab-com's rspec job: https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/.gitlab-ci.yml -ruby-2.6.5-git-2.29-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom -ruby-2.6.5-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom -ruby-2.7.2-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom -ruby-2.6.5-git-2.31-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom -ruby-2.6.5-git-2.31-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom -ruby-2.7.2-git-2.31-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 test: *test_custom - # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml ruby-2.6.6-golang-1.14-git-2.31-lfs-2.9-chrome-81.0-node-12.18-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.36: *test_custom @@ -172,14 +164,6 @@ ruby-3.0.0-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *bu ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom -# Used by www-gitlab-com's rspec job: https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/.gitlab-ci.yml -ruby-2.6.5-git-2.29-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom -ruby-2.6.5-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom -ruby-2.7.2-git-2.29-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom -ruby-2.6.5-git-2.31-chrome-74.0-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom -ruby-2.6.5-git-2.31-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom -ruby-2.7.2-git-2.31-chrome-85-node-12.18-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom - # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml ruby-2.6.6-golang-1.14-git-2.31-lfs-2.9-chrome-81.0-node-12.18-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.36 push: *build_and_deploy_custom From 8f3b93bd6a4bab01229fbcb44c3618fcf4d378ac Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Wed, 7 Apr 2021 07:13:00 +0000 Subject: [PATCH 050/109] Avoid to use libssl1.0-dev packages in Debian/Ubuntu distribution Signed-off-by: Takuya Noguchi --- Dockerfile.omnibus-gitlab-bionic | 2 +- Dockerfile.omnibus-gitlab-stretch | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile.omnibus-gitlab-bionic b/Dockerfile.omnibus-gitlab-bionic index f58df9c..45d9b09 100644 --- a/Dockerfile.omnibus-gitlab-bionic +++ b/Dockerfile.omnibus-gitlab-bionic @@ -1,7 +1,7 @@ FROM ubuntu:18.04 RUN apt-get update -q \ - && apt-get install -y g++ gcc git make curl zlib1g-dev libssl1.0-dev locales \ + && apt-get install -y g++ gcc git make curl zlib1g-dev libssl-dev locales \ && apt-get autoremove -yq \ && apt-get clean -yqq \ && rm -rf /var/lib/apt/lists/* diff --git a/Dockerfile.omnibus-gitlab-stretch b/Dockerfile.omnibus-gitlab-stretch index c3a7ea1..076638c 100644 --- a/Dockerfile.omnibus-gitlab-stretch +++ b/Dockerfile.omnibus-gitlab-stretch @@ -1,7 +1,7 @@ FROM debian:stretch RUN apt-get update -q \ - && apt-get install -y g++ gcc git make curl zlib1g-dev libssl1.0-dev locales \ + && apt-get install -y g++ gcc git make curl zlib1g-dev libssl-dev locales \ && apt-get autoremove -yq \ && apt-get clean -yqq \ && rm -rf /var/lib/apt/lists/* From 06202613743cffecdbbf8d1fb0ea73683dac63ed Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Mon, 12 Apr 2021 08:20:48 +0200 Subject: [PATCH 051/109] Drop images using unsupported git v2.29 The minimum required version for git has been bumped to v2.31, so we can now safely drop old build images which had been using git v2.29. --- .gitlab-ci.yml | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1d94117..6e9967a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -76,26 +76,17 @@ variables: # Tests # Used by Gitaly: https://gitlab.com/gitlab-org/gitaly/blob/master/.gitlab-ci.yml -ruby-2.7-golang-1.14-git-2.29 test: *test_custom -ruby-2.7-golang-1.15-git-2.29 test: *test_custom -ruby-2.7-golang-1.15-git-2.29-pgbouncer-1.14 test: *test_custom ruby-2.7-golang-1.14-git-2.31 test: *test_custom ruby-2.7-golang-1.15-git-2.31 test: *test_custom ruby-2.7-golang-1.15-git-2.31-pgbouncer-1.14 test: *test_custom # Used by GitLab: https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab-ci.yml -ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom -ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom -ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs -ruby-2.7.2-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom -ruby-3.0.0-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom @@ -141,26 +132,17 @@ gitlab-operator-build-base test: *test_build # Builds # Used by Gitaly: https://gitlab.com/gitlab-org/gitaly/blob/master/.gitlab-ci.yml -ruby-2.7-golang-1.14-git-2.29 push: *build_and_deploy_custom -ruby-2.7-golang-1.15-git-2.29 push: *build_and_deploy_custom -ruby-2.7-golang-1.15-git-2.29-pgbouncer-1.14 push: *build_and_deploy_custom ruby-2.7-golang-1.14-git-2.31 push: *build_and_deploy_custom ruby-2.7-golang-1.15-git-2.31 push: *build_and_deploy_custom ruby-2.7-golang-1.15-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom # Used by GitLab CE/EE: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/.gitlab-ci.yml -ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-3.0.0.patched-golang-1.14-git-2.29-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs -ruby-2.7.2-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-3.0.0-git-2.29-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom From 15e07ceb1022adc8caaf02ed7f4d551d29e6f222 Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Mon, 12 Apr 2021 08:26:17 +0200 Subject: [PATCH 052/109] Bump Go version to v1.16 Gitaly is about to drop its minimum required Go version to v1.15, but we do not yet create any images for it. Going that both v1.15 and v1.16 are supported, this commit bumps the Go version to v1.16 such that we start to use the newer of both supported versions. --- .gitlab-ci.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6e9967a..04f94b8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -79,12 +79,18 @@ variables: ruby-2.7-golang-1.14-git-2.31 test: *test_custom ruby-2.7-golang-1.15-git-2.31 test: *test_custom ruby-2.7-golang-1.15-git-2.31-pgbouncer-1.14 test: *test_custom +ruby-2.7-golang-1.16-git-2.31 test: *test_custom +ruby-2.7-golang-1.16-git-2.31-pgbouncer-1.14 test: *test_custom # Used by GitLab: https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab-ci.yml ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom @@ -135,12 +141,18 @@ gitlab-operator-build-base test: *test_build ruby-2.7-golang-1.14-git-2.31 push: *build_and_deploy_custom ruby-2.7-golang-1.15-git-2.31 push: *build_and_deploy_custom ruby-2.7-golang-1.15-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom +ruby-2.7-golang-1.16-git-2.31 push: *build_and_deploy_custom +ruby-2.7-golang-1.16-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom # Used by GitLab CE/EE: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/.gitlab-ci.yml ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom From af5b5a6208bb83d65bd65d417351c37b539187a2 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Fri, 16 Apr 2021 10:37:08 -0700 Subject: [PATCH 053/109] Upgrade to Git v2.31.1 --- scripts/custom-docker-build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index c596510..a1f2d47 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -86,8 +86,8 @@ function print_git_args() { GIT_DOWNLOAD_SHA256=fa08dc8424ef80c0f9bf307877f9e2e49f1a6049e873530d6747c2be770742ff ;; 2.31) - GIT_VERSION=2.31.0 - GIT_DOWNLOAD_SHA256=bc6168777883562569144d536e8a855b12d25d46870d95188a3064260d7784ee + GIT_VERSION=2.31.1 + GIT_DOWNLOAD_SHA256=46d37c229e9d786510e0c53b60065704ce92d5aedc16f2c5111e3ed35093bfa7 ;; *) echo "Unknown git version $1"; exit 1; esac From d8636ff0e883e7009ffd0b2882e7018fdc310f13 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Tue, 20 Apr 2021 00:54:06 -0700 Subject: [PATCH 054/109] Build ruby with jemalloc This should improve memory usage and test Ruby the way we do in production. --- scripts/install-ruby | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/scripts/install-ruby b/scripts/install-ruby index 178bc25..14efd4b 100755 --- a/scripts/install-ruby +++ b/scripts/install-ruby @@ -7,9 +7,26 @@ set -xeou pipefail RUBY_VERSION=${1} RUBY_MAJOR=${1%.*} # strip last component RUBY_DOWNLOAD_SHA256=${2} - RUBY_DOWNLOAD_URL="https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.gz" +JEMALLOC_VERSION=5.2.1 +JEMALLOC_DOWNLOAD_SHA256="34330e5ce276099e2e8950d9335db5a875689a4c6a56751ef3b1d8c537f887f6" +JEMALLOC_DOWNLOAD_URL="https://github.com/jemalloc/jemalloc/releases/download/${JEMALLOC_VERSION}/jemalloc-${JEMALLOC_VERSION}.tar.bz2" + +# Download jemalloc +mkdir -p /usr/src/jemalloc +cd /usr/src/jemalloc +curl --retry 6 -L -so jemalloc.tar.bz2 ${JEMALLOC_DOWNLOAD_URL} +echo "${JEMALLOC_DOWNLOAD_SHA256} jemalloc.tar.bz2" | sha256sum -c - + +# Install jemalloc +tar -xjf jemalloc.tar.bz2 +rm jemalloc.tar.bz2 +cd jemalloc-${JEMALLOC_VERSION} +./autogen.sh --prefix=/usr --enable-prof +make -j "$(nproc)" install +cd /tmp + # Download Ruby curl -fsSL "$RUBY_DOWNLOAD_URL" -o ruby.tar.gz echo "${RUBY_DOWNLOAD_SHA256} ruby.tar.gz" | sha256sum -c - @@ -38,7 +55,7 @@ if [[ -d "/patches/ruby/$RUBY_VERSION" ]]; then fi # Compile -./configure --enable-shared --disable-install-doc --disable-install-rdoc --disable-install-capi +./configure --enable-shared --with-jemalloc --disable-install-doc --disable-install-rdoc --disable-install-capi make install -j $(nproc) # Cleanup From 7cde6cc615603994a11e2de85f196b06e51d2d37 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Tue, 20 Apr 2021 01:14:21 -0700 Subject: [PATCH 055/109] Add autoconf to build --- scripts/install-ruby | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/install-ruby b/scripts/install-ruby index 14efd4b..a299571 100755 --- a/scripts/install-ruby +++ b/scripts/install-ruby @@ -13,6 +13,10 @@ JEMALLOC_VERSION=5.2.1 JEMALLOC_DOWNLOAD_SHA256="34330e5ce276099e2e8950d9335db5a875689a4c6a56751ef3b1d8c537f887f6" JEMALLOC_DOWNLOAD_URL="https://github.com/jemalloc/jemalloc/releases/download/${JEMALLOC_VERSION}/jemalloc-${JEMALLOC_VERSION}.tar.bz2" +# Install needed packages +apt-get update +apt-get install -y --no-install-recommends bison dpkg-dev libgdbm-dev autoconf + # Download jemalloc mkdir -p /usr/src/jemalloc cd /usr/src/jemalloc @@ -36,10 +40,6 @@ mkdir -p /usr/local/etc echo 'install: --no-document' >> /usr/local/etc/gemrc echo 'update: --no-document' >> /usr/local/etc/gemrc -# Install needed packages -apt-get update -apt-get install -y --no-install-recommends bison dpkg-dev libgdbm-dev ruby - # Unpack Ruby mkdir -p /usr/src/ruby tar -xzf ruby.tar.gz -C /usr/src/ruby --strip-components=1 From 3391b94d3978969875b4bc7aecb35f315aab2631 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Tue, 20 Apr 2021 01:54:15 -0700 Subject: [PATCH 056/109] Clean up jemalloc source dir --- scripts/install-ruby | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install-ruby b/scripts/install-ruby index a299571..952cf80 100755 --- a/scripts/install-ruby +++ b/scripts/install-ruby @@ -60,7 +60,7 @@ make install -j $(nproc) # Cleanup cd / -rm -rf /usr/src/ruby +rm -rf /usr/src/ruby /usr/src/jemalloc apt-get purge -y --auto-remove ruby # Verify From 8c7986e6af51dd7a4154d6d6260526c7bc1207eb Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Tue, 20 Apr 2021 15:45:19 -0700 Subject: [PATCH 057/109] Add patch to debug seg faults This is a temporary patch to investigate https://gitlab.com/gitlab-org/gitlab/-/issues/326348. --- patches/ruby/2.7.2/debug-segfault.patch | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 patches/ruby/2.7.2/debug-segfault.patch diff --git a/patches/ruby/2.7.2/debug-segfault.patch b/patches/ruby/2.7.2/debug-segfault.patch new file mode 100644 index 0000000..72c1e41 --- /dev/null +++ b/patches/ruby/2.7.2/debug-segfault.patch @@ -0,0 +1,25 @@ +diff --git a/class.c b/class.c +index c866d1d727..37ff3c5ade 100644 +--- a/class.c ++++ b/class.c +@@ -27,6 +27,7 @@ + #include "ruby/st.h" + #include "constant.h" + #include "vm_core.h" ++#include "vm_debug.h" + #include "id_table.h" + #include + +@@ -119,6 +120,12 @@ rb_class_foreach_subclass(VALUE klass, void (*f)(VALUE, VALUE), VALUE arg) + while (cur) { + VALUE curklass = cur->klass; + cur = cur->next; ++ ++ if (curklass == 0) { ++ fprintf(stderr, "=== Detected NULL subclass:\n"); ++ dp(curklass); ++ } ++ + f(curklass, arg); + } + } From 56292ed13946db1aabf8e48eb8579db447bf3d81 Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Wed, 21 Apr 2021 01:50:39 +0000 Subject: [PATCH 058/109] Maintain Danger image with Node.js 14 etc. Signed-off-by: Takuya Noguchi --- Dockerfile.danger | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Dockerfile.danger b/Dockerfile.danger index aeac166..30a4bc0 100644 --- a/Dockerfile.danger +++ b/Dockerfile.danger @@ -1,13 +1,13 @@ -FROM ruby:2.7.2-buster +FROM ruby:2.7.3 MAINTAINER GitLab Quality Team # Danger manipulates git diff output. When an unicode char is present in the diff, it chokes with # (Danger::DSLError) [!] Invalid `Dangerfile` file: invalid byte sequence in US-ASCII -# eg. https://gitlab.com/gitlab-org/gitlab-ce/-/jobs/275286625 +# eg. https://gitlab.com/gitlab-org/gitlab-foss/-/jobs/275286625 ENV LC_ALL "C.UTF-8" -ENV NODE_VERSION=12.4.0 -ENV YARN_VERSION=1.21.1-1 +ENV NODE_VERSION=14.16.1 +ENV YARN_VERSION=1.22.5-1 ENV GITLAB_GEM_VERSION=4.16.1 ENV DANGER_GEM_VERSION=8.2.2 ENV DANGER_GITLAB_GEM_VERSION=8.0.0 @@ -17,7 +17,7 @@ ADD /scripts/ /scripts/ RUN apt-get update \ && apt-get install -y git \ && /scripts/install-node ${NODE_VERSION} ${YARN_VERSION} \ - && yarn global add alex@7 \ + && yarn global add alex@9 \ && yarn cache clean \ && apt-get autoremove -yq \ && apt-get clean -yqq \ From c84a0a09226fb03fb8c9f2cf1de9750293e878a3 Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Wed, 21 Apr 2021 02:21:24 +0000 Subject: [PATCH 059/109] Overhaul image for customers-gitlab-com Signed-off-by: Takuya Noguchi --- .gitlab-ci.yml | 4 ++-- scripts/custom-docker-build | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 04f94b8..5a219a8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -97,7 +97,7 @@ ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *te ruby-3.0.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml -ruby-2.6.6-golang-1.14-git-2.31-lfs-2.9-chrome-81.0-node-12.18-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.36: *test_custom +ruby-2.6.6-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5: *test_custom danger test: *test_build alpine-helm test: *test_build @@ -159,7 +159,7 @@ ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *bu ruby-3.0.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml -ruby-2.6.6-golang-1.14-git-2.31-lfs-2.9-chrome-81.0-node-12.18-yarn-1.21-postgresql-9.5-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.6.6-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5 push: *build_and_deploy_custom danger push: *build_and_deploy alpine-helm push: *build_and_deploy diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index a1f2d47..5f2adfd 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -123,7 +123,7 @@ function print_node_args() { 8|8.x) NODE_INSTALL_VERSION=8.16.0 ;; 10|10.x) NODE_INSTALL_VERSION=10.16.0 ;; 12|12.x) NODE_INSTALL_VERSION=12.4.0 ;; - 12.18) NODE_INSTALL_VERSION=12.18.4 ;; + 12.22) NODE_INSTALL_VERSION=12.22.1 ;; 14.15) NODE_INSTALL_VERSION=14.15.4 ;; 14|14.16) NODE_INSTALL_VERSION=14.16.0 ;; *) echo "Unknown node version $1"; exit 1; From 82983ff9d8862b3a9c3f09e265870c0d4906a8be Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Wed, 21 Apr 2021 05:49:17 +0000 Subject: [PATCH 060/109] Update Node.js to 14 in gitlab-puppeteer image Signed-off-by: Takuya Noguchi --- Dockerfile.gitlab-puppeteer | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.gitlab-puppeteer b/Dockerfile.gitlab-puppeteer index ad6f274..0bc6b38 100644 --- a/Dockerfile.gitlab-puppeteer +++ b/Dockerfile.gitlab-puppeteer @@ -1,4 +1,4 @@ -FROM node:12-stretch +FROM node:14 ADD /scripts/ /scripts/ From d88e7d6e5e946187f3d931d7cdea423862b47d97 Mon Sep 17 00:00:00 2001 From: Mitchell Nielsen Date: Fri, 23 Apr 2021 10:57:05 -0400 Subject: [PATCH 061/109] [operator-build-base] Update yq to 4.7.0 Updates yq to 4.7.0, including a syntax change in the version to have a 'v' prefix. --- Dockerfile.gitlab-operator-build-base | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile.gitlab-operator-build-base b/Dockerfile.gitlab-operator-build-base index ed7e473..8820901 100644 --- a/Dockerfile.gitlab-operator-build-base +++ b/Dockerfile.gitlab-operator-build-base @@ -4,7 +4,7 @@ LABEL maintainer="GitLab Distribution Team" \ description="Build base image for the GitLab Operator project." ARG KUBEBUILDER_VERSION=2.3.1 -ARG YQ_VERSION=2.4.1 +ARG YQ_VERSION=4.7.0 ARG HELM_VERSION=3.5.2 RUN go get -u \ @@ -13,7 +13,7 @@ RUN go get -u \ && curl --retry 6 -Ls https://go.kubebuilder.io/dl/${KUBEBUILDER_VERSION}/linux/amd64 | tar -xz -C /tmp/ \ && mv /tmp/kubebuilder_${KUBEBUILDER_VERSION}_linux_amd64 /usr/local/kubebuilder \ && ln -sfv /usr/local/kubebuilder/bin/* /usr/local/bin \ - && curl --retry 6 -LsO https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/yq_linux_amd64 \ + && curl --retry 6 -LsO https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_amd64 \ && chmod +x yq_linux_amd64 \ && mv yq_linux_amd64 /usr/local/bin/yq \ && curl --retry 6 -Ls "https://get.helm.sh/helm-v${HELM_VERSION}-linux-amd64.tar.gz" | tar -xz -C /tmp/ \ From e29a606bbcf9e257ad1c26b80e07095f0f95c89c Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Wed, 21 Apr 2021 02:49:33 +0000 Subject: [PATCH 062/109] Use npm repo instead of apt on Yarn install Co-authored-by: Lukas 'Eipi' Eipert Signed-off-by: Takuya Noguchi --- Dockerfile.danger | 2 +- scripts/custom-docker-build | 8 ++++---- scripts/install-node | 9 ++++----- scripts/install-www-gitlab-com | 2 +- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/Dockerfile.danger b/Dockerfile.danger index 30a4bc0..0cae559 100644 --- a/Dockerfile.danger +++ b/Dockerfile.danger @@ -7,7 +7,7 @@ MAINTAINER GitLab Quality Team ENV LC_ALL "C.UTF-8" ENV NODE_VERSION=14.16.1 -ENV YARN_VERSION=1.22.5-1 +ENV YARN_VERSION=1.22.10 ENV GITLAB_GEM_VERSION=4.16.1 ENV DANGER_GEM_VERSION=8.2.2 ENV DANGER_GITLAB_GEM_VERSION=8.0.0 diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index 5f2adfd..d664b2f 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -133,10 +133,10 @@ function print_node_args() { function print_yarn_args() { case "$1" in - 1.12) YARN_INSTALL_VERSION=1.12.3-1 ;; - 1.16) YARN_INSTALL_VERSION=1.16.0-1 ;; - 1.21) YARN_INSTALL_VERSION=1.21.1-1 ;; - 1.22) YARN_INSTALL_VERSION=1.22.5-1 ;; + 1.12) YARN_INSTALL_VERSION=1.12.3 ;; + 1.16) YARN_INSTALL_VERSION=1.16.0 ;; + 1.21) YARN_INSTALL_VERSION=1.21.1 ;; + 1.22) YARN_INSTALL_VERSION=1.22.10 ;; *) echo "Unknown yarn version $1"; exit 1; esac printf -- "--build-arg YARN_INSTALL_VERSION=%s " "$YARN_INSTALL_VERSION" diff --git a/scripts/install-node b/scripts/install-node index bf20116..a0f4092 100755 --- a/scripts/install-node +++ b/scripts/install-node @@ -3,15 +3,13 @@ set -xeuo pipefail IFS=$'\n\t' NODE_INSTALL_VERSION=${1:-14.16.0} -YARN_INSTALL_VERSION=${2:-1.21.1-1} +YARN_INSTALL_VERSION=${2:-1.22.10} # Map MAJOR.MINOR.patch -> MAJOR.x NODE_MAJOR=`echo $NODE_INSTALL_VERSION | sed -r -e "s/([0-9]+)\.[0-9]+.*/\1\.x/g"` -# add official debian repos for node and yarn +# add official debian repos for node curl -sS -L https://deb.nodesource.com/setup_${NODE_MAJOR} | bash - -curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - -echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list apt-get update @@ -20,7 +18,8 @@ curl -s -O "https://deb.nodesource.com/node_$NODE_MAJOR/pool/main/n/nodejs/$NODE dpkg -i "$NODE_FILE_NAME" rm -f "$NODE_FILE_NAME" -apt-get install -y yarn=$YARN_INSTALL_VERSION +npm install --global yarn@${YARN_INSTALL_VERSION} +npm cache clean --force apt-get autoremove -yq apt-get clean -yqq diff --git a/scripts/install-www-gitlab-com b/scripts/install-www-gitlab-com index 7dc822e..26fd8af 100755 --- a/scripts/install-www-gitlab-com +++ b/scripts/install-www-gitlab-com @@ -27,7 +27,7 @@ apt-get install -yq --no-install-recommends imagemagick # Install node & yarn NODE_INSTALL_VERSION=12.4.0 -YARN_INSTALL_VERSION=1.21.1-1 +YARN_INSTALL_VERSION=1.22.10 /scripts/install-node $NODE_INSTALL_VERSION $YARN_INSTALL_VERSION && node --version && yarn --version # Install yamllint From 1eca8ebf259458ab13dc9c35867d1d77cf11fd2c Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Wed, 28 Apr 2021 15:07:17 -0700 Subject: [PATCH 063/109] Enable frame pointer in Ruby compile options This will make it easier to profile and debug Ruby builds. This also matches with what we do in production: https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/4030 --- scripts/install-ruby | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/install-ruby b/scripts/install-ruby index 952cf80..d8e350d 100755 --- a/scripts/install-ruby +++ b/scripts/install-ruby @@ -55,6 +55,7 @@ if [[ -d "/patches/ruby/$RUBY_VERSION" ]]; then fi # Compile +export optflags="-fno-omit-frame-pointer" ./configure --enable-shared --with-jemalloc --disable-install-doc --disable-install-rdoc --disable-install-capi make install -j $(nproc) From bb1423cd5262122877bb386816a27da3b0b8f2ae Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Wed, 28 Apr 2021 15:44:54 -0700 Subject: [PATCH 064/109] Set frame pointer in cflags instead of optargs !401 set `optflags`, but this overrode the default `-O3`. Using cflags appends to the default CFLAGS. --- scripts/install-ruby | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/install-ruby b/scripts/install-ruby index d8e350d..b08ff9d 100755 --- a/scripts/install-ruby +++ b/scripts/install-ruby @@ -55,8 +55,7 @@ if [[ -d "/patches/ruby/$RUBY_VERSION" ]]; then fi # Compile -export optflags="-fno-omit-frame-pointer" -./configure --enable-shared --with-jemalloc --disable-install-doc --disable-install-rdoc --disable-install-capi +cflags="-fno-omit-frame-pointer" ./configure --enable-shared --with-jemalloc --disable-install-doc --disable-install-rdoc --disable-install-capi make install -j $(nproc) # Cleanup From 851644234c24c009603139a2c77a669a87a73f3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= Date: Mon, 10 May 2021 14:55:26 +0200 Subject: [PATCH 065/109] Introduce a new kaniko image that includes Git MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rémy Coutable --- .gitlab-ci.yml | 2 ++ Dockerfile.kaniko | 5 +++++ 2 files changed, 7 insertions(+) create mode 100644 Dockerfile.kaniko diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5a219a8..33a9e4e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -109,6 +109,7 @@ gitlab-qa-ruby-3.0 test: *test_build gitlab-qa-alpine-ruby-2.7 test: *test_build gitlab-qa-alpine-ruby-3.0 test: *test_build gitlab-puppeteer test: *test_build +kaniko test: *test_build omnibus-gitlab-bionic test: *test_build omnibus-gitlab-centos7 test: *test_build omnibus-gitlab-centos8 test: *test_build @@ -171,6 +172,7 @@ gitlab-qa-ruby-3.0 push: *build_and_deploy gitlab-qa-alpine-ruby-2.7 push: *build_and_deploy gitlab-qa-alpine-ruby-3.0 push: *build_and_deploy gitlab-puppeteer push: *build_and_deploy +kaniko push: *build_and_deploy omnibus-gitlab-bionic push: *build_and_deploy omnibus-gitlab-centos7 push: *build_and_deploy omnibus-gitlab-centos8 push: *build_and_deploy diff --git a/Dockerfile.kaniko b/Dockerfile.kaniko new file mode 100644 index 0000000..e3147fd --- /dev/null +++ b/Dockerfile.kaniko @@ -0,0 +1,5 @@ +FROM gcr.io/kaniko-project/executor:debug-v1.3.0 AS kaniko +FROM alpine/git +COPY --from=kaniko /kaniko/executor /kaniko/ + +ENTRYPOINT ["/kaniko/executor"] From c80666a3a9c5c3d11d1757e276df2a905cbb93d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= Date: Tue, 11 May 2021 17:36:11 +0200 Subject: [PATCH 066/109] Fix Kaniko image by creating a root user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rémy Coutable --- Dockerfile.kaniko | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Dockerfile.kaniko b/Dockerfile.kaniko index e3147fd..afbc6ad 100644 --- a/Dockerfile.kaniko +++ b/Dockerfile.kaniko @@ -1,5 +1,16 @@ FROM gcr.io/kaniko-project/executor:debug-v1.3.0 AS kaniko + FROM alpine/git -COPY --from=kaniko /kaniko/executor /kaniko/ + +# See https://github.com/GoogleContainerTools/kaniko/blob/master/deploy/Dockerfile#L65-L70 +COPY --from=kaniko /kaniko/ /kaniko/ +COPY --from=kaniko /etc/nsswitch.conf /etc/nsswitch.conf + +ENV HOME /root +ENV USER root +ENV PATH /usr/local/bin:/kaniko +ENV SSL_CERT_DIR=/kaniko/ssl/certs +ENV DOCKER_CONFIG /kaniko/.docker/ +ENV DOCKER_CREDENTIAL_GCR_CONFIG /kaniko/.config/gcloud/docker_credential_gcr_config.json ENTRYPOINT ["/kaniko/executor"] From 87bf723dda28e8fc4be51f66762d272be653017d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= Date: Tue, 11 May 2021 16:40:38 +0000 Subject: [PATCH 067/109] Update Dockerfile.kaniko --- Dockerfile.kaniko | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.kaniko b/Dockerfile.kaniko index afbc6ad..82d57b6 100644 --- a/Dockerfile.kaniko +++ b/Dockerfile.kaniko @@ -8,7 +8,7 @@ COPY --from=kaniko /etc/nsswitch.conf /etc/nsswitch.conf ENV HOME /root ENV USER root -ENV PATH /usr/local/bin:/kaniko +ENV PATH /usr/local/bin:/kaniko:$PATH ENV SSL_CERT_DIR=/kaniko/ssl/certs ENV DOCKER_CONFIG /kaniko/.docker/ ENV DOCKER_CREDENTIAL_GCR_CONFIG /kaniko/.config/gcloud/docker_credential_gcr_config.json From 12c52d4a9a9ffef9c18d2ffb83a28b20d65cbdaf Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Mon, 7 Jun 2021 05:09:19 +0000 Subject: [PATCH 068/109] Update Node.js from 12.4.0 to 12.22.1 for www-gitlab-com image Signed-off-by: Takuya Noguchi --- scripts/custom-docker-build | 3 --- scripts/install-www-gitlab-com | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index d664b2f..e03a9d1 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -120,9 +120,6 @@ function print_lfs_args() { function print_node_args() { case "$1" in - 8|8.x) NODE_INSTALL_VERSION=8.16.0 ;; - 10|10.x) NODE_INSTALL_VERSION=10.16.0 ;; - 12|12.x) NODE_INSTALL_VERSION=12.4.0 ;; 12.22) NODE_INSTALL_VERSION=12.22.1 ;; 14.15) NODE_INSTALL_VERSION=14.15.4 ;; 14|14.16) NODE_INSTALL_VERSION=14.16.0 ;; diff --git a/scripts/install-www-gitlab-com b/scripts/install-www-gitlab-com index 26fd8af..fb0e283 100755 --- a/scripts/install-www-gitlab-com +++ b/scripts/install-www-gitlab-com @@ -26,7 +26,7 @@ rm -rf /tmp/pandoc* apt-get install -yq --no-install-recommends imagemagick # Install node & yarn -NODE_INSTALL_VERSION=12.4.0 +NODE_INSTALL_VERSION=12.22.1 YARN_INSTALL_VERSION=1.22.10 /scripts/install-node $NODE_INSTALL_VERSION $YARN_INSTALL_VERSION && node --version && yarn --version From 49c7ae3457598bcade62d9b603e3eb8861d32f0e Mon Sep 17 00:00:00 2001 From: Takuya Noguchi Date: Mon, 7 Jun 2021 05:39:22 +0000 Subject: [PATCH 069/109] Deprecate www-gitlab-com2.7 image tag Signed-off-by: Takuya Noguchi --- .gitlab-ci.yml | 2 -- Dockerfile.www-gitlab-com-2.7 | 17 ----------------- 2 files changed, 19 deletions(-) delete mode 100644 Dockerfile.www-gitlab-com-2.7 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 33a9e4e..9f106ef 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -126,7 +126,6 @@ omnibus-gitlab-cve-search test: *test_build release-tools test: *test_build sitespeed-gitlab test: *test_build ubi-release test: *test_build -www-gitlab-com-2.7 test: *test_build www-gitlab-com-3.0 test: *test_build build-git: *test_build # Used by GitLab: https://gitlab.com/gitlab-org/gitlab/-/blob/13-8-stable-ee/lib/gitlab/ci/templates/Terraform.gitlab-ci.yml @@ -188,7 +187,6 @@ omnibus-gitlab-cve-search push: *build_and_deploy release-tools push: *build_and_deploy sitespeed-gitlab push: *build_and_deploy ubi-release push: *build_and_deploy -www-gitlab-com-2.7 push: *build_and_deploy www-gitlab-com-3.0 push: *build_and_deploy build-git push: *build_and_deploy # Used by GitLab: https://gitlab.com/gitlab-org/gitlab/-/blob/13-8-stable-ee/lib/gitlab/ci/templates/Terraform.gitlab-ci.yml diff --git a/Dockerfile.www-gitlab-com-2.7 b/Dockerfile.www-gitlab-com-2.7 deleted file mode 100644 index bebe774..0000000 --- a/Dockerfile.www-gitlab-com-2.7 +++ /dev/null @@ -1,17 +0,0 @@ -FROM gcr.io/google.com/cloudsdktool/cloud-sdk as gcloud-sdk - -FROM ruby:2.7.2-slim - -ADD /scripts/ /scripts/ -RUN /scripts/install-www-gitlab-com - -# Install Google Cloud SDK for deploys via rsync -COPY --from=gcloud-sdk /usr/lib/google-cloud-sdk /usr/lib/google-cloud-sdk -COPY --from=gcloud-sdk /usr/share/google-cloud-sdk /usr/share/google-cloud-sdk -RUN cd /usr/bin && find ../lib/google-cloud-sdk/bin -type f -executable -exec ln -s {} \;; cd - - -# Set UTF-8 http://jaredmarkell.com/docker-and-locales/ -# Must be set after install-essentials is run -ENV LANG en_US.UTF-8 -ENV LANGUAGE en_US:en -ENV LC_ALL en_US.UTF-8 From 77c1e633756a304d0db3736c9285f1b72e13774e Mon Sep 17 00:00:00 2001 From: Seth Berger <4310743-sethgitlab@users.noreply.gitlab.com> Date: Wed, 9 Jun 2021 02:58:23 +0000 Subject: [PATCH 070/109] Update Dockerfile.danger --- Dockerfile.danger | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.danger b/Dockerfile.danger index 0cae559..f9d2a85 100644 --- a/Dockerfile.danger +++ b/Dockerfile.danger @@ -9,7 +9,7 @@ ENV LC_ALL "C.UTF-8" ENV NODE_VERSION=14.16.1 ENV YARN_VERSION=1.22.10 ENV GITLAB_GEM_VERSION=4.16.1 -ENV DANGER_GEM_VERSION=8.2.2 +ENV DANGER_GEM_VERSION=8.2.3 ENV DANGER_GITLAB_GEM_VERSION=8.0.0 ADD /scripts/ /scripts/ From ed7dc51ee4e9c45d315940a2e7ea42a0903b2e2a Mon Sep 17 00:00:00 2001 From: Chloe Liu Date: Wed, 9 Jun 2021 09:29:48 +0000 Subject: [PATCH 071/109] Add CustomersDots qa test image --- .gitlab-ci.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9f106ef..360bacc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -99,6 +99,9 @@ ruby-3.0.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *te # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml ruby-2.6.6-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5: *test_custom +# Used by customers-gitlab-com qa e2e test: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab/ci/e2e.gitlab-ci.yml +ruby-2.7.2-git-2.31-chrome-89-node-12.22-yarn-1.22-docker-19.03.1: *test_custom + danger test: *test_build alpine-helm test: *test_build gitlab-charts-build-base test: *test_build @@ -161,6 +164,9 @@ ruby-3.0.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *bu # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml ruby-2.6.6-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5 push: *build_and_deploy_custom +# Used by customers-gitlab-com qa e2e test: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab/ci/e2e.gitlab-ci.yml +ruby-2.7.2-git-2.31-chrome-89-node-12.22-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom + danger push: *build_and_deploy alpine-helm push: *build_and_deploy gitlab-charts-build-base push: *build_and_deploy From b8ca8022f0c229726aea4b440e8dd34fb53116e6 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Tue, 15 Jun 2021 00:16:01 -0700 Subject: [PATCH 072/109] Upgrade to Golang v1.16.4 --- scripts/custom-docker-build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index e03a9d1..fac3481 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -16,8 +16,8 @@ function print_golang_args() { GOLANG_DOWNLOAD_SHA256=4aa1267517df32f2bf1cc3d55dfc27d0c6b2c2b0989449c96dd19273ccca051d ;; 1.16) - INSTALL_GOLANG_VERSION=1.16.2 - GOLANG_DOWNLOAD_SHA256=542e936b19542e62679766194364f45141fde55169db2d8d01046555ca9eb4b8 + INSTALL_GOLANG_VERSION=1.16.4 + GOLANG_DOWNLOAD_SHA256=7154e88f5a8047aad4b80ebace58a059e36e7e2e4eb3b383127a28c711b4ff59 ;; *) echo "Unknown golang version $1"; exit 1; esac From 52c4d31eab16bd0a0400c7a22218e23d5f1e3890 Mon Sep 17 00:00:00 2001 From: DJ Mountney Date: Tue, 22 Jun 2021 11:32:58 -0700 Subject: [PATCH 073/109] Add aws-cli to gitlab charts base image This is so we can switch to this image for the charts helm repo which uses s3 storage --- .gitlab-ci.yml | 8 ++++++-- Dockerfile.gitlab-charts-build-base-helm-3 | 7 +++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 360bacc..7dd99a4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -102,8 +102,10 @@ ruby-2.6.6-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5: *test # Used by customers-gitlab-com qa e2e test: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab/ci/e2e.gitlab-ci.yml ruby-2.7.2-git-2.31-chrome-89-node-12.22-yarn-1.22-docker-19.03.1: *test_custom -danger test: *test_build +# Used by https://gitlab.com/gitlab-org/charts/auto-deploy-app/-/blob/master/.gitlab-ci.yml alpine-helm test: *test_build + +danger test: *test_build gitlab-charts-build-base test: *test_build gitlab-charts-build-base-helm-3 test: *test_build gitlab-helm3.5-kubectl1.17 test: *test_build @@ -167,8 +169,10 @@ ruby-2.6.6-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5 push: # Used by customers-gitlab-com qa e2e test: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab/ci/e2e.gitlab-ci.yml ruby-2.7.2-git-2.31-chrome-89-node-12.22-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom -danger push: *build_and_deploy +# Used by https://gitlab.com/gitlab-org/charts/auto-deploy-app/-/blob/master/.gitlab-ci.yml alpine-helm push: *build_and_deploy + +danger push: *build_and_deploy gitlab-charts-build-base push: *build_and_deploy gitlab-charts-build-base-helm-3 push: *build_and_deploy gitlab-helm3.5-kubectl1.17 push: *build_and_deploy diff --git a/Dockerfile.gitlab-charts-build-base-helm-3 b/Dockerfile.gitlab-charts-build-base-helm-3 index e716198..2424a84 100644 --- a/Dockerfile.gitlab-charts-build-base-helm-3 +++ b/Dockerfile.gitlab-charts-build-base-helm-3 @@ -10,7 +10,7 @@ ENV KUBECTL_VERSION=1.16.4 ENV KUBECTL_URL=https://storage.googleapis.com/kubernetes-release/release/v${KUBECTL_VERSION}/bin/linux/amd64/kubectl # Install dependencies -RUN apk --no-cache add -U openssl curl tar gzip bash ca-certificates git python2\ +RUN apk --no-cache add -U openssl curl tar gzip bash ca-certificates git python2 py-pip groff\ && mkdir -p /opt # Install kubectl @@ -24,6 +24,9 @@ RUN wget -q -O - ${HELM_URL} | tar zxf - \ && chmod +x /usr/bin/helm \ && helm version --client -#Install kubeval +# Install kubeval RUN mkdir -p $HELM_HOME/plugins && \ helm plugin install https://github.com/instrumenta/helm-kubeval + +# Install aws cli +RUN pip install awscli \ No newline at end of file From 800e436b6e822d922f7874abb3970877305186d7 Mon Sep 17 00:00:00 2001 From: Igor Date: Mon, 28 Jun 2021 12:20:04 +0000 Subject: [PATCH 074/109] Bump golangci to v1.41.1 --- Dockerfile.golangci-lint-alpine | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.golangci-lint-alpine b/Dockerfile.golangci-lint-alpine index 0a8b614..65de71a 100644 --- a/Dockerfile.golangci-lint-alpine +++ b/Dockerfile.golangci-lint-alpine @@ -1,4 +1,4 @@ -FROM golangci/golangci-lint:v1.37.0-alpine +FROM golangci/golangci-lint:v1.41.1-alpine # git must be installed for golangci-lint's --new-from-rev flag to work. RUN apk --no-cache add git jq bash # Include a default .golangci.yml From a7e1e727ef8593bd1a903912a414d45284403b12 Mon Sep 17 00:00:00 2001 From: Tiger Watson Date: Tue, 29 Jun 2021 13:25:07 +0000 Subject: [PATCH 075/109] Add Bazelisk support to Dockerfile.custom --- .gitlab-ci.yml | 8 ++++++++ Dockerfile.custom | 9 ++++++++- README.md | 1 + scripts/custom-docker-build | 14 ++++++++++++++ scripts/install-bazelisk | 14 ++++++++++++++ 5 files changed, 45 insertions(+), 1 deletion(-) create mode 100755 scripts/install-bazelisk diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7dd99a4..0b95bd9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -92,6 +92,10 @@ ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-p ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +# Used by GitLab/KAS integration tests +ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom +ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom + # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom @@ -159,6 +163,10 @@ ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-p ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +# Used by GitLab/KAS integration tests +ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 push: *build_and_deploy_custom +ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 push: *build_and_deploy_custom + # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom diff --git a/Dockerfile.custom b/Dockerfile.custom index b64c91a..ccbb140 100644 --- a/Dockerfile.custom +++ b/Dockerfile.custom @@ -75,6 +75,12 @@ ARG PGBOUNCER_DOWNLOAD_SHA256 RUN if [ -n "$PGBOUNCER_VERSION" ] ; then /scripts/install-pgbouncer $PGBOUNCER_VERSION $PGBOUNCER_DOWNLOAD_SHA256; fi +# Bazelisk +ARG BAZELISK_VERSION +ARG BAZELISK_DOWNLOAD_SHA256 + +RUN if [ -n "$BAZELISK_VERSION" ] ; then /scripts/install-bazelisk $BAZELISK_VERSION $BAZELISK_DOWNLOAD_SHA256; fi + RUN locale-gen en_US.UTF-8 ENV LANG=en_US.UTF-8 \ LANGUAGE=en_US:en \ @@ -91,4 +97,5 @@ ENV RUBY_VERSION=${RUBY_VERSION} \ POSTGRES_VERSION=${POSTGRES_VERSION} \ GRAPHISMAGICK_VERSION=${GRAPHISMAGICK_VERSION} \ DOCKER_VERSION=${DOCKER_VERSION} \ - PGBOUNCER_VERSION=${PGBOUNCER_VERSION} + PGBOUNCER_VERSION=${PGBOUNCER_VERSION} \ + BAZELISK_VERSION=${BAZELISK_VERSION} diff --git a/README.md b/README.md index a8e5715..6ec8a67 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ The first pair represents the base image and version. So `ruby-3.0-...` will use Each of the following parts represents another feature and version. Available options are: +1. `bazelisk` 1. `chrome` 1. `docker` 1. `git` diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index fac3481..6598e70 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -185,6 +185,19 @@ function print_pgbouncer_args() { printf -- "--build-arg PGBOUNCER_DOWNLOAD_SHA256=%s " "$PGBOUNCER_DOWNLOAD_SHA256" } +function print_bazelisk_args() { + case "$1" in + 1.9.0) + BAZELISK_VERSION=1.9.0 + BAZELISK_DOWNLOAD_SHA256=b8c7f2a1b07ad64a2f27f8f19a202f90d044de7b5b6ccc387a6fe5d4a8ec4937 + ;; + *) echo "Unknown bazelisk version $1"; exit 1; + esac + + printf -- "--build-arg BAZELISK_VERSION=%s " "$BAZELISK_VERSION" + printf -- "--build-arg BAZELISK_DOWNLOAD_SHA256=%s " "$BAZELISK_DOWNLOAD_SHA256" +} + function print_ruby_args() { case "$1" in 2.6|2.6.*) @@ -230,6 +243,7 @@ function parse_arguments() { postgresql) print_postgres_args $version ;; graphicsmagick) print_graphicsmagick_args $version ;; pgbouncer) print_pgbouncer_args $version ;; + bazelisk) print_bazelisk_args $version ;; *) exit 1;; esac done diff --git a/scripts/install-bazelisk b/scripts/install-bazelisk new file mode 100755 index 0000000..d3dcbdb --- /dev/null +++ b/scripts/install-bazelisk @@ -0,0 +1,14 @@ +#!/bin/bash + +set -xeou pipefail + +BAZELISK_VERSION=${1} +BAZELISK_DOWNLOAD_SHA256=${2} + +BAZELISK_DOWNLOAD_URL="https://github.com/bazelbuild/bazelisk/releases/download/v${BAZELISK_VERSION}/bazelisk-linux-amd64" + +curl -fsSL "$BAZELISK_DOWNLOAD_URL" -o bazelisk +echo "${BAZELISK_DOWNLOAD_SHA256} bazelisk" | sha256sum -c - + +chmod +x bazelisk +mv bazelisk /usr/local/bin/bazel From d00c0d27da3f9dba0a3a2aaf67b9cc9d34da3a93 Mon Sep 17 00:00:00 2001 From: Tiger Date: Wed, 30 Jun 2021 09:21:43 +1000 Subject: [PATCH 076/109] Remove chrome from KAS testing image Adding bazelisk increased the tag name above the limit of 128 characters, so remove something unused as a temporary fix. --- .gitlab-ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0b95bd9..5abbbcd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -93,8 +93,8 @@ ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-p ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom # Used by GitLab/KAS integration tests -ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom -ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom +ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom +ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom @@ -164,8 +164,8 @@ ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-p ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom # Used by GitLab/KAS integration tests -ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 push: *build_and_deploy_custom -ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 push: *build_and_deploy_custom +ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 push: *build_and_deploy_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom From 48ecea89c4503b90997c36afc19f2dbccc2a2d44 Mon Sep 17 00:00:00 2001 From: Tiger Date: Wed, 30 Jun 2021 09:23:41 +1000 Subject: [PATCH 077/109] Document the length limit of build names --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 6ec8a67..1b1c916 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,9 @@ the name would be `ruby-3.0-golang-1.15-git-2.29`. 1. Add a test task: `ruby-3.0-golang-1.15-git-2.29 test: *test_custom` 1. Add a new build task: `ruby-3.0-golang-1.15-git-2.29 push: *build_and_deploy_custom` +Note that the build name is also used for tagging the generated image, which means it cannot be +longer than 128 characters. + #### Pushing a rebuild image To build (or rebuild) a given image and push it, you need to enable manual action for a given From b5dc6ce1c1b082288ece76cdde1e1e3fae4e4ca8 Mon Sep 17 00:00:00 2001 From: Mark Fletcher Date: Thu, 1 Jul 2021 17:10:51 +1000 Subject: [PATCH 078/109] Add PG13 images for GitLab pipeline --- .gitlab-ci.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5abbbcd..e69e932 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -85,12 +85,16 @@ ruby-2.7-golang-1.16-git-2.31-pgbouncer-1.14 test: *test_custom # Used by GitLab: https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab-ci.yml ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom # Used by GitLab/KAS integration tests ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom @@ -156,12 +160,16 @@ ruby-2.7-golang-1.16-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom # Used by GitLab CE/EE: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/.gitlab-ci.yml ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom # Used by GitLab/KAS integration tests ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 push: *build_and_deploy_custom From 4e1d0fb9c6a3c001a9054ca4c71634ce1ce66cbf Mon Sep 17 00:00:00 2001 From: Matthias Kaeppler Date: Thu, 8 Jul 2021 15:06:12 +0200 Subject: [PATCH 079/109] Update Ruby 3 to 3.0.2 --- scripts/custom-docker-build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index 6598e70..2173bdc 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -211,8 +211,8 @@ function print_ruby_args() { ;; 3.0|3.0.*) - RUBY_VERSION="3.0.0" - RUBY_DOWNLOAD_SHA256="a13ed141a1c18eb967aac1e33f4d6ad5f21be1ac543c344e0d6feeee54af8e28" + RUBY_VERSION="3.0.2" + RUBY_DOWNLOAD_SHA256="5085dee0ad9f06996a8acec7ebea4a8735e6fac22f22e2d98c3f2bc3bef7e6f1" ;; *) echo "Unknown ruby version $1"; exit 1; From a8fb190479a80e7ce9bf9e6a4066d8ec116d18e2 Mon Sep 17 00:00:00 2001 From: "Andrew Smith (EspadaV8)" Date: Thu, 8 Jul 2021 16:46:47 +0000 Subject: [PATCH 080/109] Update Danger image dependency versions --- Dockerfile.danger | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Dockerfile.danger b/Dockerfile.danger index f9d2a85..c3485c9 100644 --- a/Dockerfile.danger +++ b/Dockerfile.danger @@ -1,15 +1,15 @@ -FROM ruby:2.7.3 +FROM ruby:2.7.4 MAINTAINER GitLab Quality Team -# Danger manipulates git diff output. When an unicode char is present in the diff, it chokes with +# Danger manipulates git diff output. When a unicode char is present in the diff, it chokes with # (Danger::DSLError) [!] Invalid `Dangerfile` file: invalid byte sequence in US-ASCII # eg. https://gitlab.com/gitlab-org/gitlab-foss/-/jobs/275286625 ENV LC_ALL "C.UTF-8" -ENV NODE_VERSION=14.16.1 +ENV NODE_VERSION=14.17.2 ENV YARN_VERSION=1.22.10 -ENV GITLAB_GEM_VERSION=4.16.1 -ENV DANGER_GEM_VERSION=8.2.3 +ENV GITLAB_GEM_VERSION=4.17.0 +ENV DANGER_GEM_VERSION=8.3.1 ENV DANGER_GITLAB_GEM_VERSION=8.0.0 ADD /scripts/ /scripts/ From 3ce204d492e04b09d07d6da495c6f00c2cabd8de Mon Sep 17 00:00:00 2001 From: Matthias Kaeppler Date: Fri, 9 Jul 2021 09:28:37 +0200 Subject: [PATCH 081/109] Rename ruby-3.0.0-* CI images to ruby-3.0 Both match 3.0.+ but it is confusing to ask for 3.0.0 and get 3.0.2. --- .gitlab-ci.yml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e69e932..0668602 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -86,23 +86,23 @@ ruby-2.7-golang-1.16-git-2.31-pgbouncer-1.14 test: *test_custom ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom -ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom -ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom -ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom -ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom -ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom -ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom # Used by GitLab/KAS integration tests ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom -ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom +ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom -ruby-3.0.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml ruby-2.6.6-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5: *test_custom @@ -161,23 +161,23 @@ ruby-2.7-golang-1.16-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-3.0.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom # Used by GitLab/KAS integration tests ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 push: *build_and_deploy_custom -ruby-3.0.0.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 push: *build_and_deploy_custom +ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 push: *build_and_deploy_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-3.0.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml ruby-2.6.6-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5 push: *build_and_deploy_custom From 8a98dc7fd9fb14a660e1b87b2ce1687d79d26bbb Mon Sep 17 00:00:00 2001 From: ddavison Date: Mon, 12 Jul 2021 09:02:51 -0400 Subject: [PATCH 082/109] Add Ruby 2.7.2 version for CustomersDot images --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0668602..f75557b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -106,6 +106,7 @@ ruby-3.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml ruby-2.6.6-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5: *test_custom +ruby-2.7.2-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5: *test_custom # Used by customers-gitlab-com qa e2e test: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab/ci/e2e.gitlab-ci.yml ruby-2.7.2-git-2.31-chrome-89-node-12.22-yarn-1.22-docker-19.03.1: *test_custom @@ -181,6 +182,7 @@ ruby-3.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *buil # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml ruby-2.6.6-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5 push: *build_and_deploy_custom +ruby-2.7.2-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5 push: *build_and_deploy_custom # Used by customers-gitlab-com qa e2e test: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab/ci/e2e.gitlab-ci.yml ruby-2.7.2-git-2.31-chrome-89-node-12.22-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom From 57269676491343e5a2f3b23b7000b2b72fb062c8 Mon Sep 17 00:00:00 2001 From: Lukas Eipert Date: Mon, 12 Jul 2021 15:47:59 +0200 Subject: [PATCH 083/109] Remove Pandoc and LaTeX from www-gitlab-com image With https://gitlab.com/gitlab-com/www-gitlab-com/-/merge_requests/81890 the last usage of pandoc / LaTeX was removed from the www-gitlab-com repo. This happened more than 2 months ago, so removing it from the image should be rather safe, especially considering we use merge trains. It reduces the image size by around 500 MB. --- scripts/install-www-gitlab-com | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/scripts/install-www-gitlab-com b/scripts/install-www-gitlab-com index fb0e283..14ff49e 100755 --- a/scripts/install-www-gitlab-com +++ b/scripts/install-www-gitlab-com @@ -6,21 +6,14 @@ IFS=$'\n\t' export DEBIAN_FRONTEND=noninteractive # echo "deb http://deb.debian.org/debian testing main" | tee -a /etc/apt/sources.list.d/testing.list -# Install LaTeX and other packages +# Install packages apt-get update apt-get install -yq --no-install-recommends \ make gcc g++ locales \ - rsync git-core texlive-latex-recommended texlive-xetex \ - texlive-fonts-recommended lmodern ed file curl gnupg2 \ + rsync git-core \ + ed file curl gnupg2 \ unzip \ - python3 python3-pip python3-crcmod - -# Install pandoc -cd /tmp -curl -L -O https://github.com/jgm/pandoc/releases/download/2.3.1/pandoc-2.3.1-linux.tar.gz -tar xvf pandoc-2.3.1-linux.tar.gz -cp pandoc-2.3.1/bin/* /usr/local/bin -rm -rf /tmp/pandoc* + python3 python3-pip python3-crcmod python-minimal # Install Imagemagick for cropping the pictures on the team page apt-get install -yq --no-install-recommends imagemagick From 1d2d116a77378960ed0315bea5f53d345ff1ba32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=A4ppler?= Date: Fri, 23 Jul 2021 12:17:13 +0000 Subject: [PATCH 084/109] Add Ruby 3 images for Gitaly CI --- .gitlab-ci.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f75557b..e59a4bf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -81,6 +81,11 @@ ruby-2.7-golang-1.15-git-2.31 test: *test_custom ruby-2.7-golang-1.15-git-2.31-pgbouncer-1.14 test: *test_custom ruby-2.7-golang-1.16-git-2.31 test: *test_custom ruby-2.7-golang-1.16-git-2.31-pgbouncer-1.14 test: *test_custom +ruby-3.0-golang-1.14-git-2.31 test: *test_custom +ruby-3.0-golang-1.15-git-2.31 test: *test_custom +ruby-3.0-golang-1.15-git-2.31-pgbouncer-1.14 test: *test_custom +ruby-3.0-golang-1.16-git-2.31 test: *test_custom +ruby-3.0-golang-1.16-git-2.31-pgbouncer-1.14 test: *test_custom # Used by GitLab: https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab-ci.yml ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom @@ -157,6 +162,11 @@ ruby-2.7-golang-1.15-git-2.31 push: *build_and_deploy_custom ruby-2.7-golang-1.15-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom ruby-2.7-golang-1.16-git-2.31 push: *build_and_deploy_custom ruby-2.7-golang-1.16-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom +ruby-3.0-golang-1.14-git-2.31 push: *build_and_deploy_custom +ruby-3.0-golang-1.15-git-2.31 push: *build_and_deploy_custom +ruby-3.0-golang-1.15-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom +ruby-3.0-golang-1.16-git-2.31 push: *build_and_deploy_custom +ruby-3.0-golang-1.16-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom # Used by GitLab CE/EE: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/.gitlab-ci.yml ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom From e60d5ea51377f84e70c4dd9de9202c3ee9ef0c61 Mon Sep 17 00:00:00 2001 From: Dmytro Makovey Date: Thu, 29 Jul 2021 02:50:14 +0000 Subject: [PATCH 085/109] Add tools required by operator-sdk to the operator builder image --- Dockerfile.gitlab-operator-build-base | 64 ++++++++++++++++++++++----- 1 file changed, 52 insertions(+), 12 deletions(-) diff --git a/Dockerfile.gitlab-operator-build-base b/Dockerfile.gitlab-operator-build-base index 8820901..82e4702 100644 --- a/Dockerfile.gitlab-operator-build-base +++ b/Dockerfile.gitlab-operator-build-base @@ -1,4 +1,28 @@ -FROM golang:1.14 +ARG GOLANG_VERSION=1.16 + +## Kustomize +FROM golang:${GOLANG_VERSION}-alpine as kustomize + +ARG KUSTOMIZE_VERSION=3.8.10 +ENV GOPROXY="https://proxy.golang.org/" + +RUN apk add --no-cache gcc musl-dev +RUN mkdir /src && cd /src; \ + go mod init tmp && \ + go get sigs.k8s.io/kustomize/kustomize/v3@v${KUSTOMIZE_VERSION} + +## Controller-gen +FROM golang:${GOLANG_VERSION}-alpine as controller-gen + +ARG CONTROLLER_GEN_VERSION=0.3.0 +ENV GOPROXY="https://proxy.golang.org/" + +RUN mkdir /src && cd /src; \ + go mod init tmp \ + && go get sigs.k8s.io/controller-tools/cmd/controller-gen@v${CONTROLLER_GEN_VERSION} + +## Build +FROM golang:${GOLANG_VERSION}-alpine as build LABEL maintainer="GitLab Distribution Team" \ description="Build base image for the GitLab Operator project." @@ -7,17 +31,33 @@ ARG KUBEBUILDER_VERSION=2.3.1 ARG YQ_VERSION=4.7.0 ARG HELM_VERSION=3.5.2 +RUN apk add --no-cache podman curl make gcc musl-dev git RUN go get -u \ github.com/onsi/ginkgo/ginkgo \ - golang.org/x/lint/golint \ - && curl --retry 6 -Ls https://go.kubebuilder.io/dl/${KUBEBUILDER_VERSION}/linux/amd64 | tar -xz -C /tmp/ \ - && mv /tmp/kubebuilder_${KUBEBUILDER_VERSION}_linux_amd64 /usr/local/kubebuilder \ - && ln -sfv /usr/local/kubebuilder/bin/* /usr/local/bin \ - && curl --retry 6 -LsO https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_amd64 \ - && chmod +x yq_linux_amd64 \ - && mv yq_linux_amd64 /usr/local/bin/yq \ - && curl --retry 6 -Ls "https://get.helm.sh/helm-v${HELM_VERSION}-linux-amd64.tar.gz" | tar -xz -C /tmp/ \ - && chmod +x /tmp/linux-amd64/helm \ - && mv /tmp/linux-amd64/helm /usr/local/bin/helm \ - && rm -rf /var/lib/apt/lists/* /tmp/* + golang.org/x/lint/golint +# Kubebuilder +RUN curl --retry 6 -Ls https://go.kubebuilder.io/dl/${KUBEBUILDER_VERSION}/linux/amd64 | tar -xz -C /tmp/ \ + && mv /tmp/kubebuilder_${KUBEBUILDER_VERSION}_linux_amd64 /usr/local/kubebuilder \ + && ln -sfv /usr/local/kubebuilder/bin/* /usr/local/bin + +# Yq +RUN curl --retry 6 -LsO https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_amd64 \ + && chmod +x yq_linux_amd64 \ + && mv yq_linux_amd64 /usr/local/bin/yq + +# Helm +RUN curl --retry 6 -Ls "https://get.helm.sh/helm-v${HELM_VERSION}-linux-amd64.tar.gz" | tar -xz -C /tmp/ \ + && chmod +x /tmp/linux-amd64/helm \ + && mv /tmp/linux-amd64/helm /usr/local/bin/helm + +# Kustomize +COPY --from=kustomize /go/bin/kustomize /usr/local/bin/kustomize +# Controller-gen +COPY --from=controller-gen /go/bin/controller-gen /usr/local/bin/controller-gen + +## Final image +FROM golang:${GOLANG_VERSION}-alpine +LABEL maintainer="GitLab Distribution Team" \ + description="Build base image for the GitLab Operator project." +COPY --from=build / / \ No newline at end of file From a116e933043e555ff26314d65290da0c2b276418 Mon Sep 17 00:00:00 2001 From: Dmitry Makovey Date: Fri, 30 Jul 2021 11:50:22 -0600 Subject: [PATCH 086/109] added bash --- Dockerfile.gitlab-operator-build-base | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.gitlab-operator-build-base b/Dockerfile.gitlab-operator-build-base index 82e4702..1d31eb8 100644 --- a/Dockerfile.gitlab-operator-build-base +++ b/Dockerfile.gitlab-operator-build-base @@ -31,7 +31,7 @@ ARG KUBEBUILDER_VERSION=2.3.1 ARG YQ_VERSION=4.7.0 ARG HELM_VERSION=3.5.2 -RUN apk add --no-cache podman curl make gcc musl-dev git +RUN apk add --no-cache podman curl make gcc musl-dev git bash RUN go get -u \ github.com/onsi/ginkgo/ginkgo \ golang.org/x/lint/golint From c85b1063a33dda481d6a64df5d2db948547ecf5d Mon Sep 17 00:00:00 2001 From: Dmytro Makovey Date: Wed, 4 Aug 2021 20:21:33 +0000 Subject: [PATCH 087/109] replace `busybox` versions of utils with GNU `coreutils` --- Dockerfile.gitlab-operator-build-base | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile.gitlab-operator-build-base b/Dockerfile.gitlab-operator-build-base index 1d31eb8..d4ae3d7 100644 --- a/Dockerfile.gitlab-operator-build-base +++ b/Dockerfile.gitlab-operator-build-base @@ -31,7 +31,7 @@ ARG KUBEBUILDER_VERSION=2.3.1 ARG YQ_VERSION=4.7.0 ARG HELM_VERSION=3.5.2 -RUN apk add --no-cache podman curl make gcc musl-dev git bash +RUN apk add --no-cache podman curl make gcc musl-dev git bash coreutils RUN go get -u \ github.com/onsi/ginkgo/ginkgo \ golang.org/x/lint/golint @@ -60,4 +60,4 @@ COPY --from=controller-gen /go/bin/controller-gen /usr/local/bin/controller-gen FROM golang:${GOLANG_VERSION}-alpine LABEL maintainer="GitLab Distribution Team" \ description="Build base image for the GitLab Operator project." -COPY --from=build / / \ No newline at end of file +COPY --from=build / / From ee30123fabd02d50b60ace50f4087b75c83cb35e Mon Sep 17 00:00:00 2001 From: Matthias Kaeppler Date: Fri, 6 Aug 2021 14:11:25 +0200 Subject: [PATCH 088/109] Fix patches not applied to Ruby 3 build image Since RUBY_VERSION expands to 3.0.2, and since we look for patches in a director of the same name, no patches were applied from the 3.0.0 directory. --- patches/ruby/{3.0.0 => 3.0.2}/thread-memory-allocations-3.0.patch | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename patches/ruby/{3.0.0 => 3.0.2}/thread-memory-allocations-3.0.patch (100%) diff --git a/patches/ruby/3.0.0/thread-memory-allocations-3.0.patch b/patches/ruby/3.0.2/thread-memory-allocations-3.0.patch similarity index 100% rename from patches/ruby/3.0.0/thread-memory-allocations-3.0.patch rename to patches/ruby/3.0.2/thread-memory-allocations-3.0.patch From c87c1d58bf3d24c2e7636d7c354ee4bfc9c923c7 Mon Sep 17 00:00:00 2001 From: Matthias Kaeppler Date: Thu, 12 Aug 2021 15:31:46 +0200 Subject: [PATCH 089/109] Add Ruby 3.0.2 patches to fix method override bug These patches are necessary to fix https://bugs.ruby-lang.org/issues/17725 which is unreleased. This is currently breaking our Ruby 3 build, so until 3.0.3 is out let's apply these independently. --- .../ruby/3.0.2/dont_alias_array_size.patch | 22 +++++ .../3.0.2/override_optimized_methods.patch | 85 +++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 patches/ruby/3.0.2/dont_alias_array_size.patch create mode 100644 patches/ruby/3.0.2/override_optimized_methods.patch diff --git a/patches/ruby/3.0.2/dont_alias_array_size.patch b/patches/ruby/3.0.2/dont_alias_array_size.patch new file mode 100644 index 0000000..c299faf --- /dev/null +++ b/patches/ruby/3.0.2/dont_alias_array_size.patch @@ -0,0 +1,22 @@ +commit fa0279d947c3962c3f8c32852278d3ebb964cb19 +Author: Koichi Sasada +Date: Wed Jul 28 13:40:30 2021 +0900 + + should not share same `def` for specialized method + + Because the key of redefine table is `def`, `def` should be + unique for each optimized method (`alias` is not allowed). + +diff --git a/array.c b/array.c +index 3cb57a0872..36f712bcac 100644 +--- a/array.c ++++ b/array.c +@@ -8384,7 +8384,7 @@ Init_Array(void) + rb_define_method(rb_cArray, "each_index", rb_ary_each_index, 0); + rb_define_method(rb_cArray, "reverse_each", rb_ary_reverse_each, 0); + rb_define_method(rb_cArray, "length", rb_ary_length, 0); +- rb_define_alias(rb_cArray, "size", "length"); ++ rb_define_method(rb_cArray, "size", rb_ary_length, 0); + rb_define_method(rb_cArray, "empty?", rb_ary_empty_p, 0); + rb_define_method(rb_cArray, "find_index", rb_ary_index, -1); + rb_define_method(rb_cArray, "index", rb_ary_index, -1); diff --git a/patches/ruby/3.0.2/override_optimized_methods.patch b/patches/ruby/3.0.2/override_optimized_methods.patch new file mode 100644 index 0000000..43b492b --- /dev/null +++ b/patches/ruby/3.0.2/override_optimized_methods.patch @@ -0,0 +1,85 @@ +commit fb4cf204a662a8cd9dafef6f31f2bd0db9129abe +Author: Koichi Sasada +Date: Thu May 13 03:10:18 2021 +0900 + + use me->def instead of me for opt_table + + `vm_opt_method_table` is me=>bop table to manage the optimized + methods (by specialized instruction). However, `me` can be invalidated + to invalidate the method cache entry. + [Bug #17725] + + To solve the issue, use `me-def` instead of `me` which simply copied + at invalidation timing. + + A test by @jeremyevans https://github.com/ruby/ruby/pull/4376 + +diff --git a/test/ruby/test_method.rb b/test/ruby/test_method.rb +index 240821c9e2..0bd5dc63dd 100644 +--- a/test/ruby/test_method.rb ++++ b/test/ruby/test_method.rb +@@ -1303,6 +1303,21 @@ class TestMethod < Test::Unit::TestCase + end; + end + ++ def test_override_optimized_method_on_class_using_prepend ++ assert_separately(%w(--disable-gems), <<-'end;', timeout: 30) ++ # Bug #17725 [ruby-core:102884] ++ $VERBOSE = nil ++ String.prepend(Module.new) ++ class String ++ def + other ++ 'blah blah' ++ end ++ end ++ ++ assert_equal('blah blah', 'a' + 'b') ++ end; ++ end ++ + def test_eqq + assert_operator(0.method(:<), :===, 5) + assert_not_operator(0.method(:<), :===, -5) +diff --git a/vm.c b/vm.c +index accd12644e..8a044efa1f 100644 +--- a/vm.c ++++ b/vm.c +@@ -1798,7 +1798,7 @@ rb_iter_break_value(VALUE val) + + /* optimization: redefine management */ + +-static st_table *vm_opt_method_table = 0; ++static st_table *vm_opt_method_def_table = 0; + static st_table *vm_opt_mid_table = 0; + + static int +@@ -1852,9 +1852,8 @@ rb_vm_check_redefinition_opt_method(const rb_method_entry_t *me, VALUE klass) + klass = RBASIC_CLASS(klass); + } + if (vm_redefinition_check_method_type(me->def)) { +- if (st_lookup(vm_opt_method_table, (st_data_t)me, &bop)) { +- int flag = vm_redefinition_check_flag(klass); +- ++ if (st_lookup(vm_opt_method_def_table, (st_data_t)me->def, &bop)) { ++ int flag = vm_redefinition_check_flag(klass); + ruby_vm_redefined_flag[bop] |= flag; + } + } +@@ -1885,7 +1884,7 @@ add_opt_method(VALUE klass, ID mid, VALUE bop) + const rb_method_entry_t *me = rb_method_entry_at(klass, mid); + + if (me && vm_redefinition_check_method_type(me->def)) { +- st_insert(vm_opt_method_table, (st_data_t)me, (st_data_t)bop); ++ st_insert(vm_opt_method_def_table, (st_data_t)me->def, (st_data_t)bop); + st_insert(vm_opt_mid_table, (st_data_t)mid, (st_data_t)Qtrue); + } + else { +@@ -1899,7 +1898,7 @@ vm_init_redefined_flag(void) + ID mid; + VALUE bop; + +- vm_opt_method_table = st_init_numtable(); ++ vm_opt_method_def_table = st_init_numtable(); + vm_opt_mid_table = st_init_numtable(); + + #define OP(mid_, bop_) (mid = id##mid_, bop = BOP_##bop_, ruby_vm_redefined_flag[bop] = 0) From 5af3b789646d6cd9cd20981bca63f6b7fc62817a Mon Sep 17 00:00:00 2001 From: Matthias Kaeppler Date: Wed, 18 Aug 2021 11:01:36 +0200 Subject: [PATCH 090/109] Danger: Pin ruby base image to Debian buster Until https://github.com/nodesource/distributions/issues/1249#issuecomment-897838056 is resolved. --- Dockerfile.danger | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.danger b/Dockerfile.danger index c3485c9..26e8909 100644 --- a/Dockerfile.danger +++ b/Dockerfile.danger @@ -1,4 +1,4 @@ -FROM ruby:2.7.4 +FROM ruby:2.7.4-buster MAINTAINER GitLab Quality Team # Danger manipulates git diff output. When a unicode char is present in the diff, it chokes with From 19cbe92aa965bf26eaac94f3a25c1229f53e3666 Mon Sep 17 00:00:00 2001 From: Matthias Kaeppler Date: Tue, 17 Aug 2021 10:05:30 +0200 Subject: [PATCH 091/109] Pin ruby-2.7.2 image, add ruby-2.7 The ruby-2.7 tags will always contain the latest patch released for that minor version. This allows us to ship patches more easily but retains backwards compatibility with existing repos asking for 2.7.2. --- .gitlab-ci.yml | 20 ++ patches/ruby/2.7.4/debug-segfault.patch | 25 ++ .../2.7.4/thread-memory-allocations-2.7.patch | 258 ++++++++++++++++++ scripts/custom-docker-build | 11 +- 4 files changed, 312 insertions(+), 2 deletions(-) create mode 100644 patches/ruby/2.7.4/debug-segfault.patch create mode 100644 patches/ruby/2.7.4/thread-memory-allocations-2.7.patch diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e59a4bf..facdb7f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -91,30 +91,40 @@ ruby-3.0-golang-1.16-git-2.31-pgbouncer-1.14 test: *test_custom ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom # Used by GitLab/KAS integration tests ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom +ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom ruby-3.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml ruby-2.6.6-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5: *test_custom ruby-2.7.2-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5: *test_custom +ruby-2.7-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5: *test_custom # Used by customers-gitlab-com qa e2e test: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab/ci/e2e.gitlab-ci.yml ruby-2.7.2-git-2.31-chrome-89-node-12.22-yarn-1.22-docker-19.03.1: *test_custom +ruby-2.7-git-2.31-chrome-89-node-12.22-yarn-1.22-docker-19.03.1: *test_custom # Used by https://gitlab.com/gitlab-org/charts/auto-deploy-app/-/blob/master/.gitlab-ci.yml alpine-helm test: *test_build @@ -172,30 +182,40 @@ ruby-3.0-golang-1.16-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom # Used by GitLab/KAS integration tests ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 push: *build_and_deploy_custom +ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 push: *build_and_deploy_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 push: *build_and_deploy_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml ruby-2.6.6-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5 push: *build_and_deploy_custom ruby-2.7.2-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5 push: *build_and_deploy_custom +ruby-2.7-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5 push: *build_and_deploy_custom # Used by customers-gitlab-com qa e2e test: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab/ci/e2e.gitlab-ci.yml ruby-2.7.2-git-2.31-chrome-89-node-12.22-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom +ruby-2.7-git-2.31-chrome-89-node-12.22-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom # Used by https://gitlab.com/gitlab-org/charts/auto-deploy-app/-/blob/master/.gitlab-ci.yml alpine-helm push: *build_and_deploy diff --git a/patches/ruby/2.7.4/debug-segfault.patch b/patches/ruby/2.7.4/debug-segfault.patch new file mode 100644 index 0000000..72c1e41 --- /dev/null +++ b/patches/ruby/2.7.4/debug-segfault.patch @@ -0,0 +1,25 @@ +diff --git a/class.c b/class.c +index c866d1d727..37ff3c5ade 100644 +--- a/class.c ++++ b/class.c +@@ -27,6 +27,7 @@ + #include "ruby/st.h" + #include "constant.h" + #include "vm_core.h" ++#include "vm_debug.h" + #include "id_table.h" + #include + +@@ -119,6 +120,12 @@ rb_class_foreach_subclass(VALUE klass, void (*f)(VALUE, VALUE), VALUE arg) + while (cur) { + VALUE curklass = cur->klass; + cur = cur->next; ++ ++ if (curklass == 0) { ++ fprintf(stderr, "=== Detected NULL subclass:\n"); ++ dp(curklass); ++ } ++ + f(curklass, arg); + } + } diff --git a/patches/ruby/2.7.4/thread-memory-allocations-2.7.patch b/patches/ruby/2.7.4/thread-memory-allocations-2.7.patch new file mode 100644 index 0000000..ca0a87e --- /dev/null +++ b/patches/ruby/2.7.4/thread-memory-allocations-2.7.patch @@ -0,0 +1,258 @@ +From 97f14ebfd8d24d71e10c450e0a90b6322f9c0d59 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= +Date: Tue, 22 Dec 2020 15:33:08 +0100 +Subject: [PATCH] Expose `Thread#memory_allocations` counters + +This provides currently a per-thread GC heap slots +and malloc allocations statistics. + +This is designed to measure a memory allocations +in a multi-threaded environments (concurrent requests +processing) with an accurate information about allocated +memory within a given execution context. + +Example: Measure memory pressure generated by a given +requests to easier find requests with a lot of allocations. + +Ref: https://gitlab.com/gitlab-org/gitlab/-/issues/296530 +--- + gc.c | 20 ++++++ + .../test_thread_trace_memory_allocations.rb | 67 +++++++++++++++++++ + thread.c | 55 +++++++++++++++ + vm_core.h | 17 +++++ + 4 files changed, 159 insertions(+) + create mode 100644 test/ruby/test_thread_trace_memory_allocations.rb + +diff --git a/gc.c b/gc.c +index 73faf46b128b..f2dcd2935052 100644 +--- a/gc.c ++++ b/gc.c +@@ -2172,6 +2172,13 @@ newobj_init(VALUE klass, VALUE flags, VALUE v1, VALUE v2, VALUE v3, int wb_prote + GC_ASSERT(!SPECIAL_CONST_P(obj)); /* check alignment */ + #endif + ++#if THREAD_TRACE_MEMORY_ALLOCATIONS ++ rb_thread_t *th = ruby_threadptr_for_trace_memory_allocations(); ++ if (th) { ++ ATOMIC_SIZE_INC(th->memory_allocations.total_allocated_objects); ++ } ++#endif ++ + objspace->total_allocated_objects++; + + gc_report(5, objspace, "newobj: %s\n", obj_info(obj)); +@@ -9732,6 +9739,19 @@ objspace_malloc_increase(rb_objspace_t *objspace, void *mem, size_t new_size, si + #endif + } + ++#if THREAD_TRACE_MEMORY_ALLOCATIONS ++ rb_thread_t *th = ruby_threadptr_for_trace_memory_allocations(); ++ if (th) { ++ if (new_size > old_size) { ++ ATOMIC_SIZE_ADD(th->memory_allocations.total_malloc_bytes, new_size - old_size); ++ } ++ ++ if (type == MEMOP_TYPE_MALLOC) { ++ ATOMIC_SIZE_INC(th->memory_allocations.total_mallocs); ++ } ++ } ++#endif ++ + if (type == MEMOP_TYPE_MALLOC) { + retry: + if (malloc_increase > malloc_limit && ruby_native_thread_p() && !dont_gc) { +diff --git a/test/ruby/test_thread_trace_memory_allocations.rb b/test/ruby/test_thread_trace_memory_allocations.rb +new file mode 100644 +index 000000000000..2e281513578b +--- /dev/null ++++ b/test/ruby/test_thread_trace_memory_allocations.rb +@@ -0,0 +1,67 @@ ++# frozen_string_literal: true ++ ++require 'test/unit' ++ ++class TestThreadTraceMemoryAllocations < Test::Unit::TestCase ++ def test_disabled_trace_memory_allocations ++ Thread.trace_memory_allocations = false ++ ++ assert_predicate Thread.current.memory_allocations, :nil? ++ end ++ ++ def test_enabled_trace_memory_allocations ++ Thread.trace_memory_allocations = true ++ ++ assert_not_nil(Thread.current.memory_allocations) ++ end ++ ++ def test_only_this_thread_allocations_are_counted ++ changed = { ++ total_allocated_objects: 1000, ++ total_malloc_bytes: 1_000_000, ++ total_mallocs: 100 ++ } ++ ++ Thread.trace_memory_allocations = true ++ ++ assert_less_than(changed) do ++ Thread.new do ++ assert_greater_than(changed) do ++ # This will allocate: 5k objects, 5k mallocs, 5MB ++ allocate(5000, 1000) ++ end ++ end.join ++ ++ # This will allocate: 50 objects, 50 mallocs, 500 bytes ++ allocate(50, 10) ++ end ++ end ++ ++ private ++ ++ def allocate(slots, bytes) ++ Array.new(slots).map do ++ '0' * bytes ++ end ++ end ++ ++ def assert_greater_than(keys) ++ before = Thread.current.memory_allocations ++ yield ++ after = Thread.current.memory_allocations ++ ++ keys.each do |key, by| ++ assert_operator(by, :<=, after[key]-before[key], "expected the #{key} to change more than #{by}") ++ end ++ end ++ ++ def assert_less_than(keys) ++ before = Thread.current.memory_allocations ++ yield ++ after = Thread.current.memory_allocations ++ ++ keys.each do |key, by| ++ assert_operator(by, :>, after[key]-before[key], "expected the #{key} to change less than #{by}") ++ end ++ end ++end +diff --git a/thread.c b/thread.c +index 708aaa471d99..d68a59e9f2d6 100644 +--- a/thread.c ++++ b/thread.c +@@ -5143,6 +5143,55 @@ rb_thread_backtrace_locations_m(int argc, VALUE *argv, VALUE thval) + return rb_vm_thread_backtrace_locations(argc, argv, thval); + } + ++#if THREAD_TRACE_MEMORY_ALLOCATIONS ++rb_thread_t * ++ruby_threadptr_for_trace_memory_allocations(void) ++{ ++ // The order of this checks is important due ++ // to how Ruby VM is initialized ++ if (GET_VM()->thread_trace_memory_allocations && GET_EC() != NULL) { ++ return GET_THREAD(); ++ } ++ ++ return NULL; ++} ++ ++static VALUE ++rb_thread_s_trace_memory_allocations(VALUE _) ++{ ++ return GET_THREAD()->vm->thread_trace_memory_allocations ? Qtrue : Qfalse; ++} ++ ++static VALUE ++rb_thread_s_trace_memory_allocations_set(VALUE self, VALUE val) ++{ ++ GET_THREAD()->vm->thread_trace_memory_allocations = RTEST(val); ++ return val; ++} ++ ++static VALUE ++rb_thread_memory_allocations(VALUE self) ++{ ++ rb_thread_t *th = rb_thread_ptr(self); ++ ++ if (!th->vm->thread_trace_memory_allocations) { ++ return Qnil; ++ } ++ ++ VALUE ret = rb_hash_new(); ++ ++ VALUE total_allocated_objects = ID2SYM(rb_intern_const("total_allocated_objects")); ++ VALUE total_malloc_bytes = ID2SYM(rb_intern_const("total_malloc_bytes")); ++ VALUE total_mallocs = ID2SYM(rb_intern_const("total_mallocs")); ++ ++ rb_hash_aset(ret, total_allocated_objects, SIZET2NUM(th->memory_allocations.total_allocated_objects)); ++ rb_hash_aset(ret, total_malloc_bytes, SIZET2NUM(th->memory_allocations.total_malloc_bytes)); ++ rb_hash_aset(ret, total_mallocs, SIZET2NUM(th->memory_allocations.total_mallocs)); ++ ++ return ret; ++} ++#endif ++ + /* + * Document-class: ThreadError + * +@@ -5230,6 +5279,12 @@ Init_Thread(void) + rb_define_method(rb_cThread, "to_s", rb_thread_to_s, 0); + rb_define_alias(rb_cThread, "inspect", "to_s"); + ++#if THREAD_TRACE_MEMORY_ALLOCATIONS ++ rb_define_singleton_method(rb_cThread, "trace_memory_allocations", rb_thread_s_trace_memory_allocations, 0); ++ rb_define_singleton_method(rb_cThread, "trace_memory_allocations=", rb_thread_s_trace_memory_allocations_set, 1); ++ rb_define_method(rb_cThread, "memory_allocations", rb_thread_memory_allocations, 0); ++#endif ++ + rb_vm_register_special_exception(ruby_error_stream_closed, rb_eIOError, + "stream closed in another thread"); + +diff --git a/vm_core.h b/vm_core.h +index 12c3ac377551..63cdf55fa6ed 100644 +--- a/vm_core.h ++++ b/vm_core.h +@@ -69,6 +69,13 @@ + # define VM_INSN_INFO_TABLE_IMPL 2 + #endif + ++/* ++ * track a per thread memory allocations ++ */ ++#ifndef THREAD_TRACE_MEMORY_ALLOCATIONS ++# define THREAD_TRACE_MEMORY_ALLOCATIONS 1 ++#endif ++ + #include "ruby/ruby.h" + #include "ruby/st.h" + +@@ -602,6 +609,7 @@ typedef struct rb_vm_struct { + unsigned int running: 1; + unsigned int thread_abort_on_exception: 1; + unsigned int thread_report_on_exception: 1; ++ unsigned int thread_trace_memory_allocations: 1; + + unsigned int safe_level_: 1; + int sleeper; +@@ -960,6 +968,14 @@ typedef struct rb_thread_struct { + + rb_thread_list_t *join_list; + ++#if THREAD_TRACE_MEMORY_ALLOCATIONS ++ struct { ++ size_t total_allocated_objects; ++ size_t total_malloc_bytes; ++ size_t total_mallocs; ++ } memory_allocations; ++#endif ++ + union { + struct { + VALUE proc; +@@ -1852,6 +1868,7 @@ void rb_threadptr_interrupt(rb_thread_t *th); + void rb_threadptr_unlock_all_locking_mutexes(rb_thread_t *th); + void rb_threadptr_pending_interrupt_clear(rb_thread_t *th); + void rb_threadptr_pending_interrupt_enque(rb_thread_t *th, VALUE v); ++rb_thread_t *ruby_threadptr_for_trace_memory_allocations(void); + VALUE rb_ec_get_errinfo(const rb_execution_context_t *ec); + void rb_ec_error_print(rb_execution_context_t * volatile ec, volatile VALUE errinfo); + void rb_execution_context_update(const rb_execution_context_t *ec); diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index 2173bdc..52802a2 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -205,12 +205,19 @@ function print_ruby_args() { RUBY_DOWNLOAD_SHA256="364b143def360bac1b74eb56ed60b1a0dca6439b00157ae11ff77d5cd2e92291" ;; - 2.7|2.7.*) + 2.7|2.7.patched) + RUBY_VERSION="2.7.4" + RUBY_DOWNLOAD_SHA256="3043099089608859fc8cce7f9fdccaa1f53a462457e3838ec3b25a7d609fbc5b" + ;; + + # Please update any clients still asking for these images to request `ruby-2.7` instead, + # which will provide the latest available patch level (see above.) + 2.7.*) RUBY_VERSION="2.7.2" RUBY_DOWNLOAD_SHA256="6e5706d0d4ee4e1e2f883db9d768586b4d06567debea353c796ec45e8321c3d4" ;; - 3.0|3.0.*) + 3.0|3.0.patched) RUBY_VERSION="3.0.2" RUBY_DOWNLOAD_SHA256="5085dee0ad9f06996a8acec7ebea4a8735e6fac22f22e2d98c3f2bc3bef7e6f1" ;; From 75872c38aac3b0f95c8090be45ba26a5a84185da Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Wed, 18 Aug 2021 07:48:11 -0700 Subject: [PATCH 092/109] Update to Go v1.16.7 This has a number of security and bug fixes: https://golang.org/doc/devel/release#go1.16 --- scripts/custom-docker-build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index 52802a2..e1144ba 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -16,8 +16,8 @@ function print_golang_args() { GOLANG_DOWNLOAD_SHA256=4aa1267517df32f2bf1cc3d55dfc27d0c6b2c2b0989449c96dd19273ccca051d ;; 1.16) - INSTALL_GOLANG_VERSION=1.16.4 - GOLANG_DOWNLOAD_SHA256=7154e88f5a8047aad4b80ebace58a059e36e7e2e4eb3b383127a28c711b4ff59 + INSTALL_GOLANG_VERSION=1.16.7 + GOLANG_DOWNLOAD_SHA256=7fe7a73f55ba3e2285da36f8b085e5c0159e9564ef5f63ee0ed6b818ade8ef04 ;; *) echo "Unknown golang version $1"; exit 1; esac From 90453443efde735a417f2580bdf531c183a5716b Mon Sep 17 00:00:00 2001 From: feistel <6742251-feistel@users.noreply.gitlab.com> Date: Thu, 19 Aug 2021 02:40:18 +0000 Subject: [PATCH 093/109] Add Go 1.17 to the build images --- scripts/custom-docker-build | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index e1144ba..d74d62a 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -19,6 +19,10 @@ function print_golang_args() { INSTALL_GOLANG_VERSION=1.16.7 GOLANG_DOWNLOAD_SHA256=7fe7a73f55ba3e2285da36f8b085e5c0159e9564ef5f63ee0ed6b818ade8ef04 ;; + 1.17) + INSTALL_GOLANG_VERSION=1.17 + GOLANG_DOWNLOAD_SHA256=6bf89fc4f5ad763871cf7eac80a2d594492de7a818303283f1366a7f6a30372d + ;; *) echo "Unknown golang version $1"; exit 1; esac From 2f6e7217ec725f19e68f2765ed577350eab163f9 Mon Sep 17 00:00:00 2001 From: feistel <6742251-feistel@users.noreply.gitlab.com> Date: Thu, 19 Aug 2021 02:56:03 +0000 Subject: [PATCH 094/109] ci: add tests for go 1.17 gitaly images --- .gitlab-ci.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index facdb7f..074dfe1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -81,11 +81,15 @@ ruby-2.7-golang-1.15-git-2.31 test: *test_custom ruby-2.7-golang-1.15-git-2.31-pgbouncer-1.14 test: *test_custom ruby-2.7-golang-1.16-git-2.31 test: *test_custom ruby-2.7-golang-1.16-git-2.31-pgbouncer-1.14 test: *test_custom +ruby-2.7-golang-1.17-git-2.31 test: *test_custom +ruby-2.7-golang-1.17-git-2.31-pgbouncer-1.14 test: *test_custom ruby-3.0-golang-1.14-git-2.31 test: *test_custom ruby-3.0-golang-1.15-git-2.31 test: *test_custom ruby-3.0-golang-1.15-git-2.31-pgbouncer-1.14 test: *test_custom ruby-3.0-golang-1.16-git-2.31 test: *test_custom ruby-3.0-golang-1.16-git-2.31-pgbouncer-1.14 test: *test_custom +ruby-3.0-golang-1.17-git-2.31 test: *test_custom +ruby-3.0-golang-1.17-git-2.31-pgbouncer-1.14 test: *test_custom # Used by GitLab: https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab-ci.yml ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom @@ -172,11 +176,15 @@ ruby-2.7-golang-1.15-git-2.31 push: *build_and_deploy_custom ruby-2.7-golang-1.15-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom ruby-2.7-golang-1.16-git-2.31 push: *build_and_deploy_custom ruby-2.7-golang-1.16-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom +ruby-2.7-golang-1.17-git-2.31 push: *build_and_deploy_custom +ruby-2.7-golang-1.17-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom ruby-3.0-golang-1.14-git-2.31 push: *build_and_deploy_custom ruby-3.0-golang-1.15-git-2.31 push: *build_and_deploy_custom ruby-3.0-golang-1.15-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom ruby-3.0-golang-1.16-git-2.31 push: *build_and_deploy_custom ruby-3.0-golang-1.16-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom +ruby-3.0-golang-1.17-git-2.31 push: *build_and_deploy_custom +ruby-3.0-golang-1.17-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom # Used by GitLab CE/EE: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/.gitlab-ci.yml ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom From b814f0e985753582d518146f3745f012c4b707f6 Mon Sep 17 00:00:00 2001 From: Mitchell Nielsen Date: Thu, 2 Sep 2021 12:12:20 -0500 Subject: [PATCH 095/109] Point directly to kubebuilder release artifact URL Points directly to the kubebuilder release artifact URL in GitHub, rather than going through `go.kubebuilder.io`. Its redirection, along with the artifact names between versions, has changed and become unstable. This approach gives us a more clear target for the download and will make it easier to patch in the future when newer versions have different filename conventions. --- Dockerfile.gitlab-operator-build-base | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.gitlab-operator-build-base b/Dockerfile.gitlab-operator-build-base index d4ae3d7..2c23a35 100644 --- a/Dockerfile.gitlab-operator-build-base +++ b/Dockerfile.gitlab-operator-build-base @@ -37,7 +37,7 @@ RUN go get -u \ golang.org/x/lint/golint # Kubebuilder -RUN curl --retry 6 -Ls https://go.kubebuilder.io/dl/${KUBEBUILDER_VERSION}/linux/amd64 | tar -xz -C /tmp/ \ +RUN curl --retry 6 -Ls https://github.com/kubernetes-sigs/kubebuilder/releases/download/v${KUBEBUILDER_VERSION}/kubebuilder_${KUBEBUILDER_VERSION}_linux_amd64.tar.gz | tar -xz -C /tmp/ \ && mv /tmp/kubebuilder_${KUBEBUILDER_VERSION}_linux_amd64 /usr/local/kubebuilder \ && ln -sfv /usr/local/kubebuilder/bin/* /usr/local/bin From fa21ba8b27fc1b56255800cd6a0381bddf1a2129 Mon Sep 17 00:00:00 2001 From: Albert Salim Date: Thu, 2 Sep 2021 07:18:34 +0000 Subject: [PATCH 096/109] Add gcloud/kubectl 1.17/Helm 3.5.2-based image --- Dockerfile.gitlab-gcloud-helm3.5-kubectl1.17 | 39 ++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Dockerfile.gitlab-gcloud-helm3.5-kubectl1.17 diff --git a/Dockerfile.gitlab-gcloud-helm3.5-kubectl1.17 b/Dockerfile.gitlab-gcloud-helm3.5-kubectl1.17 new file mode 100644 index 0000000..495a8a1 --- /dev/null +++ b/Dockerfile.gitlab-gcloud-helm3.5-kubectl1.17 @@ -0,0 +1,39 @@ +FROM ruby:3.0.0-alpine +MAINTAINER GitLab Engineering Productivity Team + +ENV GCLOUD_VERSION=354.0.0 +ENV GCLOUD_URL=https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-${GCLOUD_VERSION}-linux-x86_64.tar.gz + +ENV KUBECTL_VERSION=1.17.17 + +ENV HELM_VERSION=3.5.3 +ENV HELM_URL=https://get.helm.sh/helm-v${HELM_VERSION}-linux-amd64.tar.gz +ENV HELM_HOME=/root/.helm + +# Install dependencies +RUN apk --no-cache -U add openssl curl tar gzip bash ca-certificates git \ + && mkdir -p /opt + +# Install Google Cloud SDK +RUN curl ${GCLOUD_URL} > /tmp/google-cloud-sdk.tar.gz +RUN mkdir -p /usr/local/gcloud \ + && tar -C /usr/local/gcloud -xvf /tmp/google-cloud-sdk.tar.gz \ + && /usr/local/gcloud/google-cloud-sdk/install.sh +ENV PATH $PATH:/usr/local/gcloud/google-cloud-sdk/bin + +RUN gcloud version + +# Install kubectl +RUN wget https://dl.k8s.io/release/v${KUBECTL_VERSION}/bin/linux/amd64/kubectl \ + && install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl \ + && rm -f kubectl + +# Install Helm +RUN wget -q -O - ${HELM_URL} | tar zxf - \ + && mv linux-amd64/helm /usr/bin/ \ + && chmod +x /usr/bin/helm \ + && helm version --client + +# Install kubeval +RUN mkdir -p $HELM_HOME/plugins \ + && helm plugin install https://github.com/instrumenta/helm-kubeval From 1ac4c70fa552d090e905195ce596dbc4108080a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= Date: Wed, 15 Sep 2021 17:34:12 +0200 Subject: [PATCH 097/109] Start the 'cache-google-chrome' job immediately on the main branch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rémy Coutable --- .gitlab-ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 074dfe1..e45d719 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -264,6 +264,10 @@ gitlab-operator-build-base push: *build_and_deploy cache-google-chrome: stage: automation + rules: + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + # Starts the job immediately + needs: [] variables: MOUNT_POINT: /builds/$CI_PROJECT_PATH/mnt script: From ed9fb377fe5c15efeeb00e036d5adfa1a44ce603 Mon Sep 17 00:00:00 2001 From: Vitaly Slobodin Date: Thu, 23 Sep 2021 10:45:57 +0300 Subject: [PATCH 098/109] Add new image with Docker for CustomersDot Docker-In-Docker --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 074dfe1..9b5785e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -123,6 +123,7 @@ ruby-3.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml ruby-2.6.6-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5: *test_custom +ruby-2.6.6-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5-docker-19.03.1: *test_custom ruby-2.7.2-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5: *test_custom ruby-2.7-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5: *test_custom @@ -218,6 +219,7 @@ ruby-3.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *buil # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml ruby-2.6.6-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5 push: *build_and_deploy_custom +ruby-2.6.6-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5-docker-19.03.1 push: *build_and_deploy_custom ruby-2.7.2-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5 push: *build_and_deploy_custom ruby-2.7-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5 push: *build_and_deploy_custom From 4b847ad5cb6a691b620ad88da623a15296757419 Mon Sep 17 00:00:00 2001 From: "Balasankar \"Balu\" C" Date: Mon, 4 Oct 2021 16:07:14 +0530 Subject: [PATCH 099/109] Add image with tools required to hit and API and parse the JSON response Signed-off-by: Balasankar "Balu" C --- .gitlab-ci.yml | 3 +++ Dockerfile.alpine-bash-jq-curl-git | 3 +++ 2 files changed, 6 insertions(+) create mode 100644 Dockerfile.alpine-bash-jq-curl-git diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bafc0d9..8d90b8d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -169,6 +169,8 @@ golangci-lint-alpine test: *test_build # Used by gitlab-operator: https://gitlab.com/gitlab-org/gl-openshift/gitlab-operator gitlab-operator-build-base test: *test_build +alpine-bash-jq-curl-git test: *test_build + # Builds # Used by Gitaly: https://gitlab.com/gitlab-org/gitaly/blob/master/.gitlab-ci.yml @@ -264,6 +266,7 @@ golangci-lint-alpine push: *build_and_deploy # Used by gitlab-operator: https://gitlab.com/gitlab-org/gl-openshift/gitlab-operator gitlab-operator-build-base push: *build_and_deploy +alpine-bash-jq-curl-git push: *build_and_deploy cache-google-chrome: stage: automation rules: diff --git a/Dockerfile.alpine-bash-jq-curl-git b/Dockerfile.alpine-bash-jq-curl-git new file mode 100644 index 0000000..c1c4ea9 --- /dev/null +++ b/Dockerfile.alpine-bash-jq-curl-git @@ -0,0 +1,3 @@ +FROM alpine:latest + +RUN apk --no-cache add bash jq curl git From 62cd6d6632a885caaba2892d50f74c55e2a5e1ce Mon Sep 17 00:00:00 2001 From: ddavison Date: Fri, 8 Oct 2021 12:12:37 -0400 Subject: [PATCH 100/109] Add danger image with ruby version 2.6.6 --- .gitlab-ci.yml | 2 ++ Dockerfile.danger-ruby-2.6.6 | 31 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 Dockerfile.danger-ruby-2.6.6 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8d90b8d..70deb69 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -135,6 +135,7 @@ ruby-2.7-git-2.31-chrome-89-node-12.22-yarn-1.22-docker-19.03.1: *test_custom alpine-helm test: *test_build danger test: *test_build +danger-ruby-2.6.6 test: *test_build gitlab-charts-build-base test: *test_build gitlab-charts-build-base-helm-3 test: *test_build gitlab-helm3.5-kubectl1.17 test: *test_build @@ -233,6 +234,7 @@ ruby-2.7-git-2.31-chrome-89-node-12.22-yarn-1.22-docker-19.03.1 push: *build_and alpine-helm push: *build_and_deploy danger push: *build_and_deploy +danger-ruby-2.6.6 push: *build_and_deploy gitlab-charts-build-base push: *build_and_deploy gitlab-charts-build-base-helm-3 push: *build_and_deploy gitlab-helm3.5-kubectl1.17 push: *build_and_deploy diff --git a/Dockerfile.danger-ruby-2.6.6 b/Dockerfile.danger-ruby-2.6.6 new file mode 100644 index 0000000..ae74d26 --- /dev/null +++ b/Dockerfile.danger-ruby-2.6.6 @@ -0,0 +1,31 @@ +FROM ruby:2.6.6-buster +MAINTAINER GitLab Quality Team + +# Danger manipulates git diff output. When a unicode char is present in the diff, it chokes with +# (Danger::DSLError) [!] Invalid `Dangerfile` file: invalid byte sequence in US-ASCII +# eg. https://gitlab.com/gitlab-org/gitlab-foss/-/jobs/275286625 +ENV LC_ALL "C.UTF-8" + +ENV NODE_VERSION=14.17.2 +ENV YARN_VERSION=1.22.10 +ENV GITLAB_GEM_VERSION=4.17.0 +ENV DANGER_GEM_VERSION=8.3.1 +ENV DANGER_GITLAB_GEM_VERSION=8.0.0 + +ADD /scripts/ /scripts/ + +RUN apt-get update \ + && apt-get install -y git \ + && /scripts/install-node ${NODE_VERSION} ${YARN_VERSION} \ + && yarn global add alex@9 \ + && yarn cache clean \ + && apt-get autoremove -yq \ + && apt-get clean -yqq \ + && rm -rf /var/lib/apt/lists/* \ + && gem install gitlab --version ${GITLAB_GEM_VERSION} --no-document \ + && gem install danger --version ${DANGER_GEM_VERSION} --no-document \ + && gem install danger-gitlab --version ${DANGER_GITLAB_GEM_VERSION} --no-document \ + && git version \ + && echo "node version " $(node --version) \ + && echo "yarn version " $(yarn --version) \ + && echo "Danger version " $(danger --version) From 3d461a3c62fa11659a846339334ea7791e394fb7 Mon Sep 17 00:00:00 2001 From: Costel Maxim Date: Tue, 12 Oct 2021 10:27:32 +0000 Subject: [PATCH 101/109] Update docker:20.10.3-git to docker:20.10.9-git --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 70deb69..81a803c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,7 +3,7 @@ include: - template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml' default: - image: docker:20.10.3-git + image: docker:20.10.9-git services: - docker:20.10.3-dind before_script: From 774bc12c9899c168af483e56105fe531e7638134 Mon Sep 17 00:00:00 2001 From: Costel Maxim Date: Tue, 12 Oct 2021 10:51:46 +0000 Subject: [PATCH 102/109] Update 20.10.3-dind to 20.10.9-dind From fab40fe6b5256dd4897e398283b7e419b7fd3ec1 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Tue, 12 Oct 2021 16:21:01 -0700 Subject: [PATCH 103/109] Update Golang v1.16.9 and v1.17.2 These are security releases: https://golang.org/doc/devel/release#go1.17 --- scripts/custom-docker-build | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index d74d62a..5f293ad 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -16,12 +16,12 @@ function print_golang_args() { GOLANG_DOWNLOAD_SHA256=4aa1267517df32f2bf1cc3d55dfc27d0c6b2c2b0989449c96dd19273ccca051d ;; 1.16) - INSTALL_GOLANG_VERSION=1.16.7 - GOLANG_DOWNLOAD_SHA256=7fe7a73f55ba3e2285da36f8b085e5c0159e9564ef5f63ee0ed6b818ade8ef04 + INSTALL_GOLANG_VERSION=1.16.9 + GOLANG_DOWNLOAD_SHA256=d2c095c95f63c2a3ef961000e0ecb9d81d5c68b6ece176e2a8a2db82dc02931c ;; 1.17) - INSTALL_GOLANG_VERSION=1.17 - GOLANG_DOWNLOAD_SHA256=6bf89fc4f5ad763871cf7eac80a2d594492de7a818303283f1366a7f6a30372d + INSTALL_GOLANG_VERSION=1.17.2 + GOLANG_DOWNLOAD_SHA256=f242a9db6a0ad1846de7b6d94d507915d14062660616a61ef7c808a76e4f1676 ;; *) echo "Unknown golang version $1"; exit 1; esac From 419c259e70122167ce7c0f42d43b5c26e9825c70 Mon Sep 17 00:00:00 2001 From: Heinrich Lee Yu Date: Wed, 13 Oct 2021 09:42:25 +0800 Subject: [PATCH 104/109] Add Git 2.33 images This is the new required minimum version of Gitaly --- .gitlab-ci.yml | 90 +++++++++++++++++++++++++++++++++++++ scripts/custom-docker-build | 5 +++ 2 files changed, 95 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 81a803c..2ad3fd8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -90,6 +90,21 @@ ruby-3.0-golang-1.16-git-2.31 test: *test_custom ruby-3.0-golang-1.16-git-2.31-pgbouncer-1.14 test: *test_custom ruby-3.0-golang-1.17-git-2.31 test: *test_custom ruby-3.0-golang-1.17-git-2.31-pgbouncer-1.14 test: *test_custom +ruby-2.7-golang-1.14-git-2.33 test: *test_custom +ruby-2.7-golang-1.15-git-2.33 test: *test_custom +ruby-2.7-golang-1.15-git-2.33-pgbouncer-1.14 test: *test_custom +ruby-2.7-golang-1.16-git-2.33 test: *test_custom +ruby-2.7-golang-1.16-git-2.33-pgbouncer-1.14 test: *test_custom +ruby-2.7-golang-1.17-git-2.33 test: *test_custom +ruby-2.7-golang-1.17-git-2.33-pgbouncer-1.14 test: *test_custom +ruby-3.0-golang-1.14-git-2.33 test: *test_custom +ruby-3.0-golang-1.15-git-2.33 test: *test_custom +ruby-3.0-golang-1.15-git-2.33-pgbouncer-1.14 test: *test_custom +ruby-3.0-golang-1.16-git-2.33 test: *test_custom +ruby-3.0-golang-1.16-git-2.33-pgbouncer-1.14 test: *test_custom +ruby-3.0-golang-1.17-git-2.33 test: *test_custom +ruby-3.0-golang-1.17-git-2.33-pgbouncer-1.14 test: *test_custom + # Used by GitLab: https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab-ci.yml ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom @@ -110,26 +125,57 @@ ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-pos ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom + # Used by GitLab/KAS integration tests ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom +ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom +ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom +ruby-3.0.patched-golang-1.16-git-2.33-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom ruby-2.7-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom ruby-3.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7.2-git-2.33-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom +ruby-2.7-git-2.33-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom +ruby-3.0-git-2.33-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml ruby-2.6.6-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5: *test_custom ruby-2.6.6-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5-docker-19.03.1: *test_custom ruby-2.7.2-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5: *test_custom ruby-2.7-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5: *test_custom +ruby-2.6.6-git-2.33-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5: *test_custom +ruby-2.6.6-git-2.33-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5-docker-19.03.1: *test_custom +ruby-2.7.2-git-2.33-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5: *test_custom +ruby-2.7-git-2.33-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5: *test_custom # Used by customers-gitlab-com qa e2e test: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab/ci/e2e.gitlab-ci.yml ruby-2.7.2-git-2.31-chrome-89-node-12.22-yarn-1.22-docker-19.03.1: *test_custom ruby-2.7-git-2.31-chrome-89-node-12.22-yarn-1.22-docker-19.03.1: *test_custom +ruby-2.7.2-git-2.33-chrome-89-node-12.22-yarn-1.22-docker-19.03.1: *test_custom +ruby-2.7-git-2.33-chrome-89-node-12.22-yarn-1.22-docker-19.03.1: *test_custom # Used by https://gitlab.com/gitlab-org/charts/auto-deploy-app/-/blob/master/.gitlab-ci.yml alpine-helm test: *test_build @@ -189,6 +235,20 @@ ruby-3.0-golang-1.16-git-2.31 push: *build_and_deploy_custom ruby-3.0-golang-1.16-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom ruby-3.0-golang-1.17-git-2.31 push: *build_and_deploy_custom ruby-3.0-golang-1.17-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom +ruby-2.7-golang-1.14-git-2.33 push: *build_and_deploy_custom +ruby-2.7-golang-1.15-git-2.33 push: *build_and_deploy_custom +ruby-2.7-golang-1.15-git-2.33-pgbouncer-1.14 push: *build_and_deploy_custom +ruby-2.7-golang-1.16-git-2.33 push: *build_and_deploy_custom +ruby-2.7-golang-1.16-git-2.33-pgbouncer-1.14 push: *build_and_deploy_custom +ruby-2.7-golang-1.17-git-2.33 push: *build_and_deploy_custom +ruby-2.7-golang-1.17-git-2.33-pgbouncer-1.14 push: *build_and_deploy_custom +ruby-3.0-golang-1.14-git-2.33 push: *build_and_deploy_custom +ruby-3.0-golang-1.15-git-2.33 push: *build_and_deploy_custom +ruby-3.0-golang-1.15-git-2.33-pgbouncer-1.14 push: *build_and_deploy_custom +ruby-3.0-golang-1.16-git-2.33 push: *build_and_deploy_custom +ruby-3.0-golang-1.16-git-2.33-pgbouncer-1.14 push: *build_and_deploy_custom +ruby-3.0-golang-1.17-git-2.33 push: *build_and_deploy_custom +ruby-3.0-golang-1.17-git-2.33-pgbouncer-1.14 push: *build_and_deploy_custom # Used by GitLab CE/EE: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/.gitlab-ci.yml ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom @@ -209,26 +269,56 @@ ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-pos ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom # Used by GitLab/KAS integration tests ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 push: *build_and_deploy_custom ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 push: *build_and_deploy_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 push: *build_and_deploy_custom +ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 push: *build_and_deploy_custom +ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 push: *build_and_deploy_custom +ruby-3.0.patched-golang-1.16-git-2.33-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 push: *build_and_deploy_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7.2-git-2.33-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-2.7-git-2.33-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom +ruby-3.0-git-2.33-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom # Used by customers-gitlab-com rspec job: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab-ci.yml ruby-2.6.6-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5 push: *build_and_deploy_custom ruby-2.6.6-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5-docker-19.03.1 push: *build_and_deploy_custom ruby-2.7.2-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5 push: *build_and_deploy_custom ruby-2.7-git-2.31-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5 push: *build_and_deploy_custom +ruby-2.6.6-git-2.33-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5 push: *build_and_deploy_custom +ruby-2.6.6-git-2.33-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5-docker-19.03.1 push: *build_and_deploy_custom +ruby-2.7.2-git-2.33-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5 push: *build_and_deploy_custom +ruby-2.7-git-2.33-lfs-2.9-chrome-89-node-12.22-yarn-1.22-postgresql-9.5 push: *build_and_deploy_custom # Used by customers-gitlab-com qa e2e test: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/staging/.gitlab/ci/e2e.gitlab-ci.yml ruby-2.7.2-git-2.31-chrome-89-node-12.22-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom ruby-2.7-git-2.31-chrome-89-node-12.22-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom +ruby-2.7.2-git-2.33-chrome-89-node-12.22-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom +ruby-2.7-git-2.33-chrome-89-node-12.22-yarn-1.22-docker-19.03.1 push: *build_and_deploy_custom # Used by https://gitlab.com/gitlab-org/charts/auto-deploy-app/-/blob/master/.gitlab-ci.yml alpine-helm push: *build_and_deploy diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index 5f293ad..7871b17 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -93,6 +93,11 @@ function print_git_args() { GIT_VERSION=2.31.1 GIT_DOWNLOAD_SHA256=46d37c229e9d786510e0c53b60065704ce92d5aedc16f2c5111e3ed35093bfa7 ;; + 2.33) + GIT_VERSION=2.33.1 + GIT_DOWNLOAD_SHA256=02047f8dc8934d57ff5e02aadd8a2fe8e0bcf94a7158da375e48086cc46fce1d + ;; + *) echo "Unknown git version $1"; exit 1; esac From 59471bb90e8ace32b5e6d08e8039be9f10ad38d4 Mon Sep 17 00:00:00 2001 From: Costel Maxim Date: Wed, 13 Oct 2021 10:07:07 +0000 Subject: [PATCH 105/109] Versionupdate for docker find --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 70deb69..bfc72a1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,7 +5,7 @@ include: default: image: docker:20.10.3-git services: - - docker:20.10.3-dind + - docker:20.10.9-dind before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY" - source scripts/build-helpers.sh From 181fe68c6129cc15bb22c667728748741f9c5595 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Thu, 21 Oct 2021 15:56:50 -0700 Subject: [PATCH 106/109] Fix indentation --- scripts/custom-docker-build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/custom-docker-build b/scripts/custom-docker-build index 7871b17..dd01d73 100755 --- a/scripts/custom-docker-build +++ b/scripts/custom-docker-build @@ -93,7 +93,7 @@ function print_git_args() { GIT_VERSION=2.31.1 GIT_DOWNLOAD_SHA256=46d37c229e9d786510e0c53b60065704ce92d5aedc16f2c5111e3ed35093bfa7 ;; - 2.33) + 2.33) GIT_VERSION=2.33.1 GIT_DOWNLOAD_SHA256=02047f8dc8934d57ff5e02aadd8a2fe8e0bcf94a7158da375e48086cc46fce1d ;; From 68c83dcc718c6dcd37a733785470c4b76c9eabf2 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Thu, 21 Oct 2021 15:57:04 -0700 Subject: [PATCH 107/109] Prune Golang v1.14 images --- .gitlab-ci.yml | 60 -------------------------------------------------- 1 file changed, 60 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2ad3fd8..6021998 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -76,30 +76,18 @@ variables: # Tests # Used by Gitaly: https://gitlab.com/gitlab-org/gitaly/blob/master/.gitlab-ci.yml -ruby-2.7-golang-1.14-git-2.31 test: *test_custom -ruby-2.7-golang-1.15-git-2.31 test: *test_custom -ruby-2.7-golang-1.15-git-2.31-pgbouncer-1.14 test: *test_custom ruby-2.7-golang-1.16-git-2.31 test: *test_custom ruby-2.7-golang-1.16-git-2.31-pgbouncer-1.14 test: *test_custom ruby-2.7-golang-1.17-git-2.31 test: *test_custom ruby-2.7-golang-1.17-git-2.31-pgbouncer-1.14 test: *test_custom -ruby-3.0-golang-1.14-git-2.31 test: *test_custom -ruby-3.0-golang-1.15-git-2.31 test: *test_custom -ruby-3.0-golang-1.15-git-2.31-pgbouncer-1.14 test: *test_custom ruby-3.0-golang-1.16-git-2.31 test: *test_custom ruby-3.0-golang-1.16-git-2.31-pgbouncer-1.14 test: *test_custom ruby-3.0-golang-1.17-git-2.31 test: *test_custom ruby-3.0-golang-1.17-git-2.31-pgbouncer-1.14 test: *test_custom -ruby-2.7-golang-1.14-git-2.33 test: *test_custom -ruby-2.7-golang-1.15-git-2.33 test: *test_custom -ruby-2.7-golang-1.15-git-2.33-pgbouncer-1.14 test: *test_custom ruby-2.7-golang-1.16-git-2.33 test: *test_custom ruby-2.7-golang-1.16-git-2.33-pgbouncer-1.14 test: *test_custom ruby-2.7-golang-1.17-git-2.33 test: *test_custom ruby-2.7-golang-1.17-git-2.33-pgbouncer-1.14 test: *test_custom -ruby-3.0-golang-1.14-git-2.33 test: *test_custom -ruby-3.0-golang-1.15-git-2.33 test: *test_custom -ruby-3.0-golang-1.15-git-2.33-pgbouncer-1.14 test: *test_custom ruby-3.0-golang-1.16-git-2.33 test: *test_custom ruby-3.0-golang-1.16-git-2.33-pgbouncer-1.14 test: *test_custom ruby-3.0-golang-1.17-git-2.33 test: *test_custom @@ -107,15 +95,6 @@ ruby-3.0-golang-1.17-git-2.33-pgbouncer-1.14 test: *test_custom # Used by GitLab: https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab-ci.yml -ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom -ruby-3.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom -ruby-3.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom -ruby-3.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom @@ -125,15 +104,6 @@ ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-pos ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.2.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.2.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.2.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom -ruby-3.0.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom -ruby-3.0.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom -ruby-3.0.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom @@ -221,45 +191,24 @@ alpine-bash-jq-curl-git test: *test_build # Builds # Used by Gitaly: https://gitlab.com/gitlab-org/gitaly/blob/master/.gitlab-ci.yml -ruby-2.7-golang-1.14-git-2.31 push: *build_and_deploy_custom -ruby-2.7-golang-1.15-git-2.31 push: *build_and_deploy_custom -ruby-2.7-golang-1.15-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom ruby-2.7-golang-1.16-git-2.31 push: *build_and_deploy_custom ruby-2.7-golang-1.16-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom ruby-2.7-golang-1.17-git-2.31 push: *build_and_deploy_custom ruby-2.7-golang-1.17-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom -ruby-3.0-golang-1.14-git-2.31 push: *build_and_deploy_custom -ruby-3.0-golang-1.15-git-2.31 push: *build_and_deploy_custom -ruby-3.0-golang-1.15-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom ruby-3.0-golang-1.16-git-2.31 push: *build_and_deploy_custom ruby-3.0-golang-1.16-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom ruby-3.0-golang-1.17-git-2.31 push: *build_and_deploy_custom ruby-3.0-golang-1.17-git-2.31-pgbouncer-1.14 push: *build_and_deploy_custom -ruby-2.7-golang-1.14-git-2.33 push: *build_and_deploy_custom -ruby-2.7-golang-1.15-git-2.33 push: *build_and_deploy_custom -ruby-2.7-golang-1.15-git-2.33-pgbouncer-1.14 push: *build_and_deploy_custom ruby-2.7-golang-1.16-git-2.33 push: *build_and_deploy_custom ruby-2.7-golang-1.16-git-2.33-pgbouncer-1.14 push: *build_and_deploy_custom ruby-2.7-golang-1.17-git-2.33 push: *build_and_deploy_custom ruby-2.7-golang-1.17-git-2.33-pgbouncer-1.14 push: *build_and_deploy_custom -ruby-3.0-golang-1.14-git-2.33 push: *build_and_deploy_custom -ruby-3.0-golang-1.15-git-2.33 push: *build_and_deploy_custom -ruby-3.0-golang-1.15-git-2.33-pgbouncer-1.14 push: *build_and_deploy_custom ruby-3.0-golang-1.16-git-2.33 push: *build_and_deploy_custom ruby-3.0-golang-1.16-git-2.33-pgbouncer-1.14 push: *build_and_deploy_custom ruby-3.0-golang-1.17-git-2.33 push: *build_and_deploy_custom ruby-3.0-golang-1.17-git-2.33-pgbouncer-1.14 push: *build_and_deploy_custom # Used by GitLab CE/EE: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/.gitlab-ci.yml -ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-3.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-3.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-3.0.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom @@ -269,15 +218,6 @@ ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-pos ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-3.0.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-3.0.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-3.0.patched-golang-1.14-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom From 1e09afe0aeb7719848ebbf347770cedb6f379f55 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Thu, 21 Oct 2021 16:07:31 -0700 Subject: [PATCH 108/109] Prune GitLab 2.7.2 images --- .gitlab-ci.yml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6021998..bb6ae58 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -95,18 +95,12 @@ ruby-3.0-golang-1.17-git-2.33-pgbouncer-1.14 test: *test_custom # Used by GitLab: https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab-ci.yml -ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom -ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 test: *test_custom ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 test: *test_custom @@ -209,18 +203,12 @@ ruby-3.0-golang-1.17-git-2.33 push: *build_and_deploy_custom ruby-3.0-golang-1.17-git-2.33-pgbouncer-1.14 push: *build_and_deploy_custom # Used by GitLab CE/EE: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/.gitlab-ci.yml -ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-13-graphicsmagick-1.3.36 push: *build_and_deploy_custom @@ -237,10 +225,8 @@ ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-node-14.15-yarn-1.22-postgresql-12 ruby-3.0.patched-golang-1.16-git-2.33-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 push: *build_and_deploy_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs -ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom -ruby-2.7.2-git-2.33-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-2.7-git-2.33-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom ruby-3.0-git-2.33-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 push: *build_and_deploy_custom From f7590f9b8d57a8b7e5e25ec09d0950e550f9d8e5 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Thu, 21 Oct 2021 16:08:40 -0700 Subject: [PATCH 109/109] Drop more images --- .gitlab-ci.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bb6ae58..32df85a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -113,9 +113,6 @@ ruby-3.0.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-pos ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom ruby-3.0.patched-golang-1.16-git-2.31-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom -ruby-2.7.2.patched-golang-1.16-git-2.33-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom -ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom -ruby-3.0.patched-golang-1.16-git-2.33-lfs-2.9-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36-bazelisk-1.9.0 test: *test_custom # Used by GitLab's compile-production-assets and compile-test-assets jobs ruby-2.7.2-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36 test: *test_custom