From defec0264e650d2aa4b39b0d1ddc7427dea8d1e7 Mon Sep 17 00:00:00 2001 From: Jay McCure <jmccure@gitlab.com> Date: Fri, 4 Oct 2024 19:07:24 +0000 Subject: [PATCH] E2E test: run gdk tests with gitaly transactions for Gitaly version changes --- .gitlab/ci/test-on-gdk/main.gitlab-ci.yml | 15 ++++++++++++++- qa/gdk/entrypoint | 10 +++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/.gitlab/ci/test-on-gdk/main.gitlab-ci.yml b/.gitlab/ci/test-on-gdk/main.gitlab-ci.yml index b182643850812..efaac224a939a 100644 --- a/.gitlab/ci/test-on-gdk/main.gitlab-ci.yml +++ b/.gitlab/ci/test-on-gdk/main.gitlab-ci.yml @@ -48,6 +48,11 @@ include: - ".gitlab/ci/test-on-gdk/**" - "lib/gitlab/database/load_balancing/**/*" +.rules:test:gdk-gitaly-version-change: + rules: + changes: + - "GITALY_SERVER_VERSION" + .with-parallel: parallel: 15 @@ -83,7 +88,7 @@ include: GITLAB_QA_ADMIN_ACCESS_TOKEN: $QA_ADMIN_ACCESS_TOKEN FF_NETWORK_PER_BUILD: "true" RSPEC_LAST_RUN_RESULTS_FILE: "$CI_PROJECT_DIR/qa/tmp/examples.txt" - COVERBAND_ENABLED: "$COVERBAND_ENABLED" # explicitly define variable so it is passed in to gdk service container + COVERBAND_ENABLED: "$COVERBAND_ENABLED" # explicitly define variable so it is passed in to gdk service container before_script: - echo "SUITE_RAN=true" > "$QA_SUITE_STATUS_ENV_FILE" - echo -e "\e[0Ksection_start:`date +%s`:install_gems[collapsed=true]\r\e[0KInstall gems" @@ -157,6 +162,14 @@ gdk-qa-blocking-selective: QA_SCENARIO: Test::Instance::Blocking QA_RUN_TYPE: gdk-qa-blocking +gdk-qa-blocking-gitaly-transactions: + extends: gdk-qa-blocking + variables: + QA_GITALY_TRANSACTIONS_ENABLED: "true" + rules: + - !reference [.rules:test:never-schedule-pipeline, rules] + - !reference [.rules:test:gdk-gitaly-version-change, rules] + # ------------------------------------------ # Non Blocking tests # ------------------------------------------ diff --git a/qa/gdk/entrypoint b/qa/gdk/entrypoint index aefd5875e663c..1de341976bc14 100755 --- a/qa/gdk/entrypoint +++ b/qa/gdk/entrypoint @@ -11,10 +11,16 @@ if [[ "${WITH_LOAD_BALANCER}" == "true" ]]; then gdk reconfigure fi -gdk start +if [[ "${QA_GITALY_TRANSACTIONS_ENABLED}" == "true" ]]; then + gdk config set gitaly.transactions.enabled true + gdk config set praefect.enabled false + gdk reconfigure +fi # Split logs in to multiple files when running in CI if [ -z "$CI" ]; then + gdk start + exec "$@" | tee -a ${HOME}/gitlab-development-kit/gitlab/log/gdk-container.log else logs=("gitaly" "gitlab-workhorse" "postgresql" "rails-background-jobs" "redis" "sshd" "vite" "rails-web" "webpack") @@ -27,5 +33,7 @@ else tail -f $logfile &>${CI_BUILDS_DIR}/$(basename $logfile) & done + gdk start + exec "$@" fi -- GitLab