diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-06-06 15:07:34 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-06-06 15:07:34 +0300 |
commit | 4958d96e262f6b31b2850123e4949536555b2d29 (patch) | |
tree | 28fe9a1fed009a569806c705e4810a33979cbd6a /.gitlab | |
parent | 95de7177f2d5844e4aa399fea9a59d4ba6b4b1f1 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to '.gitlab')
-rw-r--r-- | .gitlab/ci/build-images.gitlab-ci.yml | 43 | ||||
-rw-r--r-- | .gitlab/ci/package-and-test-nightly/main.gitlab-ci.yml | 10 | ||||
-rw-r--r-- | .gitlab/ci/package-and-test/main.gitlab-ci.yml | 24 | ||||
-rw-r--r-- | .gitlab/ci/qa-common/main.gitlab-ci.yml | 90 | ||||
-rw-r--r-- | .gitlab/ci/qa-common/rules.gitlab-ci.yml | 12 | ||||
-rw-r--r-- | .gitlab/ci/qa.gitlab-ci.yml | 11 | ||||
-rw-r--r-- | .gitlab/ci/setup.gitlab-ci.yml | 42 |
7 files changed, 90 insertions, 142 deletions
diff --git a/.gitlab/ci/build-images.gitlab-ci.yml b/.gitlab/ci/build-images.gitlab-ci.yml index 33cc97cd1d5..c537644f78e 100644 --- a/.gitlab/ci/build-images.gitlab-ci.yml +++ b/.gitlab/ci/build-images.gitlab-ci.yml @@ -62,3 +62,46 @@ build-assets-image as-if-foss: - .as-if-foss - .build-images:rules:build-assets-image-as-if-foss needs: ["compile-production-assets as-if-foss"] + +trigger-omnibus: + stage: build-images + extends: + - .qa:rules:package-and-test-ee + needs: + - trigger-omnibus-env + inherit: + variables: false + variables: + GITALY_SERVER_VERSION: $GITALY_SERVER_VERSION + GITLAB_ELASTICSEARCH_INDEXER_VERSION: $GITLAB_ELASTICSEARCH_INDEXER_VERSION + GITLAB_KAS_VERSION: $GITLAB_KAS_VERSION + GITLAB_METRICS_EXPORTER_VERSION: $GITLAB_METRICS_EXPORTER_VERSION + GITLAB_PAGES_VERSION: $GITLAB_PAGES_VERSION + GITLAB_SHELL_VERSION: $GITLAB_SHELL_VERSION + GITLAB_WORKHORSE_VERSION: $GITLAB_WORKHORSE_VERSION + GITLAB_VERSION: $CI_COMMIT_SHA + GITLAB_ASSETS_TAG: $GITLAB_ASSETS_TAG + IMAGE_TAG: $CI_COMMIT_SHA + TOP_UPSTREAM_SOURCE_PROJECT: $CI_PROJECT_PATH + SECURITY_SOURCES: $SECURITY_SOURCES + CACHE_UPDATE: $OMNIBUS_GITLAB_CACHE_UPDATE + RUBY3_BUILD: $OMNIBUS_GITLAB_RUBY3_BUILD + RUBY2_BUILD: $OMNIBUS_GITLAB_RUBY2_BUILD + CACHE_EDITION: $OMNIBUS_GITLAB_CACHE_EDITION + BUILD_ON_ALL_OS: $OMNIBUS_GITLAB_BUILD_ON_ALL_OS + SKIP_QA_TEST: "true" + ee: $EE + trigger: + project: gitlab-org/build/omnibus-gitlab-mirror + branch: $TRIGGER_BRANCH + strategy: depend + +trigger-omnibus as-if-foss: + extends: + - trigger-omnibus + - .qa:rules:package-and-test-ce + needs: + - trigger-omnibus-env as-if-foss + variables: + # Override gitlab repository so that omnibus doesn't use foss repository for CE build + GITLAB_ALTERNATIVE_REPO: $CI_PROJECT_URL diff --git a/.gitlab/ci/package-and-test-nightly/main.gitlab-ci.yml b/.gitlab/ci/package-and-test-nightly/main.gitlab-ci.yml index bcd63e4f7ec..2f92c757a6c 100644 --- a/.gitlab/ci/package-and-test-nightly/main.gitlab-ci.yml +++ b/.gitlab/ci/package-and-test-nightly/main.gitlab-ci.yml @@ -18,16 +18,6 @@ workflow: # ========================================== # Prepare stage # ========================================== -trigger-omnibus-env: - extends: - - .trigger-omnibus-env - -trigger-omnibus: - extends: - - .trigger-omnibus - needs: - - trigger-omnibus-env - download-knapsack-report: extends: - .download-knapsack-report diff --git a/.gitlab/ci/package-and-test/main.gitlab-ci.yml b/.gitlab/ci/package-and-test/main.gitlab-ci.yml index 9b127728615..09836524113 100644 --- a/.gitlab/ci/package-and-test/main.gitlab-ci.yml +++ b/.gitlab/ci/package-and-test/main.gitlab-ci.yml @@ -20,30 +20,6 @@ check-release-set: echo "Omnibus installation image is set to '$RELEASE'" fi -trigger-omnibus-env: - extends: - - .trigger-omnibus-env - - .rules:omnibus-build - -trigger-omnibus-env-ce: - extends: - - .trigger-omnibus-env-ce - - .rules:omnibus-build-ce - -trigger-omnibus: - extends: - - .trigger-omnibus - - .rules:omnibus-build - needs: - - trigger-omnibus-env - -trigger-omnibus-ce: - extends: - - .trigger-omnibus-ce - - .rules:omnibus-build-ce - needs: - - trigger-omnibus-env-ce - download-knapsack-report: extends: - .download-knapsack-report diff --git a/.gitlab/ci/qa-common/main.gitlab-ci.yml b/.gitlab/ci/qa-common/main.gitlab-ci.yml index ddcd49dafb0..8b904afd495 100644 --- a/.gitlab/ci/qa-common/main.gitlab-ci.yml +++ b/.gitlab/ci/qa-common/main.gitlab-ci.yml @@ -6,7 +6,7 @@ workflow: include: - project: gitlab-org/quality/pipeline-common - ref: 7.2.0 + ref: 7.2.1 file: - /ci/base.gitlab-ci.yml - /ci/allure-report.yml @@ -67,94 +67,6 @@ stages: # blocking merges due to flaky tests. allow_failure: true -.trigger-omnibus-env: - stage: .pre - needs: - # We need this job because we need its `cached-assets-hash.txt` artifact, so that we can pass the assets image tag to the downstream omnibus-gitlab pipeline. - - pipeline: $PARENT_PIPELINE_ID - job: build-assets-image - variables: - BUILD_ENV: build.env - before_script: - - | - # This is duplicating the function from `scripts/utils.sh` since `.gitlab/ci/package-and-test/main.gitlab-ci.yml` can be included in other projects. - function assets_image_tag() { - local cache_assets_hash_file="cached-assets-hash.txt" - - if [[ -n "${CI_COMMIT_TAG}" ]]; then - echo -n "${CI_COMMIT_REF_NAME}" - elif [[ -f "${cache_assets_hash_file}" ]]; then - echo -n "assets-hash-$(cat ${cache_assets_hash_file} | cut -c1-10)" - else - echo -n "${CI_COMMIT_SHA}" - fi - } - script: - - | - SECURITY_SOURCES=$([[ ! "$CI_PROJECT_NAMESPACE" =~ ^gitlab-org\/security ]] || echo "true") - echo "SECURITY_SOURCES=${SECURITY_SOURCES:-false}" > $BUILD_ENV - echo "OMNIBUS_GITLAB_CACHE_UPDATE=${OMNIBUS_GITLAB_CACHE_UPDATE:-false}" >> $BUILD_ENV - for version_file in *_VERSION; do echo "$version_file=$(cat $version_file)" >> $BUILD_ENV; done - echo "OMNIBUS_GITLAB_RUBY3_BUILD=${OMNIBUS_GITLAB_RUBY3_BUILD:-false}" >> $BUILD_ENV - echo "OMNIBUS_GITLAB_RUBY2_BUILD=${OMNIBUS_GITLAB_RUBY2_BUILD:-false}" >> $BUILD_ENV - echo "OMNIBUS_GITLAB_CACHE_EDITION=${OMNIBUS_GITLAB_CACHE_EDITION:-GITLAB}" >> $BUILD_ENV - echo "OMNIBUS_GITLAB_BUILD_ON_ALL_OS=${OMNIBUS_GITLAB_BUILD_ON_ALL_OS:-false}" >> $BUILD_ENV - echo "GITLAB_ASSETS_TAG=$(assets_image_tag)" >> $BUILD_ENV - echo "EE=$([[ $FOSS_ONLY == '1' ]] && echo 'false' || echo 'true')" >> $BUILD_ENV - target_branch_name="${CI_MERGE_REQUEST_TARGET_BRANCH_NAME:-${CI_COMMIT_REF_NAME}}" - echo "TRIGGER_BRANCH=$([[ "${target_branch_name}" =~ ^[0-9-]+-stable(-ee)?$ ]] && echo ${target_branch_name%-ee} || echo 'master')" >> $BUILD_ENV - - | - echo "Built environment file for omnibus build:" - cat $BUILD_ENV - artifacts: - expire_in: 3 days - reports: - dotenv: $BUILD_ENV - paths: - - $BUILD_ENV - -.trigger-omnibus-env-ce: - extends: .trigger-omnibus-env - needs: - - pipeline: $PARENT_PIPELINE_ID - job: build-assets-image as-if-foss - -.trigger-omnibus: - stage: .pre - inherit: - variables: false - variables: - GITALY_SERVER_VERSION: $GITALY_SERVER_VERSION - GITLAB_ELASTICSEARCH_INDEXER_VERSION: $GITLAB_ELASTICSEARCH_INDEXER_VERSION - GITLAB_KAS_VERSION: $GITLAB_KAS_VERSION - GITLAB_METRICS_EXPORTER_VERSION: $GITLAB_METRICS_EXPORTER_VERSION - GITLAB_PAGES_VERSION: $GITLAB_PAGES_VERSION - GITLAB_SHELL_VERSION: $GITLAB_SHELL_VERSION - GITLAB_WORKHORSE_VERSION: $GITLAB_WORKHORSE_VERSION - GITLAB_VERSION: $CI_COMMIT_SHA - GITLAB_ASSETS_TAG: $GITLAB_ASSETS_TAG - IMAGE_TAG: $CI_COMMIT_SHA - TOP_UPSTREAM_SOURCE_PROJECT: $CI_PROJECT_PATH - SECURITY_SOURCES: $SECURITY_SOURCES - CACHE_UPDATE: $OMNIBUS_GITLAB_CACHE_UPDATE - RUBY3_BUILD: $OMNIBUS_GITLAB_RUBY3_BUILD - RUBY2_BUILD: $OMNIBUS_GITLAB_RUBY2_BUILD - CACHE_EDITION: $OMNIBUS_GITLAB_CACHE_EDITION - BUILD_ON_ALL_OS: $OMNIBUS_GITLAB_BUILD_ON_ALL_OS - SKIP_QA_TEST: "true" - ee: $EE - trigger: - project: gitlab-org/build/omnibus-gitlab-mirror - branch: $TRIGGER_BRANCH - strategy: depend - -.trigger-omnibus-ce: - extends: - - .trigger-omnibus - variables: - # Override gitlab repository so that omnibus doesn't use foss repository for CE build - GITLAB_ALTERNATIVE_REPO: $CI_PROJECT_URL - .download-knapsack-report: extends: - .gitlab-qa-image diff --git a/.gitlab/ci/qa-common/rules.gitlab-ci.yml b/.gitlab/ci/qa-common/rules.gitlab-ci.yml index 653af4eaa82..b5963d24b81 100644 --- a/.gitlab/ci/qa-common/rules.gitlab-ci.yml +++ b/.gitlab/ci/qa-common/rules.gitlab-ci.yml @@ -56,18 +56,6 @@ rules: - when: always -.rules:omnibus-build: - rules: - - if: $SKIP_OMNIBUS_TRIGGER == "true" - when: never - - if: $FOSS_ONLY != "1" - -.rules:omnibus-build-ce: - rules: - - if: $SKIP_OMNIBUS_TRIGGER == "true" - when: never - - if: $FOSS_ONLY == "1" - .rules:update-cache: rules: - if: '$UPDATE_QA_CACHE == "true"' diff --git a/.gitlab/ci/qa.gitlab-ci.yml b/.gitlab/ci/qa.gitlab-ci.yml index d74adde8860..34504f6a213 100644 --- a/.gitlab/ci/qa.gitlab-ci.yml +++ b/.gitlab/ci/qa.gitlab-ci.yml @@ -84,8 +84,8 @@ e2e:package-and-test-ee: - .e2e-trigger-base - .qa:rules:package-and-test-ee needs: - - build-assets-image - build-qa-image + - trigger-omnibus - e2e-test-pipeline-generate variables: RELEASE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/build/omnibus-gitlab-mirror/gitlab-ee:${CI_COMMIT_SHA}" @@ -98,8 +98,8 @@ e2e:package-and-test-ce: - e2e:package-and-test-ee - .qa:rules:package-and-test-ce needs: - - build-assets-image as-if-foss - build-qa-image as-if-foss + - trigger-omnibus as-if-foss - e2e-test-pipeline-generate variables: FOSS_ONLY: "1" @@ -126,10 +126,8 @@ e2e:package-and-test-nightly: - .e2e-trigger-base - .qa:rules:package-and-test-nightly needs: - - build-assets-image - - build-assets-image as-if-foss - build-qa-image - - build-qa-image as-if-foss + - trigger-omnibus - e2e-test-pipeline-generate variables: GITLAB_SEMVER_VERSION: $GITLAB_SEMVER_VERSION @@ -145,8 +143,7 @@ e2e:test-on-gdk: stage: qa needs: - build-gdk-image - - job: e2e-test-pipeline-generate - artifacts: true + - e2e-test-pipeline-generate variables: ALLURE_JOB_NAME: e2e-test-on-gdk QA_RUN_TYPE: e2e-test-on-gdk diff --git a/.gitlab/ci/setup.gitlab-ci.yml b/.gitlab/ci/setup.gitlab-ci.yml index bacd7efce3e..a9047522413 100644 --- a/.gitlab/ci/setup.gitlab-ci.yml +++ b/.gitlab/ci/setup.gitlab-ci.yml @@ -172,3 +172,45 @@ e2e-test-pipeline-generate: paths: - '*-pipeline.yml' - "${CI_PROJECT_DIR}/qa_tests_vars.env" + +trigger-omnibus-env: + stage: prepare + extends: + - .qa:rules:package-and-test-ee + needs: + # We need this job because we need its `cached-assets-hash.txt` artifact, so that we can pass the assets image tag to the downstream omnibus-gitlab pipeline. + - compile-production-assets + variables: + BUILD_ENV: build.env + before_script: + - source scripts/utils.sh + script: + - | + SECURITY_SOURCES=$([[ ! "$CI_PROJECT_NAMESPACE" =~ ^gitlab-org\/security ]] || echo "true") + echo "SECURITY_SOURCES=${SECURITY_SOURCES:-false}" > $BUILD_ENV + echo "OMNIBUS_GITLAB_CACHE_UPDATE=${OMNIBUS_GITLAB_CACHE_UPDATE:-false}" >> $BUILD_ENV + for version_file in *_VERSION; do echo "$version_file=$(cat $version_file)" >> $BUILD_ENV; done + echo "OMNIBUS_GITLAB_RUBY3_BUILD=${OMNIBUS_GITLAB_RUBY3_BUILD:-false}" >> $BUILD_ENV + echo "OMNIBUS_GITLAB_RUBY2_BUILD=${OMNIBUS_GITLAB_RUBY2_BUILD:-false}" >> $BUILD_ENV + echo "OMNIBUS_GITLAB_CACHE_EDITION=${OMNIBUS_GITLAB_CACHE_EDITION:-GITLAB}" >> $BUILD_ENV + echo "OMNIBUS_GITLAB_BUILD_ON_ALL_OS=${OMNIBUS_GITLAB_BUILD_ON_ALL_OS:-false}" >> $BUILD_ENV + echo "GITLAB_ASSETS_TAG=$(assets_image_tag)" >> $BUILD_ENV + echo "EE=$([[ $FOSS_ONLY == '1' ]] && echo 'false' || echo 'true')" >> $BUILD_ENV + target_branch_name="${CI_MERGE_REQUEST_TARGET_BRANCH_NAME:-${CI_COMMIT_REF_NAME}}" + echo "TRIGGER_BRANCH=$([[ "${target_branch_name}" =~ ^[0-9-]+-stable(-ee)?$ ]] && echo ${target_branch_name%-ee} || echo 'master')" >> $BUILD_ENV + - | + echo "Built environment file for omnibus build:" + cat $BUILD_ENV + artifacts: + expire_in: 3 days + reports: + dotenv: $BUILD_ENV + paths: + - $BUILD_ENV + +trigger-omnibus-env as-if-foss: + extends: + - trigger-omnibus-env + - .qa:rules:package-and-test-ce + needs: + - compile-production-assets as-if-foss |