diff --git a/.gitlab/ci/test-on-gdk/main.gitlab-ci.yml b/.gitlab/ci/test-on-gdk/main.gitlab-ci.yml index b182643850812e5adb6fafe525d0b5b5fe56ab5f..efaac224a939a3fbb514503bf50a1a5bc9bf2c28 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 aefd5875e663c6a5c8acdc190dd2b42faf6e7f43..1de341976bc14ea126009973e7f7b39c29ec67a1 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