From db49abcc2978cba4bc5a7988e11734ce2d85b34b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= <remy@rymai.me> Date: Tue, 30 Jul 2024 17:07:47 +0200 Subject: [PATCH] ci: Bump Git version to 2.45 in CI images MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rémy Coutable <remy@rymai.me> --- .gitlab-ci.yml | 4 +-- .gitlab/ci/frontend.gitlab-ci.yml | 2 +- .gitlab/ci/includes/as-if-jh.gitlab-ci.yml | 1 + .gitlab/ci/qa.gitlab-ci.yml | 14 +++++++--- .gitlab/ci/rails.gitlab-ci.yml | 2 +- .gitlab/ci/review.gitlab-ci.yml | 31 ++++++++++++++-------- .gitlab/ci/test-on-cng/main.gitlab-ci.yml | 2 +- .gitlab/ci/test-on-gdk/main.gitlab-ci.yml | 2 +- .gitlab/ci/version.yml | 17 +++++++++--- .gitlab/ci/workhorse.gitlab-ci.yml | 4 +-- qa/Dockerfile | 13 ++++++--- scripts/build_qa_image | 9 +++++-- 12 files changed, 68 insertions(+), 33 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e6397c9e92a1b..6a05caa79d749 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -160,7 +160,7 @@ workflow: variables: PG_VERSION: "14" - DEFAULT_CI_IMAGE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}-golang-${GO_VERSION}-rust-${RUST_VERSION}-node-${NODE_VERSION}-postgresql-${PG_VERSION}:rubygems-${RUBYGEMS_VERSION}-git-2.36-lfs-2.9-chrome-${CHROME_VERSION}-yarn-1.22-graphicsmagick-1.3.36" + DEFAULT_CI_IMAGE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}-golang-${GO_VERSION}-rust-${RUST_VERSION}-node-${NODE_VERSION}-postgresql-${PG_VERSION}:rubygems-${RUBYGEMS_VERSION}-git-${GIT_VERSION}-lfs-${LFS_VERSION}-chrome-${CHROME_VERSION}-yarn-${YARN_VERSION}-graphicsmagick-${GRAPHICSMAGICK_VERSION}" DEFAULT_JOB_TAG: "gitlab-org" DEFAULT_RSPEC_PREDICTIVE_JOB_TAGS: "${DEFAULT_JOB_TAG}" # Separated by commas, overridden in JiHu # We set $GITLAB_DEPENDENCY_PROXY to another variable (since it's set at the group level and has higher precedence than .gitlab-ci.yml) @@ -219,7 +219,7 @@ variables: DOCS_REVIEW_APPS_DOMAIN: "docs.gitlab-review.app" DOCS_GITLAB_REPO_SUFFIX: "ee" - REVIEW_APPS_IMAGE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}:gcloud-383-kubectl-1.28-helm-3.9" + REVIEW_APPS_IMAGE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}:gcloud-${GCLOUD_VERSION}-kubectl-${KUBECTL_VERSION}-helm-${HELM_VERSION}" REVIEW_APPS_DOMAIN: "gitlab-review.app" REVIEW_APPS_GCP_PROJECT: "gitlab-review-apps" REVIEW_APPS_GCP_REGION: "us-central1" diff --git a/.gitlab/ci/frontend.gitlab-ci.yml b/.gitlab/ci/frontend.gitlab-ci.yml index 5c0fb0b4b4aaa..980da48a317e1 100644 --- a/.gitlab/ci/frontend.gitlab-ci.yml +++ b/.gitlab/ci/frontend.gitlab-ci.yml @@ -11,7 +11,7 @@ - .default-retry - .default-before_script - .assets-compile-cache - image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}-node-${NODE_VERSION}:rubygems-${RUBYGEMS_VERSION}-git-2.33-lfs-2.9-yarn-1.22-graphicsmagick-1.3.36 + image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}-node-${NODE_VERSION}:rubygems-${RUBYGEMS_VERSION}-git-${GIT_VERSION}-lfs-${LFS_VERSION}-yarn-${YARN_VERSION}-graphicsmagick-${GRAPHICSMAGICK_VERSION} variables: SETUP_DB: "false" WEBPACK_VENDOR_DLL: "true" diff --git a/.gitlab/ci/includes/as-if-jh.gitlab-ci.yml b/.gitlab/ci/includes/as-if-jh.gitlab-ci.yml index 3b91ab3748f0d..ea8e0c98c63c3 100644 --- a/.gitlab/ci/includes/as-if-jh.gitlab-ci.yml +++ b/.gitlab/ci/includes/as-if-jh.gitlab-ci.yml @@ -94,6 +94,7 @@ sync-as-if-jh-branch: - RUST_VERSION - PG_VERSION - RUBYGEMS_VERSION + - GIT_VERSION - CHROME_VERSION - NODE_ENV variables: diff --git a/.gitlab/ci/qa.gitlab-ci.yml b/.gitlab/ci/qa.gitlab-ci.yml index bb11ece96ae28..69cc509a05fad 100644 --- a/.gitlab/ci/qa.gitlab-ci.yml +++ b/.gitlab/ci/qa.gitlab-ci.yml @@ -44,13 +44,19 @@ QA_EXPORT_TEST_METRICS: "true" # Export test metrics directly to influxdb by default inherit: variables: + - BUILD_OS - CHROME_VERSION - - RUBY_VERSION_DEFAULT - - RUBY_VERSION_NEXT - - RUBY_VERSION - DOCKER_VERSION - - BUILD_OS + - GCLOUD_VERSION + - GIT_VERSION + - GO_VERSION + - HELM_VERSION + - KUBECTL_VERSION + - LFS_VERSION - OS_VERSION + - RUBY_VERSION_DEFAULT + - RUBY_VERSION_NEXT + - RUBYGEMS_VERSION - REGISTRY_GROUP - REGISTRY_HOST - OMNIBUS_GITLAB_CACHE_UPDATE diff --git a/.gitlab/ci/rails.gitlab-ci.yml b/.gitlab/ci/rails.gitlab-ci.yml index 3ab614cbf5147..35cdbaa940c3f 100644 --- a/.gitlab/ci/rails.gitlab-ci.yml +++ b/.gitlab/ci/rails.gitlab-ci.yml @@ -53,7 +53,7 @@ setup-test-env: setup-test-env-fips: extends: - setup-test-env - image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}-golang-${GO_VERSION}-rust-${RUST_VERSION}:rubygems-${RUBYGEMS_VERSION}-git-2.36-exiftool-12.60 + image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}-golang-${GO_VERSION}-rust-${RUST_VERSION}:rubygems-${RUBYGEMS_VERSION}-git-${GIT_VERSION}-exiftool-${EXIFTOOL_VERSION} variables: BUILD_OS: "ubi" OS_VERSION: ${UBI_VERSION} diff --git a/.gitlab/ci/review.gitlab-ci.yml b/.gitlab/ci/review.gitlab-ci.yml index 3c9fbbdd1c144..c6be32bd779d1 100644 --- a/.gitlab/ci/review.gitlab-ci.yml +++ b/.gitlab/ci/review.gitlab-ci.yml @@ -86,19 +86,28 @@ start-review-app-pipeline: # https://gitlab.com/gitlab-org/gitlab/-/issues/387183 inherit: variables: - - REGISTRY_GROUP - - REGISTRY_HOST - - REVIEW_APPS_DOMAIN - - REVIEW_APPS_GCP_PROJECT - - REVIEW_APPS_GCP_REGION - - REVIEW_APPS_IMAGE - - RUBY_VERSION_DEFAULT - - RUBY_VERSION_NEXT - - RUBY_VERSION - BUILD_OS - - OS_VERSION - - DOCKER_VERSION - CHROME_VERSION + - DOCKER_VERSION + - EXIFTOOL_VERSION + - GCLOUD_VERSION + - GIT_VERSION + - GO_VERSION + - GRAPHICSMAGICK_VERSION + - HELM_VERSION + - KIND_VERSION + - KUBECTL_VERSION + - LFS_VERSION + - NODE_VERSION + - OS_VERSION + - RUBY_VERSION_DEFAULT + - RUBY_VERSION_NEXT + - RUBYGEMS_VERSION + - RUST_VERSION + - UBI_VERSION + - YARN_VERSION + - REGISTRY_GROUP + - REGISTRY_HOST # These variables are set in the pipeline schedules. # They need to be explicitly passed on to the child pipeline. # https://docs.gitlab.com/ee/ci/pipelines/multi_project_pipelines.html#pass-cicd-variables-to-a-downstream-pipeline-by-using-the-variables-keyword diff --git a/.gitlab/ci/test-on-cng/main.gitlab-ci.yml b/.gitlab/ci/test-on-cng/main.gitlab-ci.yml index 5a43ed7c18f41..10e0ea9994749 100644 --- a/.gitlab/ci/test-on-cng/main.gitlab-ci.yml +++ b/.gitlab/ci/test-on-cng/main.gitlab-ci.yml @@ -11,7 +11,7 @@ workflow: - when: always .cng-test: - image: "${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}:git-2.36-lfs-2.9-chrome-${CHROME_VERSION}-docker-${DOCKER_VERSION}-kubectl-1.23-helm-3.14-kind-0.20" + image: "${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}:git-${GIT_VERSION}-lfs-${LFS_VERSION}-chrome-${CHROME_VERSION}-docker-${DOCKER_VERSION}-kubectl-${KUBECTL_VERSION}-helm-${HELM_VERSION}-kind-${KIND_VERSION}" stage: test extends: - .qa-cache diff --git a/.gitlab/ci/test-on-gdk/main.gitlab-ci.yml b/.gitlab/ci/test-on-gdk/main.gitlab-ci.yml index 6020ce1918b8a..4a1965ff50aa8 100644 --- a/.gitlab/ci/test-on-gdk/main.gitlab-ci.yml +++ b/.gitlab/ci/test-on-gdk/main.gitlab-ci.yml @@ -56,7 +56,7 @@ include: - mv $CI_BUILDS_DIR/*.log $CI_PROJECT_DIR/ .gdk-qa-base: - image: "${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}:git-2.36-lfs-2.9-chrome-${CHROME_VERSION}-docker-${DOCKER_VERSION}-gcloud-383-kubectl-1.23" + image: "${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}:git-${GIT_VERSION}-lfs-${LFS_VERSION}-chrome-${CHROME_VERSION}-docker-${DOCKER_VERSION}-gcloud-${GCLOUD_VERSION}-kubectl-${KUBECTL_VERSION}-helm-${HELM_VERSION}" extends: - .qa-cache - .docker-in-docker diff --git a/.gitlab/ci/version.yml b/.gitlab/ci/version.yml index ec66a808f03ab..ebfd6474b2f43 100644 --- a/.gitlab/ci/version.yml +++ b/.gitlab/ci/version.yml @@ -1,12 +1,21 @@ variables: BUILD_OS: "debian" - OS_VERSION: "bookworm" - UBI_VERSION: "8.6" CHROME_VERSION: "123" DOCKER_VERSION: "24.0.5" - RUBYGEMS_VERSION: "3.4" + EXIFTOOL_VERSION: "12.60" + GCLOUD_VERSION: "413" + GIT_VERSION: "2.45" GO_VERSION: "1.22" + GRAPHICSMAGICK_VERSION: "1.3.36" + HELM_VERSION: "3.14" + KIND_VERSION: "0.20" + KUBECTL_VERSION: "1.28" + LFS_VERSION: "2.9" NODE_VERSION: "20.12" - RUST_VERSION: "1.73" + OS_VERSION: "bookworm" RUBY_VERSION_DEFAULT: "3.1.5" RUBY_VERSION_NEXT: "3.2.4" + RUBYGEMS_VERSION: "3.4" + RUST_VERSION: "1.73" + UBI_VERSION: "8.6" + YARN_VERSION: "1.22" diff --git a/.gitlab/ci/workhorse.gitlab-ci.yml b/.gitlab/ci/workhorse.gitlab-ci.yml index 5b798425d8e6f..e259b9e092d9a 100644 --- a/.gitlab/ci/workhorse.gitlab-ci.yml +++ b/.gitlab/ci/workhorse.gitlab-ci.yml @@ -15,7 +15,7 @@ workhorse:verify: extends: - .workhorse:rules:workhorse - .gitaly-with-transactions - image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}-golang-${GO_VERSION}-rust-${RUST_VERSION}:rubygems-${RUBYGEMS_VERSION}-git-2.36-exiftool-12.60 + image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}-golang-${GO_VERSION}-rust-${RUST_VERSION}:rubygems-${RUBYGEMS_VERSION}-git-${GIT_VERSION}-exiftool-${EXIFTOOL_VERSION} services: - name: redis:${REDIS_VERSION}-alpine variables: @@ -68,7 +68,7 @@ workhorse:test fips: matrix: - GO_VERSION: ["1.21", "1.22"] REDIS_VERSION: ["7.0", "6.2"] - image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}-golang-${GO_VERSION}-rust-${RUST_VERSION}:rubygems-${RUBYGEMS_VERSION}-git-2.36-exiftool-12.60 + image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}-golang-${GO_VERSION}-rust-${RUST_VERSION}:rubygems-${RUBYGEMS_VERSION}-git-${GIT_VERSION}-exiftool-${EXIFTOOL_VERSION} variables: FIPS_MODE: 1 BUILD_OS: "ubi" diff --git a/qa/Dockerfile b/qa/Dockerfile index 1db95ad1f330d..b83677f7de729 100644 --- a/qa/Dockerfile +++ b/qa/Dockerfile @@ -1,11 +1,16 @@ -ARG DOCKER_VERSION=24.0.5 -ARG CHROME_VERSION=123 -ARG RUBY_VERSION=3.2.4 ARG BUILD_OS=debian +ARG CHROME_VERSION=123 +ARG DOCKER_VERSION=24.0.5 +ARG GCLOUD_VERSION=413 +ARG GIT_VERSION=2.45 +ARG HELM_VERSION=3.14 +ARG KUBECTL_VERSION=1.28 +ARG LFS_VERSION=2.9 ARG OS_VERSION=bookworm ARG QA_BUILD_TARGET=ee +ARG RUBY_VERSION=3.2.4 -FROM registry.gitlab.com/gitlab-org/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}:git-2.36-lfs-2.9-chrome-${CHROME_VERSION}-docker-${DOCKER_VERSION}-gcloud-383-kubectl-1.23 AS foss +FROM registry.gitlab.com/gitlab-org/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}:git-${GIT_VERSION}-lfs-${LFS_VERSION}-chrome-${CHROME_VERSION}-docker-${DOCKER_VERSION}-gcloud-${GCLOUD_VERSION}-kubectl-${KUBECTL_VERSION}-helm-${HELM_VERSION} AS foss LABEL maintainer="GitLab Quality Department <quality@gitlab.com>" ENV DEBIAN_FRONTEND="noninteractive" diff --git a/scripts/build_qa_image b/scripts/build_qa_image index cd465ec33e6af..9558bd45f1f18 100755 --- a/scripts/build_qa_image +++ b/scripts/build_qa_image @@ -84,12 +84,17 @@ docker buildx build \ --cache-from="$QA_IMAGE_BRANCH" \ --cache-from="$QA_IMAGE_MASTER" \ --platform=${ARCH:-amd64} \ + --build-arg=BUILD_OS="${BUILD_OS}" \ --build-arg=CHROME_VERSION="${CHROME_VERSION}" \ --build-arg=DOCKER_VERSION="${DOCKER_VERSION}" \ - --build-arg=RUBY_VERSION="${RUBY_VERSION}" \ - --build-arg=BUILD_OS="${BUILD_OS}" \ + --build-arg=GCLOUD_VERSION="${GCLOUD_VERSION}" \ + --build-arg=GIT_VERSION="${GIT_VERSION}" \ + --build-arg=HELM_VERSION="${HELM_VERSION}" \ + --build-arg=KUBECTL_VERSION="${KUBECTL_VERSION}" \ + --build-arg=LFS_VERSION="${LFS_VERSION}" \ --build-arg=OS_VERSION="${OS_VERSION}" \ --build-arg=QA_BUILD_TARGET="${QA_BUILD_TARGET}" \ + --build-arg=RUBY_VERSION="${RUBY_VERSION}" \ --file="${CI_PROJECT_DIR}/qa/Dockerfile" \ --push \ --provenance=false \ -- GitLab