debian-mirror-gitlab/.gitlab/ci/qa.gitlab-ci.yml

167 lines
5 KiB
YAML
Raw Normal View History

2019-12-21 20:55:43 +05:30
.qa-job-base:
2022-10-11 01:57:18 +05:30
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-${RUBY_VERSION}:bundler-2.3-chrome-${CHROME_VERSION}-docker-${DOCKER_VERSION}
2019-12-21 20:55:43 +05:30
extends:
- .default-retry
2020-06-23 00:09:42 +05:30
- .qa-cache
2019-12-21 20:55:43 +05:30
stage: test
2020-04-08 14:13:33 +05:30
needs: []
2021-06-08 01:23:25 +05:30
variables:
USE_BUNDLE_INSTALL: "false"
SETUP_DB: "false"
2019-12-21 20:55:43 +05:30
before_script:
2021-06-08 01:23:25 +05:30
- !reference [.default-before_script, before_script]
2022-08-13 15:12:31 +05:30
- cd qa && bundle install
2019-12-21 20:55:43 +05:30
2023-07-09 08:55:56 +05:30
.e2e-trigger-base:
extends: .production # this makes sure GITLAB_ALLOW_SEPARATE_CI_DATABASE is passed to the child pipeline
stage: qa
needs:
- build-assets-image
- build-qa-image
- e2e-test-pipeline-generate
variables:
# This is needed by `trigger-omnibus-env` (`.gitlab/ci/package-and-test/main.gitlab-ci.yml`).
PARENT_PIPELINE_ID: $CI_PIPELINE_ID
SKIP_MESSAGE: Skipping package-and-test due to mr containing only quarantine changes!
GITLAB_QA_IMAGE: "${CI_REGISTRY_IMAGE}/gitlab-ee-qa:${CI_COMMIT_SHA}"
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
inherit:
variables:
- CHROME_VERSION
- RUBY_VERSION
- DOCKER_VERSION
- REGISTRY_GROUP
- REGISTRY_HOST
- OMNIBUS_GITLAB_CACHE_EDITION
- OMNIBUS_GITLAB_RUBY3_BUILD
- OMNIBUS_GITLAB_RUBY2_BUILD
trigger:
strategy: depend
forward:
yaml_variables: true
pipeline_variables: true
include:
- artifact: $DYNAMIC_PIPELINE_YML
job: e2e-test-pipeline-generate
2019-12-21 20:55:43 +05:30
qa:internal:
2020-03-13 15:44:24 +05:30
extends:
- .qa-job-base
2022-06-21 17:19:12 +05:30
- .qa:rules:internal
2020-03-13 15:44:24 +05:30
script:
2022-06-21 17:19:12 +05:30
- bundle exec rspec -O .rspec_internal
2020-03-13 15:44:24 +05:30
qa:internal-as-if-foss:
extends:
2020-06-23 00:09:42 +05:30
- qa:internal
2022-06-21 17:19:12 +05:30
- .qa:rules:internal-as-if-foss
2020-03-13 15:44:24 +05:30
- .as-if-foss
2019-12-21 20:55:43 +05:30
2022-06-21 17:19:12 +05:30
qa:master-auto-quarantine-dequarantine:
extends:
- .qa-job-base
rules:
- if: '$QA_TRIGGER_AUTO_QUARANTINE =~ /true|yes|1/i'
script:
- bundle exec confiner -r .confiner/master.yml
allow_failure: true
qa:nightly-auto-quarantine-dequarantine:
2022-03-02 08:16:31 +05:30
extends:
- .qa-job-base
rules:
- if: '$QA_TRIGGER_AUTO_QUARANTINE =~ /true|yes|1/i'
script:
2022-06-21 17:19:12 +05:30
- bundle exec confiner -r .confiner/nightly.yml
2022-03-02 08:16:31 +05:30
allow_failure: true
2022-10-11 01:57:18 +05:30
qa:update-qa-cache:
2020-06-23 00:09:42 +05:30
extends:
- .qa-job-base
2021-06-08 01:23:25 +05:30
- .qa-cache-push
2020-06-23 00:09:42 +05:30
- .shared:rules:update-cache
stage: prepare
script:
- echo "Cache has been updated and ready to be uploaded."
2023-05-27 22:25:52 +05:30
e2e:package-and-test-ee:
2022-07-23 23:45:48 +05:30
extends:
2023-07-09 08:55:56 +05:30
- .e2e-trigger-base
2023-06-20 00:43:36 +05:30
- .qa:rules:package-and-test-ee
2020-04-22 19:07:51 +05:30
needs:
2022-10-11 01:57:18 +05:30
- build-assets-image
- build-qa-image
- e2e-test-pipeline-generate
2021-12-11 22:18:48 +05:30
variables:
2022-11-25 23:54:43 +05:30
RELEASE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/build/omnibus-gitlab-mirror/gitlab-ee:${CI_COMMIT_SHA}"
2023-05-27 22:25:52 +05:30
QA_RUN_TYPE: e2e-package-and-test
2023-06-20 00:43:36 +05:30
ALLURE_JOB_NAME: e2e-package-and-test
PIPELINE_NAME: E2E Omnibus GitLab EE
2021-12-11 22:18:48 +05:30
2023-06-20 00:43:36 +05:30
e2e:package-and-test-ce:
extends:
- e2e:package-and-test-ee
- .qa:rules:package-and-test-ce
needs:
- build-assets-image as-if-foss
- build-qa-image as-if-foss
- e2e-test-pipeline-generate
variables:
FOSS_ONLY: "1"
RELEASE: ${REGISTRY_HOST}/${REGISTRY_GROUP}/build/omnibus-gitlab-mirror/gitlab-ce:${CI_COMMIT_SHA}
GITLAB_QA_IMAGE: ${CI_REGISTRY_IMAGE}/gitlab-ce-qa:${CI_COMMIT_SHA}
QA_RUN_TYPE: 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:
extends:
- e2e:package-and-test-ee
- .qa:rules:package-and-test-sidebar
when: manual
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
2023-07-09 08:55:56 +05:30
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
- e2e-test-pipeline-generate
variables:
GITLAB_SEMVER_VERSION: $GITLAB_SEMVER_VERSION
QA_RUN_TYPE: nightly
ALLURE_JOB_NAME: nightly
PIPELINE_NAME: E2E Omnibus GitLab Nightly
DYNAMIC_PIPELINE_YML: package-and-test-nightly-pipeline.yml
2023-04-23 21:23:45 +05:30
e2e:test-on-gdk:
2021-12-11 22:18:48 +05:30
extends:
2023-07-09 08:55:56 +05:30
- .e2e-trigger-base
2023-04-23 21:23:45 +05:30
- .qa:rules:e2e:test-on-gdk
2022-10-11 01:57:18 +05:30
stage: qa
needs:
2023-04-23 21:23:45 +05:30
# 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
2023-07-09 08:55:56 +05:30
- job: e2e-test-pipeline-generate
artifacts: true
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!
2022-10-11 01:57:18 +05:30
allow_failure: true