diff options
Diffstat (limited to '.gitlab/ci/qa.gitlab-ci.yml')
-rw-r--r-- | .gitlab/ci/qa.gitlab-ci.yml | 93 |
1 files changed, 63 insertions, 30 deletions
diff --git a/.gitlab/ci/qa.gitlab-ci.yml b/.gitlab/ci/qa.gitlab-ci.yml index 81127b7c113..6d181a59214 100644 --- a/.gitlab/ci/qa.gitlab-ci.yml +++ b/.gitlab/ci/qa.gitlab-ci.yml @@ -1,5 +1,5 @@ .qa-job-base: - image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-${RUBY_VERSION}:bundler-2.3-chrome-${CHROME_VERSION}-docker-${DOCKER_VERSION} + image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}:bundler-2.3-chrome-${CHROME_VERSION}-docker-${DOCKER_VERSION} extends: - .default-retry - .qa-cache @@ -27,11 +27,13 @@ RUN_WITH_BUNDLE: "true" # instructs pipeline to install and run gitlab-qa gem via bundler QA_PATH: qa # sets the optional path for bundler to run from DYNAMIC_PIPELINE_YML: package-and-test-pipeline.yml # yml files are generated by scripts/generate-e2e-pipeline script + EXTRA_GITLAB_QA_OPTS: --set-feature-flags super_sidebar_nav_enrolled=enabled inherit: variables: - CHROME_VERSION - RUBY_VERSION - DOCKER_VERSION + - DEBIAN_VERSION - REGISTRY_GROUP - REGISTRY_HOST - OMNIBUS_GITLAB_CACHE_EDITION @@ -68,15 +70,6 @@ qa:master-auto-quarantine-dequarantine: - bundle exec confiner -r .confiner/master.yml allow_failure: true -qa:nightly-auto-quarantine-dequarantine: - extends: - - .qa-job-base - rules: - - if: '$QA_TRIGGER_AUTO_QUARANTINE =~ /true|yes|1/i' - script: - - bundle exec confiner -r .confiner/nightly.yml - allow_failure: true - qa:update-qa-cache: extends: - .qa-job-base @@ -86,13 +79,58 @@ qa:update-qa-cache: script: - echo "Cache has been updated and ready to be uploaded." +trigger-omnibus: + stage: qa + extends: + - .qa:rules:trigger-omnibus + needs: + - trigger-omnibus-env + - build-assets-image + 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:trigger-omnibus-ce + needs: + - trigger-omnibus-env as-if-foss + - build-assets-image as-if-foss + variables: + # Override gitlab repository so that omnibus doesn't use foss repository for CE build + GITLAB_ALTERNATIVE_REPO: $CI_PROJECT_URL + e2e:package-and-test-ee: extends: - .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}" @@ -105,8 +143,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" @@ -116,27 +154,25 @@ e2e:package-and-test-ce: ALLURE_JOB_NAME: e2e-package-and-test-ce PIPELINE_NAME: E2E Omnibus GitLab CE -e2e:package-and-test-super-sidebar: +e2e:package-and-test-old-nav: extends: - - e2e:package-and-test-ee - - .qa:rules:package-and-test-sidebar - when: manual + - .e2e-trigger-base + - .qa:rules:package-and-test-old-nav variables: - QA_SUPER_SIDEBAR_ENABLED: "true" - EXTRA_GITLAB_QA_OPTS: --set-feature-flags super_sidebar_nav=enabled - QA_RUN_TYPE: e2e-package-and-test-super-sidebar - ALLURE_JOB_NAME: e2e-package-and-test-super-sidebar - PIPELINE_NAME: E2E Omnibus Super Sidebar + RELEASE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/build/omnibus-gitlab-mirror/gitlab-ee:${CI_COMMIT_SHA}" + QA_RUN_TYPE: e2e-package-and-test-old-nav + ALLURE_JOB_NAME: e2e-package-and-test-old-nav + PIPELINE_NAME: E2E Omnibus Old Navigation + QA_SUPER_SIDEBAR_ENABLED: "false" + EXTRA_GITLAB_QA_OPTS: "" e2e:package-and-test-nightly: extends: - .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 @@ -151,16 +187,13 @@ e2e:test-on-gdk: - .qa:rules:e2e:test-on-gdk stage: qa needs: - # In scheduled master pipelines we wait for the image to be built. - # In MRs we assume the last scheduled master pipeline built the image already. - - job: build-qa-on-gdk-master-image - optional: true - - job: e2e-test-pipeline-generate - artifacts: true + - build-gdk-image + - e2e-test-pipeline-generate variables: ALLURE_JOB_NAME: e2e-test-on-gdk QA_RUN_TYPE: e2e-test-on-gdk PIPELINE_NAME: E2E GDK DYNAMIC_PIPELINE_YML: test-on-gdk-pipeline.yml SKIP_MESSAGE: Skipping test-on-gdk due to mr containing only quarantine changes! + GDK_IMAGE: "${CI_REGISTRY_IMAGE}/gitlab-qa-gdk:${CI_COMMIT_SHA}" allow_failure: true |