gitlab-qa 7.25.0 → 7.25.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.gitlab/ci/jobs/actioncable.gitlab-ci.yml +41 -0
  3. data/.gitlab/ci/jobs/base.gitlab-ci.yml +281 -0
  4. data/.gitlab/ci/jobs/cloud_activation.gitlab-ci.yml +30 -0
  5. data/.gitlab/ci/jobs/custom_parallel.gitlab-ci.yml +21 -0
  6. data/.gitlab/ci/jobs/ee_previous_to_ce_update.gitlab-ci.yml +18 -0
  7. data/.gitlab/ci/jobs/elasticsearch.gitlab-ci.yml +20 -0
  8. data/.gitlab/ci/jobs/geo.gitlab-ci.yml +18 -0
  9. data/.gitlab/ci/jobs/gitaly_cluster.gitlab-ci.yml +45 -0
  10. data/.gitlab/ci/jobs/group_saml.gitlab-ci.yml +20 -0
  11. data/.gitlab/ci/jobs/instance.gitlab-ci.yml +55 -0
  12. data/.gitlab/ci/jobs/instance_saml.gitlab-ci.yml +41 -0
  13. data/.gitlab/ci/jobs/integrations.gitlab-ci.yml +14 -0
  14. data/.gitlab/ci/jobs/jira.gitlab-ci.yml +41 -0
  15. data/.gitlab/ci/jobs/large_setup.gitlab-ci.yml +19 -0
  16. data/.gitlab/ci/jobs/ldap_no_server.gitlab-ci.yml +20 -0
  17. data/.gitlab/ci/jobs/ldap_no_tls.gitlab-ci.yml +41 -0
  18. data/.gitlab/ci/jobs/ldap_tls.gitlab-ci.yml +41 -0
  19. data/.gitlab/ci/jobs/mattermost.gitlab-ci.yml +41 -0
  20. data/.gitlab/ci/jobs/mtls.gitlab-ci.yml +17 -0
  21. data/.gitlab/ci/jobs/object_storage.gitlab-ci.yml +49 -0
  22. data/.gitlab/ci/jobs/object_storage_aws.gitlab-ci.yml +25 -0
  23. data/.gitlab/ci/jobs/object_storage_gcs.gitlab-ci.yml +23 -0
  24. data/.gitlab/ci/jobs/object_storage_registry_tls.gitlab-ci.yml +41 -0
  25. data/.gitlab/ci/jobs/omnibus_image.gitlab-ci.yml +15 -0
  26. data/.gitlab/ci/jobs/omnibus_upgrade.gitlab-ci.yml +28 -0
  27. data/.gitlab/ci/jobs/packages.gitlab-ci.yml +25 -0
  28. data/.gitlab/ci/jobs/praefect.gitlab-ci.yml +71 -0
  29. data/.gitlab/ci/jobs/registry.gitlab-ci.yml +41 -0
  30. data/.gitlab/ci/jobs/registry_with_cdn.gitlab-ci.yml +43 -0
  31. data/.gitlab/ci/jobs/relative_url.gitlab-ci.yml +65 -0
  32. data/.gitlab/ci/jobs/repository_storage.gitlab-ci.yml +41 -0
  33. data/.gitlab/ci/jobs/sanity_framework.gitlab-ci.yml +24 -0
  34. data/.gitlab/ci/jobs/service_ping_disabled.gitlab-ci.yml +19 -0
  35. data/.gitlab/ci/jobs/smtp.gitlab-ci.yml +19 -0
  36. data/.gitlab/ci/jobs/staging.gitlab-ci.yml +10 -0
  37. data/.gitlab/ci/jobs/update.gitlab-ci.yml +60 -0
  38. data/.gitlab-ci.yml +37 -38
  39. data/bin/notify_upstream +98 -0
  40. data/lib/gitlab/qa/component/base.rb +0 -1
  41. data/lib/gitlab/qa/report/relate_failure_issue.rb +1 -1
  42. data/lib/gitlab/qa/runtime/env.rb +1 -1
  43. data/lib/gitlab/qa/scenario/test/integration/mattermost.rb +5 -1
  44. data/lib/gitlab/qa/version.rb +1 -1
  45. data/scripts/generate-qa-jobs.rb +41 -1710
  46. metadata +39 -3
  47. data/bin/notify_upstream_commit +0 -61
@@ -10,78 +10,44 @@ class GenerateQAJobs
10
10
  # rubocop:disable Metrics/PerceivedComplexity
11
11
  # rubocop:disable Metrics/CyclomaticComplexity
12
12
  def execute
13
- jobs = base
14
-
15
- jobs.concat(sanity_framework)
16
-
17
- jobs.concat(custom_parallel)
18
-
19
- jobs.concat(instance) if should_run?('test_instance_all')
20
-
21
- jobs.concat(relative_url) if should_run?('test_instance_all')
22
-
23
- jobs.concat(repository_storage) if should_run?('test_instance_all_repository_storage')
24
-
25
- jobs.concat(omnibus_image)
26
-
27
- jobs.concat(update) if should_run?('test_instance_all')
28
-
29
- jobs.concat(omnibus_upgrade)
30
-
31
- jobs.concat(ee_previous_to_ce_update)
32
-
33
- jobs.concat(mattermost) if should_run?('test_integration_mattermost')
34
-
35
- jobs.concat(service_ping_disabled) if should_run?('test_integration_servicepingdisabled')
13
+ jobs = load_yml_contents('base')
14
+ jobs.concat(load_yml_contents('sanity_framework'))
15
+ jobs.concat(load_yml_contents('custom_parallel'))
16
+ jobs.concat(load_yml_contents('instance')) if should_run?('test_instance_all')
17
+ jobs.concat(load_yml_contents('relative_url')) if should_run?('test_instance_all')
18
+ jobs.concat(load_yml_contents('repository_storage')) if should_run?('test_instance_all_repository_storage')
19
+ jobs.concat(load_yml_contents('omnibus_image'))
20
+ jobs.concat(load_yml_contents('update')) if should_run?('test_instance_all')
21
+ jobs.concat(load_yml_contents('omnibus_upgrade'))
22
+ jobs.concat(load_yml_contents('ee_previous_to_ce_update'))
23
+ jobs.concat(load_yml_contents('mattermost')) if should_run?('test_integration_mattermost')
24
+ jobs.concat(load_yml_contents('service_ping_disabled')) if should_run?('test_integration_servicepingdisabled')
25
+ jobs.concat(load_yml_contents('ldap_no_tls')) if should_run?('test_integration_ldapnotls')
26
+ jobs.concat(load_yml_contents('ldap_tls')) if should_run?('test_integration_ldaptls')
27
+ jobs.concat(load_yml_contents('ldap_no_server')) if should_run?('test_integration_ldapnoserver')
28
+ jobs.concat(load_yml_contents('instance_saml')) if should_run?('test_integration_instancesaml')
29
+ jobs.concat(load_yml_contents('group_saml')) if should_run?('test_integration_groupsaml')
30
+ jobs.concat(load_yml_contents('object_storage')) if should_run?('test_instance_all_object_storage')
31
+ jobs.concat(load_yml_contents('object_storage_aws')) if should_run?('test_instance_all_object_storage')
32
+ jobs.concat(load_yml_contents('object_storage_gcs')) if should_run?('test_instance_all_object_storage')
33
+ jobs.concat(load_yml_contents('object_storage_registry_tls')) if should_run?('test_integration_registrytls')
34
+ jobs.concat(load_yml_contents('registry')) if should_run?('test_integration_registry')
35
+ jobs.concat(load_yml_contents('packages')) if should_run?('test_instance_all_packages')
36
+ jobs.concat(load_yml_contents('actioncable')) if should_run?('test_instance_all_actioncable')
37
+ jobs.concat(load_yml_contents('elasticsearch')) if should_run?('test_integration_elasticsearch')
38
+ jobs.concat(load_yml_contents('praefect')) if should_run?('test_instance_all')
39
+ jobs.concat(load_yml_contents('gitaly_cluster')) if should_run?('test_instance_all')
40
+ jobs.concat(load_yml_contents('mtls')) if should_run?('test_instance_all_mtls')
41
+ jobs.concat(load_yml_contents('smtp')) if should_run?('test_integration_smtp')
42
+ jobs.concat(load_yml_contents('jira')) if should_run?('test_instance_all_jira')
43
+ jobs.concat(load_yml_contents('integrations')) if should_run?('test_instance_all_integrations')
44
+ jobs.concat(load_yml_contents('large_setup')) if should_run?('test_instance_all_can_use_large_setup')
45
+ jobs.concat(load_yml_contents('cloud_activation')) if should_run?('test_instance_all_cloud_activation')
46
+ jobs.concat(load_yml_contents('registry_with_cdn')) if should_run?('test_integration_registrywithcdn')
47
+ jobs.concat(load_yml_contents('staging'))
36
48
 
37
49
  # Disabling geo jobs temporarily due to https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/774
38
- # base.concat(geo) if should_run?('scenario_test_geo')
39
-
40
- jobs.concat(ldap_no_tls) if should_run?('test_integration_ldapnotls')
41
-
42
- jobs.concat(ldap_tls) if should_run?('test_integration_ldaptls')
43
-
44
- jobs.concat(ldap_no_server) if should_run?('test_integration_ldapnoserver')
45
-
46
- jobs.concat(instance_saml) if should_run?('test_integration_instancesaml')
47
-
48
- jobs.concat(group_saml) if should_run?('test_integration_groupsaml')
49
-
50
- jobs.concat(object_storage) if should_run?('test_instance_all_object_storage')
51
-
52
- jobs.concat(object_storage_aws) if should_run?('test_instance_all_object_storage')
53
-
54
- jobs.concat(object_storage_gcs) if should_run?('test_instance_all_object_storage')
55
-
56
- jobs.concat(object_storage_registry_tls) if should_run?('test_integration_registrytls')
57
-
58
- jobs.concat(registry) if should_run?('test_integration_registry')
59
-
60
- jobs.concat(packages) if should_run?('test_instance_all_packages')
61
-
62
- jobs.concat(actioncable) if should_run?('test_instance_all_actioncable')
63
-
64
- jobs.concat(elasticsearch) if should_run?('test_integration_elasticsearch')
65
-
66
- jobs.concat(praefect) if should_run?('test_instance_all')
67
-
68
- jobs.concat(gitaly_cluster) if should_run?('test_instance_all')
69
-
70
- jobs.concat(mtls) if should_run?('test_instance_all_mtls')
71
-
72
- jobs.concat(smtp) if should_run?('test_integration_smtp')
73
-
74
- jobs.concat(jira) if should_run?('test_instance_all_jira')
75
-
76
- jobs.concat(integrations) if should_run?('test_instance_all_integrations')
77
-
78
- jobs.concat(large_setup) if should_run?('test_instance_all_can_use_large_setup')
79
-
80
- jobs.concat(cloud_activation) if should_run?('test_instance_all_cloud_activation')
81
-
82
- jobs.concat(registry_with_cdn) if should_run?('test_integration_registrywithcdn')
83
-
84
- jobs.concat(staging)
50
+ # base.concat(load_yml_contents('geo')) if should_run?('scenario_test_geo')
85
51
 
86
52
  jobs
87
53
  end
@@ -91,1649 +57,14 @@ class GenerateQAJobs
91
57
 
92
58
  private
93
59
 
94
- def base
95
- <<~YML
96
- stages:
97
- - test
98
- - report
99
- - notify
100
-
101
- default:
102
- image: registry.gitlab.com/gitlab-org/gitlab-build-images:gitlab-qa-ruby-2.7
103
- tags:
104
- - gitlab-org
105
- cache:
106
- key:
107
- files:
108
- - Gemfile.lock
109
- - gitlab-qa.gemspec
110
- paths:
111
- - vendor/ruby
112
- before_script:
113
- - export QA_ARTIFACTS_DIR=$CI_PROJECT_DIR
114
- - bundle version
115
- - bundle config path vendor
116
- - bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check
117
- - export LANG=C.UTF-8
118
- - echo $CI_MERGE_REQUEST_IID
119
- - echo $CI_COMMIT_BRANCH
120
- - echo $CI_COMMIT_TAG
121
- - echo $CI_PIPELINE_SOURCE
122
- - echo $CI_DEFAULT_BRANCH
123
- - echo $CI_COMMIT_REF_NAME
124
- - echo $CI_JOB_ID
125
- - echo $CI_COMMIT_REF_PROTECTED
126
- - echo $TOP_UPSTREAM_SOURCE_SHA
127
- - echo $TOP_UPSTREAM_MERGE_REQUEST_IID
128
- - echo $TOP_UPSTREAM_SOURCE_PROJECT
129
- - echo $TOP_UPSTREAM_DEFAULT_BRANCH
130
- - echo $TOP_UPSTREAM_SOURCE_REF
131
- - echo $TOP_UPSTREAM_SOURCE_JOB
132
- - echo $GITLAB_QA_OPTIONS
133
- - echo $QA_TESTS
134
- - echo $RSPEC_REPORT_OPTS
135
- - echo $QA_RSPEC_TAGS
136
- - echo $QA_TEST_RESULTS_ISSUES_PROJECT
137
- - echo $QA_TESTCASES_REPORTING_PROJECT
138
- - echo $DEFAULT_RELEASE
139
- - echo $GITLAB_QA_OPTIONS_COMBINED
140
- - echo $DISABLE_RELATING_FAILURE_ISSUES
141
- - echo $QA_FAILURES_MAX_DIFF_RATIO
142
- - echo $QA_FAILURES_REPORTER_OPTIONS
143
- - echo $NOTIFY_CHANNEL
144
- - echo $REPORT_ISSUE_URL
145
- - echo $QA_TESTCASE_SESSIONS_PROJECT
146
- - echo $QA_FAILURES_REPORTING_PROJECT
147
- - echo $ALLURE_JOB_NAME
148
- - echo $QA_IMAGE
149
- - echo $RELEASE
150
- - echo $TEST_LICENSE_MODE
151
-
152
- workflow:
153
- rules:
154
- # For merge requests, create a pipeline.
155
- - if: $CI_MERGE_REQUEST_IID
156
- # For the default branch, create a pipeline (this includes on schedules, pushes, merges, etc.).
157
- - if: $CI_COMMIT_BRANCH == "master"
158
- # For tags, create a pipeline.
159
- - if: $CI_COMMIT_TAG
160
- # For triggers from GitLab MR pipelines (and pipelines from other projects or parent pipeline), create a pipeline
161
- - if: $CI_PIPELINE_SOURCE == "pipeline" || $CI_PIPELINE_SOURCE == "parent_pipeline"
162
- # When using Run pipeline button in the GitLab UI, from the project’s CI/CD > Pipelines section, create a pipeline.
163
- - if: $CI_PIPELINE_SOURCE == "web"
164
-
165
- variables:
166
- DOCKER_DRIVER: overlay2
167
- DOCKER_HOST: tcp://docker:2375
168
- QA_CAN_TEST_GIT_PROTOCOL_V2: "true"
169
- QA_CAN_TEST_PRAEFECT: "false"
170
- QA_GENERATE_ALLURE_REPORT: "true"
171
- QA_TESTCASES_REPORTING_PROJECT: "gitlab-org/gitlab"
172
- QA_TEST_RESULTS_ISSUES_PROJECT: "gitlab-org/quality/testcases"
173
- QA_TESTCASE_SESSIONS_PROJECT: "gitlab-org/quality/testcase-sessions"
174
- # QA_DEFAULT_BRANCH is the default branch name of the instance under test.
175
- QA_DEFAULT_BRANCH: "master"
176
-
177
- .ce-variables:
178
- variables:
179
- DEFAULT_RELEASE: "CE"
180
-
181
- .ee-variables:
182
- variables:
183
- DEFAULT_RELEASE: "EE"
184
-
185
- .test:
186
- stage: test
187
- timeout: 1 hour 30 minutes
188
- services:
189
- - docker:20.10.5-dind
190
- tags:
191
- - gitlab-org
192
- - docker
193
- artifacts:
194
- when: always
195
- expire_in: 10d
196
- paths:
197
- - gitlab-qa-run-*
198
- reports:
199
- junit: gitlab-qa-run-*/**/rspec-*.xml
200
- script:
201
- - 'echo "QA_ARTIFACTS_DIR: $QA_ARTIFACTS_DIR"'
202
- - 'echo "CI_PROJECT_DIR: $CI_PROJECT_DIR"'
203
- - 'echo "Running: bundle exec exe/gitlab-qa ${QA_SCENARIO:=Test::Instance::Image} ${RELEASE:=$DEFAULT_RELEASE} $GITLAB_QA_OPTIONS -- $QA_TESTS $QA_RSPEC_TAGS $RSPEC_REPORT_OPTS"'
204
- - bundle exec exe/gitlab-qa ${QA_SCENARIO:=Test::Instance::Image} ${RELEASE:=$DEFAULT_RELEASE} $GITLAB_QA_OPTIONS -- $QA_TESTS $QA_RSPEC_TAGS $RSPEC_REPORT_OPTS || test_run_exit_code=$?
205
- - bundle exec exe/gitlab-qa-report --update-screenshot-path "gitlab-qa-run-*/**/rspec-*.xml"
206
- - export GITLAB_QA_ACCESS_TOKEN="$GITLAB_QA_PRODUCTION_ACCESS_TOKEN"
207
- - if [ "$TOP_UPSTREAM_SOURCE_REF" == $TOP_UPSTREAM_DEFAULT_BRANCH ] || [[ "$TOP_UPSTREAM_SOURCE_JOB" == https://ops.gitlab.net* ]]; then exe/gitlab-qa-report --report-results "gitlab-qa-run-*/**/rspec-*.json" --test-case-project "$QA_TESTCASES_REPORTING_PROJECT" --results-issue-project "$QA_TEST_RESULTS_ISSUES_PROJECT" || true; fi
208
- - exit $test_run_exit_code
209
-
210
- # For jobs that shouldn't report results in issues, e.g., manually run custom jobs
211
- .no-issue-report-script:
212
- script:
213
- - 'echo "Running: bundle exec exe/gitlab-qa ${QA_SCENARIO:=Test::Instance::Image} ${RELEASE:=$DEFAULT_RELEASE} $GITLAB_QA_OPTIONS -- $QA_TESTS $QA_RSPEC_TAGS $RSPEC_REPORT_OPTS"'
214
- - bundle exec exe/gitlab-qa ${QA_SCENARIO:=Test::Instance::Image} ${RELEASE:=$DEFAULT_RELEASE} $GITLAB_QA_OPTIONS -- $QA_TESTS $QA_RSPEC_TAGS $RSPEC_REPORT_OPTS
215
-
216
- # For jobs that provide additional GITLAB_QA_OPTIONS, e.g., jobs that include --omnibus-config
217
- .combined-gitlab-qa-options-script:
218
- script:
219
- - 'echo "Running: bundle exec exe/gitlab-qa ${QA_SCENARIO:=Test::Instance::Image} ${RELEASE:=$DEFAULT_RELEASE} $GITLAB_QA_OPTIONS_COMBINED -- $QA_TESTS $QA_RSPEC_TAGS $RSPEC_REPORT_OPTS"'
220
-
221
- - bundle exec exe/gitlab-qa ${QA_SCENARIO:=Test::Instance::Image} ${RELEASE:=$DEFAULT_RELEASE} $GITLAB_QA_OPTIONS_COMBINED -- $QA_TESTS $QA_RSPEC_TAGS $RSPEC_REPORT_OPTS || test_run_exit_code=$?
222
- - bundle exec exe/gitlab-qa-report --update-screenshot-path "gitlab-qa-run-*/**/rspec-*.xml"
223
- - export GITLAB_QA_ACCESS_TOKEN="$GITLAB_QA_PRODUCTION_ACCESS_TOKEN"
224
- - if [ "$TOP_UPSTREAM_SOURCE_REF" == $TOP_UPSTREAM_DEFAULT_BRANCH ] || [[ "$TOP_UPSTREAM_SOURCE_JOB" == https://ops.gitlab.net* ]]; then exe/gitlab-qa-report --report-results "gitlab-qa-run-*/**/rspec-*.json" --test-case-project "$QA_TESTCASES_REPORTING_PROJECT" --results-issue-project "$QA_TEST_RESULTS_ISSUES_PROJECT" || true; fi
225
- - exit $test_run_exit_code
226
-
227
- # The Test::Omnibus::Update scenarios require the release to be specified twice, which can't be done dynamically using the `variables` parameter
228
- # So instead we can use this script with two release variables
229
- .update-scenario-script:
230
- script:
231
- - 'echo "Running: bundle exec exe/gitlab-qa Test::Omnibus::Update ${RELEASE:=$DEFAULT_RELEASE} ${RELEASE:=$DEFAULT_RELEASE} $GITLAB_QA_OPTIONS -- $QA_TESTS $QA_RSPEC_TAGS $RSPEC_REPORT_OPTS"'
232
- - bundle exec exe/gitlab-qa Test::Omnibus::Update ${RELEASE:=$DEFAULT_RELEASE} ${RELEASE:=$DEFAULT_RELEASE} $GITLAB_QA_OPTIONS -- $QA_TESTS $QA_RSPEC_TAGS $RSPEC_REPORT_OPTS || test_run_exit_code=$?
233
- - bundle exec exe/gitlab-qa-report --update-screenshot-path "gitlab-qa-run-*/**/rspec-*.xml"
234
- - export GITLAB_QA_ACCESS_TOKEN="$GITLAB_QA_PRODUCTION_ACCESS_TOKEN"
235
- - if [ "$TOP_UPSTREAM_SOURCE_REF" == $TOP_UPSTREAM_DEFAULT_BRANCH ] || [[ "$TOP_UPSTREAM_SOURCE_JOB" == https://ops.gitlab.net* ]]; then exe/gitlab-qa-report --report-results "gitlab-qa-run-*/**/rspec-*.json" --test-case-project "$QA_TESTCASES_REPORTING_PROJECT" --results-issue-project "$QA_TEST_RESULTS_ISSUES_PROJECT" || true; fi
236
- - exit $test_run_exit_code
237
-
238
- .high-capacity:
239
- tags:
240
- - docker
241
- - 7gb
242
- - triggered-packages
243
-
244
- .rspec-report-opts:
245
- variables:
246
- FILE_SAFE_JOB_NAME: $(echo $CI_JOB_NAME | sed 's/[ /]/_/g')
247
- RSPEC_REPORT_OPTS: '--format QA::Support::JsonFormatter --out \"tmp/rspec-${CI_JOB_ID}.json\" --format RspecJunitFormatter --out \"tmp/rspec-${CI_JOB_ID}.xml\" --format html --out \"tmp/rspec-${FILE_SAFE_JOB_NAME}.htm\" --color --format documentation'
248
-
249
- .quarantine:
250
- allow_failure: true
251
- variables:
252
- QA_RSPEC_TAGS: "--tag quarantine"
253
-
254
- generate_test_session:
255
- stage: report
256
- rules:
257
- - if: '$TOP_UPSTREAM_SOURCE_JOB !=null && $TOP_UPSTREAM_SOURCE_JOB !="" && $TOP_UPSTREAM_SOURCE_REF == $TOP_UPSTREAM_DEFAULT_BRANCH'
258
- when: always
259
- - if: '$TOP_UPSTREAM_SOURCE_JOB =~ /\\Ahttps:\\/\\/ops.gitlab.net\\//'
260
- when: always
261
- artifacts:
262
- when: always
263
- expire_in: 10d
264
- paths:
265
- - REPORT_ISSUE_URL
266
- script:
267
- - export GITLAB_QA_ACCESS_TOKEN="$GITLAB_QA_PRODUCTION_ACCESS_TOKEN"
268
- - bundle exec exe/gitlab-qa-report --generate-test-session "gitlab-qa-run-*/**/rspec-*.json" --project "$QA_TESTCASE_SESSIONS_PROJECT"
269
-
270
- relate_test_failures:
271
- stage: report
272
- rules:
273
- - if: '$DISABLE_RELATING_FAILURE_ISSUES != null && $DISABLE_RELATING_FAILURE_ISSUES != ""'
274
- when: never
275
- - if: '$TOP_UPSTREAM_SOURCE_JOB !=null && $TOP_UPSTREAM_SOURCE_JOB !="" && $TOP_UPSTREAM_SOURCE_REF == $TOP_UPSTREAM_DEFAULT_BRANCH'
276
- when: always
277
- - if: '$TOP_UPSTREAM_SOURCE_JOB =~ /\\Ahttps:\\/\\/ops.gitlab.net\\//'
278
- when: always
279
- variables:
280
- QA_FAILURES_REPORTING_PROJECT: "gitlab-org/gitlab"
281
- QA_FAILURES_MAX_DIFF_RATIO: "0.15"
282
- # The --dry-run can be set to modify the behavior of `exe/gitlab-qa-report --relate-failure-issue` without releasing a new gem version.
283
- QA_FAILURES_REPORTER_OPTIONS: ""
284
- script:
285
- - export GITLAB_QA_ACCESS_TOKEN="$GITLAB_QA_PRODUCTION_ACCESS_TOKEN"
286
- - bundle exec exe/gitlab-qa-report --relate-failure-issue "gitlab-qa-run-*/**/rspec-*.json" --project "$QA_FAILURES_REPORTING_PROJECT" --max-diff-ratio "$QA_FAILURES_MAX_DIFF_RATIO" $QA_FAILURES_REPORTER_OPTIONS
287
-
288
- .notify_upstream_commit:
289
- stage: notify
290
- image: ruby:3.0-alpine
291
- before_script:
292
- - gem install gitlab --no-document
293
-
294
- notify_upstream_commit:success:
295
- extends: .notify_upstream_commit
296
- script:
297
- - bin/notify_upstream_commit success
298
- rules:
299
- - if: '$TOP_UPSTREAM_SOURCE_PROJECT != null && $TOP_UPSTREAM_SOURCE_PROJECT != "" && $TOP_UPSTREAM_SOURCE_SHA != null && $TOP_UPSTREAM_SOURCE_SHA != ""'
300
- when: on_success
301
-
302
- notify_upstream_commit:failure:
303
- extends: .notify_upstream_commit
304
- script:
305
- - bin/notify_upstream_commit failure
306
- rules:
307
- - if: '$TOP_UPSTREAM_SOURCE_PROJECT != null && $TOP_UPSTREAM_SOURCE_PROJECT != "" && $TOP_UPSTREAM_SOURCE_SHA != null && $TOP_UPSTREAM_SOURCE_SHA != ""'
308
- when: on_failure
309
-
310
- .notify_slack:
311
- image: alpine
312
- stage: notify
313
- dependencies: ['generate_test_session']
314
- cache: {}
315
- before_script:
316
- - apk update && apk add git curl bash
317
-
318
- notify_slack:
319
- extends:
320
- - .notify_slack
321
- rules:
322
- - if: '$TOP_UPSTREAM_SOURCE_JOB !=null && $TOP_UPSTREAM_SOURCE_JOB !="" && $NOTIFY_CHANNEL !=null && $NOTIFY_CHANNEL !=""'
323
- when: on_failure
324
- - if: '$TOP_UPSTREAM_SOURCE_JOB !=null && $TOP_UPSTREAM_SOURCE_JOB !="" && $TOP_UPSTREAM_SOURCE_REF == $TOP_UPSTREAM_DEFAULT_BRANCH'
325
- when: on_failure
326
- script:
327
- - export RELEASE=${TOP_UPSTREAM_SOURCE_REF:-$RELEASE}
328
- - echo "NOTIFY_CHANNEL is ${NOTIFY_CHANNEL:=qa-$TOP_UPSTREAM_SOURCE_REF}"
329
- - echo "RELEASE is ${RELEASE}"
330
- - echo "CI_PIPELINE_URL is $CI_PIPELINE_URL"
331
- - echo "TOP_UPSTREAM_SOURCE_JOB is $TOP_UPSTREAM_SOURCE_JOB"
332
- - 'bin/slack $NOTIFY_CHANNEL "☠️ QA against $RELEASE failed! ☠️ See the test session report: $(cat REPORT_ISSUE_URL), and pipeline: $CI_PIPELINE_URL (triggered from $TOP_UPSTREAM_SOURCE_JOB)" ci_failing'
333
-
334
- generate-allure-report:
335
- extends: .generate-allure-report-base
336
- stage: report
337
- variables:
338
- ALLURE_RESULTS_GLOB: gitlab-qa-run-*/**/allure-results/*
339
- cache:
340
- policy: pull
341
- before_script:
342
- # Override allure variables for upstream triggers
343
- # Override default before script and don't push cache
344
- - export STORAGE_CREDENTIALS=$QA_ALLURE_REPORT_GCS_CREDENTIALS
345
- - export GITLAB_AUTH_TOKEN=$GITLAB_QA_MR_ALLURE_REPORT_TOKEN
346
- - export ALLURE_PROJECT_PATH=$TOP_UPSTREAM_SOURCE_PROJECT
347
- - export ALLURE_MERGE_REQUEST_IID=$TOP_UPSTREAM_MERGE_REQUEST_IID
348
- - export ALLURE_COMMIT_SHA=$TOP_UPSTREAM_SOURCE_SHA
349
- - export ALLURE_JOB_NAME="${ALLURE_JOB_NAME:-package-and-qa}"
350
- rules:
351
- # Don't run report generation on release pipelines
352
- - if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab-qa" && $RELEASE == null'
353
- changes: ["lib/**/version.rb"]
354
- when: never
355
- - if: '$CI_COMMIT_TAG'
356
- when: never
357
- - if: '$CI_PIPELINE_SOURCE == "merge_request_event" || $CI_PIPELINE_SOURCE == "parent_pipeline" || ($CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH)'
358
- variables:
359
- ALLURE_JOB_NAME: gitlab-qa
360
- when: always
361
- - if: '$TOP_UPSTREAM_SOURCE_PROJECT != null && $TOP_UPSTREAM_SOURCE_PROJECT != "" && $TOP_UPSTREAM_SOURCE_SHA != null && $TOP_UPSTREAM_SOURCE_SHA != ""'
362
- when: always
363
-
364
- generate-knapsack-report:
365
- extends: .generate-knapsack-report-base
366
- image:
367
- name: ${QA_IMAGE}
368
- stage: report
369
-
370
- include:
371
- - local: .gitlab/ci/rules.gitlab-ci.yml
372
- - project: 'gitlab-org/quality/pipeline-common'
373
- file:
374
- - '/ci/allure-report.yml'
375
- - '/ci/knapsack-report.yml'
376
-
377
- YML
378
- end
379
-
380
- def sanity_framework
381
- <<~YML
382
- # Do not generate allure report since it always adds a failed test to the report. The job runs a test where 1 example would always fail and assert exit code via custom script bin/expect_exit_code_and_text
383
- ce:sanity-framework:
384
- variables:
385
- QA_GENERATE_ALLURE_REPORT: "false"
386
- QA_EXPORT_TEST_METRICS: "false"
387
- script:
388
- - ./bin/expect_exit_code_and_text "bundle exec exe/gitlab-qa Test::Instance::Image ${RELEASE:=CE} -- --tag framework" 1 "2 examples, 1 failure"
389
- extends:
390
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
391
- - .test
392
- - .high-capacity
393
- - .ce-variables
394
-
395
- ee:sanity-framework:
396
- variables:
397
- QA_GENERATE_ALLURE_REPORT: "false"
398
- QA_EXPORT_TEST_METRICS: "false"
399
- script:
400
- - ./bin/expect_exit_code_and_text "bundle exec exe/gitlab-qa Test::Instance::Image ${RELEASE:=EE} -- --tag framework" 1 "2 examples, 1 failure"
401
- extends:
402
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
403
- - .test
404
- - .high-capacity
405
- - .ee-variables
406
-
407
- YML
408
- end
409
-
410
- def custom_parallel
411
- <<~YML
412
- ce:custom-parallel:
413
- extends:
414
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
415
- - .test
416
- - .high-capacity
417
- - .rspec-report-opts
418
- - .no-issue-report-script
419
- - .ce-variables
420
- allow_failure: true
421
- parallel: 10
422
-
423
- ee:custom-parallel:
424
- extends:
425
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
426
- - .test
427
- - .high-capacity
428
- - .ee-variables
429
- - .rspec-report-opts
430
- - .no-issue-report-script
431
- allow_failure: true
432
- parallel: 10
433
-
434
- YML
435
- end
436
-
437
- def instance
438
- <<~YML
439
- ce:instance-parallel:
440
- extends:
441
- - .rules:ce-never-when-qa-tests-specified
442
- - .test
443
- - .high-capacity
444
- - .ce-variables
445
- - .rspec-report-opts
446
- parallel: 5
447
-
448
- ee:instance-parallel:
449
- extends:
450
- - .rules:ee-never-when-qa-tests-specified
451
- - .test
452
- - .high-capacity
453
- - .ee-variables
454
- - .rspec-report-opts
455
- parallel: 5
456
-
457
- ce:instance:
458
- extends:
459
- - .rules:ce-never-when-qa-tests-not-specified
460
- - .test
461
- - .high-capacity
462
- - .ce-variables
463
- - .rspec-report-opts
464
-
465
- ce:instance-quarantine:
466
- extends:
467
- - .rules:ce-qa
468
- - .test
469
- - .high-capacity
470
- - .ce-variables
471
- - .quarantine
472
- - .rspec-report-opts
473
- variables:
474
- QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
475
-
476
- ee:instance:
477
- extends:
478
- - .rules:ee-never-when-qa-tests-not-specified
479
- - .test
480
- - .high-capacity
481
- - .ee-variables
482
- - .rspec-report-opts
483
-
484
- ee:instance-quarantine:
485
- extends:
486
- - .rules:ee-qa
487
- - .test
488
- - .high-capacity
489
- - .ee-variables
490
- - .quarantine
491
- - .rspec-report-opts
492
- variables:
493
- QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
494
-
495
- YML
496
- end
497
-
498
- def relative_url
499
- <<~YML
500
- ce:relative_url-parallel:
501
- extends:
502
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-specified
503
- - .test
504
- - .high-capacity
505
- - .ce-variables
506
- - .rspec-report-opts
507
- parallel: 5
508
- variables:
509
- QA_SCENARIO: "Test::Instance::RelativeUrl"
510
-
511
- ee:relative_url-parallel:
512
- extends:
513
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-specified
514
- - .test
515
- - .high-capacity
516
- - .ee-variables
517
- - .rspec-report-opts
518
- parallel: 5
519
- variables:
520
- QA_SCENARIO: "Test::Instance::RelativeUrl"
521
-
522
- ce:relative_url:
523
- extends:
524
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-not-specified
525
- - .test
526
- - .high-capacity
527
- - .ce-variables
528
- - .rspec-report-opts
529
- variables:
530
- QA_SCENARIO: "Test::Instance::RelativeUrl"
531
-
532
- ee:relative_url:
533
- extends:
534
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-not-specified
535
- - .test
536
- - .high-capacity
537
- - .ee-variables
538
- - .rspec-report-opts
539
- variables:
540
- QA_SCENARIO: "Test::Instance::RelativeUrl"
541
-
542
- ce:relative_url-quarantine:
543
- extends:
544
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
545
- - .test
546
- - .high-capacity
547
- - .ce-variables
548
- - .quarantine
549
- - .rspec-report-opts
550
- variables:
551
- QA_SCENARIO: "Test::Instance::RelativeUrl"
552
- QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
553
-
554
- ee:relative_url-quarantine:
555
- extends:
556
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
557
- - .test
558
- - .high-capacity
559
- - .ee-variables
560
- - .quarantine
561
- - .rspec-report-opts
562
- variables:
563
- QA_SCENARIO: "Test::Instance::RelativeUrl"
564
- QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
565
-
566
- YML
567
- end
568
-
569
- def repository_storage
570
- <<~YML
571
- ce:repository_storage:
572
- extends:
573
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
574
- - .test
575
- - .high-capacity
576
- - .ce-variables
577
- - .rspec-report-opts
578
- variables:
579
- QA_SCENARIO: "Test::Instance::RepositoryStorage"
580
-
581
- ce:repository_storage-quarantine:
582
- extends:
583
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
584
- - .test
585
- - .high-capacity
586
- - .ce-variables
587
- - .quarantine
588
- - .rspec-report-opts
589
- variables:
590
- QA_SCENARIO: "Test::Instance::RepositoryStorage"
591
-
592
- ee:repository_storage:
593
- extends:
594
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
595
- - .test
596
- - .high-capacity
597
- - .ee-variables
598
- - .rspec-report-opts
599
- variables:
600
- QA_SCENARIO: "Test::Instance::RepositoryStorage"
601
-
602
- ee:repository_storage-quarantine:
603
- extends:
604
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
605
- - .test
606
- - .high-capacity
607
- - .ee-variables
608
- - .quarantine
609
- - .rspec-report-opts
610
- variables:
611
- QA_SCENARIO: "Test::Instance::RepositoryStorage"
612
- YML
613
- end
614
-
615
- # The Test::Omnibus::Image scenarios don't run the E2E tests so they don't need to report test results
616
- def omnibus_image
617
- <<~YML
618
- ce:image:
619
- script:
620
- - bundle exec exe/gitlab-qa Test::Omnibus::Image ${RELEASE:=CE}
621
- extends:
622
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
623
- - .test
624
- - .ce-variables
625
-
626
- ee:image:
627
- script:
628
- - bundle exec exe/gitlab-qa Test::Omnibus::Image ${RELEASE:=EE}
629
- extends:
630
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
631
- - .test
632
- - .ee-variables
633
-
634
- YML
635
- end
636
-
637
- def update
638
- <<~YML
639
- ce:update-parallel:
640
- extends:
641
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-specified
642
- - .test
643
- - .high-capacity
644
- - .ce-variables
645
- - .rspec-report-opts
646
- - .update-scenario-script
647
- parallel: 5
648
-
649
- ce:update:
650
- extends:
651
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-not-specified
652
- - .test
653
- - .high-capacity
654
- - .ce-variables
655
- - .rspec-report-opts
656
- - .update-scenario-script
657
-
658
- ce:update-quarantine:
659
- extends:
660
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
661
- - .test
662
- - .high-capacity
663
- - .ce-variables
664
- - .quarantine
665
- - .rspec-report-opts
666
- - .update-scenario-script
667
- variables:
668
- QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
669
-
670
- ee:update-parallel:
671
- extends:
672
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-specified
673
- - .test
674
- - .high-capacity
675
- - .ee-variables
676
- - .rspec-report-opts
677
- - .update-scenario-script
678
- parallel: 10
679
-
680
- ee:update:
681
- extends:
682
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-not-specified
683
- - .test
684
- - .high-capacity
685
- - .ee-variables
686
- - .rspec-report-opts
687
- - .update-scenario-script
688
-
689
- ee:update-quarantine:
690
- extends:
691
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
692
- - .test
693
- - .high-capacity
694
- - .ee-variables
695
- - .quarantine
696
- - .rspec-report-opts
697
- variables:
698
- QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
699
- YML
700
- end
701
-
702
- # The Test::Omnibus::Upgrade scenario isn't run on master (because it always uses the latest CE/EE image) so we don't report the test results in issues
703
- def omnibus_upgrade
704
- <<~YML
705
- ce:upgrade-parallel:
706
- script:
707
- - bundle exec exe/gitlab-qa Test::Omnibus::Upgrade CE -- $RSPEC_REPORT_OPTS
708
- extends:
709
- - .rules:only-qa-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-specified
710
- - .test
711
- - .high-capacity
712
- - .rspec-report-opts
713
- parallel: 5
714
-
715
- ce:upgrade:
716
- script:
717
- - bundle exec exe/gitlab-qa Test::Omnibus::Upgrade CE -- $RSPEC_REPORT_OPTS
718
- extends:
719
- - .rules:only-qa-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-not-specified
720
- - .test
721
- - .high-capacity
722
- - .rspec-report-opts
723
-
724
- ce:upgrade-quarantine:
725
- script:
726
- - bundle exec exe/gitlab-qa Test::Omnibus::Upgrade CE -- --tag quarantine --tag ~orchestrated $RSPEC_REPORT_OPTS
727
- extends:
728
- - .rules:only-qa-never-when-triggered-by-feature-flag-definition-change
729
- - .test
730
- - .high-capacity
731
- - .quarantine
732
- - .rspec-report-opts
733
-
734
- YML
735
- end
736
-
737
- def ee_previous_to_ce_update
738
- <<~YML
739
- ee-previous-to-ce:update:
740
- script:
741
- - bundle exec exe/gitlab-qa Test::Omnibus::Update EE CE -- $RSPEC_REPORT_OPTS
742
- extends:
743
- - .rules:only-qa-never-when-triggered-by-feature-flag-definition-change
744
- - .test
745
- - .high-capacity
746
- - .rspec-report-opts
747
-
748
- ee-previous-to-ce:update-quarantine:
749
- script:
750
- - bundle exec exe/gitlab-qa Test::Omnibus::Update EE CE -- --tag quarantine --tag ~orchestrated $RSPEC_REPORT_OPTS
751
- extends:
752
- - .rules:only-qa-never-when-triggered-by-feature-flag-definition-change
753
- - .test
754
- - .high-capacity
755
- - .quarantine
756
- - .rspec-report-opts
757
-
758
- YML
759
- end
760
-
761
- def mattermost
762
- <<~YML
763
- ce:mattermost:
764
- extends:
765
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
766
- - .test
767
- - .high-capacity
768
- - .ce-variables
769
- - .rspec-report-opts
770
- variables:
771
- QA_SCENARIO: "Test::Integration::Mattermost"
772
-
773
- ce:mattermost-quarantine:
774
- extends:
775
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
776
- - .test
777
- - .high-capacity
778
- - .ce-variables
779
- - .quarantine
780
- - .rspec-report-opts
781
- variables:
782
- QA_SCENARIO: "Test::Integration::Mattermost"
783
-
784
- ee:mattermost:
785
- extends:
786
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
787
- - .test
788
- - .high-capacity
789
- - .ee-variables
790
- - .rspec-report-opts
791
- variables:
792
- QA_SCENARIO: "Test::Integration::Mattermost"
793
-
794
- ee:mattermost-quarantine:
795
- extends:
796
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
797
- - .test
798
- - .high-capacity
799
- - .ee-variables
800
- - .quarantine
801
- - .rspec-report-opts
802
- variables:
803
- QA_SCENARIO: "Test::Integration::Mattermost"
804
-
805
- YML
806
- end
807
-
808
- def service_ping_disabled
809
- <<~YML
810
- ce:service_ping_disabled:
811
- extends:
812
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
813
- - .test
814
- - .high-capacity
815
- - .ce-variables
816
- - .rspec-report-opts
817
- variables:
818
- QA_SCENARIO: "Test::Integration::ServicePingDisabled"
819
-
820
- ee:service_ping_disabled:
821
- extends:
822
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
823
- - .test
824
- - .high-capacity
825
- - .ee-variables
826
- - .rspec-report-opts
827
- variables:
828
- QA_SCENARIO: "Test::Integration::ServicePingDisabled"
829
-
830
- YML
831
- end
832
-
833
- def geo
834
- <<~YML
835
- ee:geo:
836
- extends:
837
- - .test
838
- - .ee-variables
839
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
840
- - .rspec-report-opts
841
- variables:
842
- QA_SCENARIO: "Test::Integration::Geo"
843
-
844
- ee:geo-quarantine:
845
- extends:
846
- - .test
847
- - .ee-variables
848
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
849
- - .quarantine
850
- - .rspec-report-opts
851
- variables:
852
- QA_SCENARIO: "Test::Integration::Geo"
853
-
854
- YML
855
- end
856
-
857
- def ldap_no_tls
858
- <<~YML
859
- ce:ldap_no_tls:
860
- extends:
861
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
862
- - .test
863
- - .high-capacity
864
- - .ce-variables
865
- - .rspec-report-opts
866
- variables:
867
- QA_SCENARIO: "Test::Integration::LDAPNoTLS"
868
-
869
- ce:ldap_no_tls-quarantine:
870
- extends:
871
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
872
- - .test
873
- - .high-capacity
874
- - .ce-variables
875
- - .quarantine
876
- - .rspec-report-opts
877
- variables:
878
- QA_SCENARIO: "Test::Integration::LDAPNoTLS"
879
-
880
- ee:ldap_no_tls:
881
- extends:
882
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
883
- - .test
884
- - .high-capacity
885
- - .ee-variables
886
- - .rspec-report-opts
887
- variables:
888
- QA_SCENARIO: "Test::Integration::LDAPNoTLS"
889
-
890
- ee:ldap_no_tls-quarantine:
891
- extends:
892
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
893
- - .test
894
- - .high-capacity
895
- - .ee-variables
896
- - .quarantine
897
- - .rspec-report-opts
898
- variables:
899
- QA_SCENARIO: "Test::Integration::LDAPNoTLS"
900
-
901
- YML
902
- end
903
-
904
- def ldap_tls
905
- <<~YML
906
- ce:ldap_tls:
907
- extends:
908
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
909
- - .test
910
- - .high-capacity
911
- - .ce-variables
912
- - .rspec-report-opts
913
- variables:
914
- QA_SCENARIO: "Test::Integration::LDAPTLS"
915
-
916
- ce:ldap_tls-quarantine:
917
- extends:
918
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
919
- - .test
920
- - .high-capacity
921
- - .ce-variables
922
- - .quarantine
923
- - .rspec-report-opts
924
- variables:
925
- QA_SCENARIO: "Test::Integration::LDAPTLS"
926
-
927
- ee:ldap_tls:
928
- extends:
929
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
930
- - .test
931
- - .high-capacity
932
- - .ee-variables
933
- - .rspec-report-opts
934
- variables:
935
- QA_SCENARIO: "Test::Integration::LDAPTLS"
936
-
937
- ee:ldap_tls-quarantine:
938
- extends:
939
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
940
- - .test
941
- - .high-capacity
942
- - .ee-variables
943
- - .quarantine
944
- - .rspec-report-opts
945
- variables:
946
- QA_SCENARIO: "Test::Integration::LDAPTLS"
947
-
948
- YML
949
- end
950
-
951
- def ldap_no_server
952
- <<~YML
953
- ee:ldap_no_server:
954
- extends:
955
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
956
- - .test
957
- - .high-capacity
958
- - .ee-variables
959
- - .rspec-report-opts
960
- variables:
961
- QA_SCENARIO: "Test::Integration::LDAPNoServer"
962
-
963
- ee:ldap_no_server-quarantine:
964
- extends:
965
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
966
- - .test
967
- - .high-capacity
968
- - .ee-variables
969
- - .quarantine
970
- - .rspec-report-opts
971
- variables:
972
- QA_SCENARIO: "Test::Integration::LDAPNoServer"
973
-
974
- YML
975
- end
976
-
977
- def instance_saml
978
- <<~YML
979
- ce:instance_saml:
980
- extends:
981
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
982
- - .test
983
- - .high-capacity
984
- - .ce-variables
985
- - .rspec-report-opts
986
- variables:
987
- QA_SCENARIO: "Test::Integration::InstanceSAML"
988
-
989
- ce:instance_saml-quarantine:
990
- extends:
991
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
992
- - .test
993
- - .high-capacity
994
- - .ce-variables
995
- - .quarantine
996
- - .rspec-report-opts
997
- variables:
998
- QA_SCENARIO: "Test::Integration::InstanceSAML"
999
-
1000
- ee:instance_saml:
1001
- extends:
1002
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1003
- - .test
1004
- - .high-capacity
1005
- - .ee-variables
1006
- - .rspec-report-opts
1007
- variables:
1008
- QA_SCENARIO: "Test::Integration::InstanceSAML"
1009
-
1010
- ee:instance_saml-quarantine:
1011
- extends:
1012
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1013
- - .test
1014
- - .high-capacity
1015
- - .ee-variables
1016
- - .quarantine
1017
- - .rspec-report-opts
1018
- variables:
1019
- QA_SCENARIO: "Test::Integration::InstanceSAML"
1020
-
1021
- YML
1022
- end
1023
-
1024
- def group_saml
1025
- <<~YML
1026
- ee:group_saml:
1027
- extends:
1028
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1029
- - .test
1030
- - .high-capacity
1031
- - .ee-variables
1032
- - .rspec-report-opts
1033
- variables:
1034
- QA_SCENARIO: "Test::Integration::GroupSAML"
1035
-
1036
- ee:group_saml-quarantine:
1037
- extends:
1038
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1039
- - .test
1040
- - .high-capacity
1041
- - .ee-variables
1042
- - .quarantine
1043
- - .rspec-report-opts
1044
- variables:
1045
- QA_SCENARIO: "Test::Integration::GroupSAML"
1046
-
1047
- YML
1048
- end
1049
-
1050
- def object_storage
1051
- <<~YML
1052
- ce:object_storage:
1053
- extends:
1054
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1055
- - .test
1056
- - .high-capacity
1057
- - .ce-variables
1058
- - .rspec-report-opts
1059
- - .combined-gitlab-qa-options-script
1060
- parallel: 2
1061
- variables:
1062
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config object_storage"
1063
-
1064
- ce:object_storage-quarantine:
1065
- extends:
1066
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1067
- - .test
1068
- - .high-capacity
1069
- - .ce-variables
1070
- - .quarantine
1071
- - .rspec-report-opts
1072
- - .combined-gitlab-qa-options-script
1073
- variables:
1074
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config object_storage"
1075
-
1076
- ee:object_storage:
1077
- extends:
1078
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1079
- - .test
1080
- - .high-capacity
1081
- - .ee-variables
1082
- - .rspec-report-opts
1083
- - .combined-gitlab-qa-options-script
1084
- parallel: 2
1085
- variables:
1086
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config object_storage"
1087
- QA_RSPEC_TAGS: "--tag object_storage"
1088
-
1089
- ee:object_storage-quarantine:
1090
- extends:
1091
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1092
- - .test
1093
- - .high-capacity
1094
- - .ee-variables
1095
- - .quarantine
1096
- - .rspec-report-opts
1097
- - .combined-gitlab-qa-options-script
1098
- variables:
1099
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config object_storage"
1100
- QA_RSPEC_TAGS: "--tag quarantine --tag object_storage"
1101
-
1102
- YML
1103
- end
1104
-
1105
- def object_storage_aws
1106
- <<~YML
1107
- ee:object_storage_aws:
1108
- extends:
1109
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1110
- - .test
1111
- - .high-capacity
1112
- - .ee-variables
1113
- - .rspec-report-opts
1114
- - .combined-gitlab-qa-options-script
1115
- parallel: 2
1116
- variables:
1117
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config object_storage_aws"
1118
- QA_RSPEC_TAGS: "--tag object_storage"
1119
-
1120
- ee:object_storage_aws-quarantine:
1121
- extends:
1122
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1123
- - .test
1124
- - .high-capacity
1125
- - .ee-variables
1126
- - .quarantine
1127
- - .rspec-report-opts
1128
- - .combined-gitlab-qa-options-script
1129
- variables:
1130
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config object_storage_aws"
1131
- QA_RSPEC_TAGS: "--tag quarantine --tag object_storage"
1132
-
1133
- YML
1134
- end
1135
-
1136
- def object_storage_gcs
1137
- <<~YML
1138
- ee:object_storage_gcs:
1139
- extends:
1140
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1141
- - .test
1142
- - .high-capacity
1143
- - .ee-variables
1144
- - .rspec-report-opts
1145
- parallel: 2
1146
- variables:
1147
- GITLAB_QA_OPTS: "--omnibus-config object_storage_gcs"
1148
- QA_RSPEC_TAGS: "--tag object_storage"
1149
-
1150
- ee:object_storage_gcs-quarantine:
1151
- extends:
1152
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1153
- - .test
1154
- - .high-capacity
1155
- - .ee-variables
1156
- - .quarantine
1157
- - .rspec-report-opts
1158
- variables:
1159
- GITLAB_QA_OPTS: "--omnibus-config object_storage_gcs"
1160
- QA_RSPEC_TAGS: "--tag quarantine --tag object_storage"
1161
-
1162
- YML
1163
- end
1164
-
1165
- def object_storage_registry_tls
1166
- <<~YML
1167
- ce:object_storage_registry_tls:
1168
- extends:
1169
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1170
- - .test
1171
- - .high-capacity
1172
- - .ce-variables
1173
- - .rspec-report-opts
1174
- variables:
1175
- QA_SCENARIO: "Test::Integration::RegistryTLS --omnibus-config registry_object_storage"
1176
-
1177
- ce:object_storage_registry_tls-quarantine:
1178
- extends:
1179
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1180
- - .test
1181
- - .high-capacity
1182
- - .ce-variables
1183
- - .quarantine
1184
- - .rspec-report-opts
1185
- variables:
1186
- QA_SCENARIO: "Test::Integration::RegistryTLS --omnibus-config registry_object_storage"
1187
-
1188
- ee:object_storage_registry_tls:
1189
- extends:
1190
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1191
- - .test
1192
- - .ee-variables
1193
- - .high-capacity
1194
- - .rspec-report-opts
1195
- variables:
1196
- QA_SCENARIO: "Test::Integration::RegistryTLS --omnibus-config registry_object_storage"
1197
-
1198
- ee:object_storage_registry_tls-quarantine:
1199
- extends:
1200
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1201
- - .test
1202
- - .high-capacity
1203
- - .ee-variables
1204
- - .quarantine
1205
- - .rspec-report-opts
1206
- variables:
1207
- QA_SCENARIO: "Test::Integration::RegistryTLS --omnibus-config registry_object_storage"
1208
-
1209
- YML
1210
- end
1211
-
1212
- def registry
1213
- <<~YML
1214
- ce:registry:
1215
- extends:
1216
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1217
- - .test
1218
- - .high-capacity
1219
- - .ce-variables
1220
- - .rspec-report-opts
1221
- variables:
1222
- QA_SCENARIO: "Test::Integration::Registry"
1223
-
1224
- ce:registry-quarantine:
1225
- extends:
1226
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1227
- - .test
1228
- - .high-capacity
1229
- - .ce-variables
1230
- - .quarantine
1231
- - .rspec-report-opts
1232
- variables:
1233
- QA_SCENARIO: "Test::Integration::Registry"
1234
-
1235
- ee:registry:
1236
- extends:
1237
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1238
- - .test
1239
- - .high-capacity
1240
- - .ee-variables
1241
- - .rspec-report-opts
1242
- variables:
1243
- QA_SCENARIO: "Test::Integration::Registry"
1244
-
1245
- ee:registry-quarantine:
1246
- extends:
1247
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1248
- - .test
1249
- - .high-capacity
1250
- - .ee-variables
1251
- - .quarantine
1252
- - .rspec-report-opts
1253
- variables:
1254
- QA_SCENARIO: "Test::Integration::Registry"
1255
-
1256
- YML
1257
- end
1258
-
1259
- def packages
1260
- <<~YML
1261
- ee:packages-parallel:
1262
- extends:
1263
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1264
- - .test
1265
- - .high-capacity
1266
- - .ee-variables
1267
- - .rspec-report-opts
1268
- - .combined-gitlab-qa-options-script
1269
- parallel: 2
1270
- variables:
1271
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config packages"
1272
- QA_RSPEC_TAGS: "--tag packages"
1273
-
1274
- ee:packages-quarantine:
1275
- extends:
1276
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1277
- - .test
1278
- - .high-capacity
1279
- - .ee-variables
1280
- - .quarantine
1281
- - .rspec-report-opts
1282
- - .combined-gitlab-qa-options-script
1283
- variables:
1284
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config packages"
1285
- QA_RSPEC_TAGS: "--tag quarantine --tag packages"
1286
-
1287
- YML
1288
- end
1289
-
1290
- def actioncable
1291
- <<~YML
1292
- ce:actioncable:
1293
- extends:
1294
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1295
- - .test
1296
- - .high-capacity
1297
- - .ce-variables
1298
- - .rspec-report-opts
1299
- variables:
1300
- QA_SCENARIO: "Test::Integration::Actioncable"
1301
-
1302
- ce:actioncable-quarantine:
1303
- extends:
1304
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1305
- - .test
1306
- - .high-capacity
1307
- - .ce-variables
1308
- - .quarantine
1309
- - .rspec-report-opts
1310
- variables:
1311
- QA_SCENARIO: "Test::Integration::Actioncable"
1312
-
1313
- ee:actioncable:
1314
- extends:
1315
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1316
- - .test
1317
- - .high-capacity
1318
- - .ee-variables
1319
- - .rspec-report-opts
1320
- variables:
1321
- QA_SCENARIO: "Test::Integration::Actioncable"
1322
-
1323
- ee:actioncable-quarantine:
1324
- extends:
1325
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1326
- - .test
1327
- - .high-capacity
1328
- - .ee-variables
1329
- - .quarantine
1330
- - .rspec-report-opts
1331
- variables:
1332
- QA_SCENARIO: "Test::Integration::Actioncable"
1333
-
1334
- YML
1335
- end
1336
-
1337
- def elasticsearch
1338
- <<~YML
1339
- ee:elasticsearch:
1340
- extends:
1341
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1342
- - .test
1343
- - .high-capacity
1344
- - .ee-variables
1345
- - .rspec-report-opts
1346
- variables:
1347
- QA_SCENARIO: "Test::Integration::Elasticsearch"
1348
-
1349
- ee:elasticsearch-quarantine:
1350
- extends:
1351
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1352
- - .test
1353
- - .high-capacity
1354
- - .ee-variables
1355
- - .quarantine
1356
- - .rspec-report-opts
1357
- variables:
1358
- QA_SCENARIO: "Test::Integration::Elasticsearch"
1359
-
1360
- YML
1361
- end
1362
-
1363
- def praefect
1364
- <<~YML
1365
- ce:praefect-parallel:
1366
- extends:
1367
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-specified
1368
- - .test
1369
- - .high-capacity
1370
- - .ce-variables
1371
- - .rspec-report-opts
1372
- parallel: 5
1373
- variables:
1374
- QA_SCENARIO: "Test::Integration::Praefect"
1375
- QA_CAN_TEST_PRAEFECT: "true"
1376
-
1377
- ce:praefect:
1378
- extends:
1379
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-not-specified
1380
- - .test
1381
- - .high-capacity
1382
- - .ce-variables
1383
- - .rspec-report-opts
1384
- variables:
1385
- QA_SCENARIO: "Test::Integration::Praefect"
1386
- QA_CAN_TEST_PRAEFECT: "true"
1387
-
1388
- ce:praefect-quarantine:
1389
- extends:
1390
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1391
- - .test
1392
- - .high-capacity
1393
- - .ce-variables
1394
- - .quarantine
1395
- - .rspec-report-opts
1396
- variables:
1397
- QA_SCENARIO: "Test::Integration::Praefect"
1398
- QA_CAN_TEST_PRAEFECT: "true"
1399
- QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
1400
-
1401
- ee:praefect-parallel:
1402
- extends:
1403
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-specified
1404
- - .test
1405
- - .high-capacity
1406
- - .ee-variables
1407
- - .rspec-report-opts
1408
- parallel: 10
1409
- variables:
1410
- QA_SCENARIO: "Test::Integration::Praefect"
1411
- QA_CAN_TEST_PRAEFECT: "true"
1412
-
1413
- ee:praefect:
1414
- extends:
1415
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-not-specified
1416
- - .test
1417
- - .high-capacity
1418
- - .ee-variables
1419
- - .rspec-report-opts
1420
- variables:
1421
- QA_SCENARIO: "Test::Integration::Praefect"
1422
- QA_CAN_TEST_PRAEFECT: "true"
1423
-
1424
- ee:praefect-quarantine:
1425
- extends:
1426
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1427
- - .test
1428
- - .high-capacity
1429
- - .ee-variables
1430
- - .quarantine
1431
- - .rspec-report-opts
1432
- variables:
1433
- QA_SCENARIO: "Test::Integration::Praefect"
1434
- QA_CAN_TEST_PRAEFECT: "true"
1435
- QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
1436
-
1437
- YML
1438
- end
1439
-
1440
- def gitaly_cluster
1441
- <<~YML
1442
- ce:gitaly-cluster:
1443
- extends:
1444
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1445
- - .test
1446
- - .high-capacity
1447
- - .ce-variables
1448
- - .rspec-report-opts
1449
- variables:
1450
- QA_SCENARIO: "Test::Integration::GitalyCluster"
1451
- QA_LOG_PATH: "tmp/gitaly_cluster.log"
1452
-
1453
- ce:gitaly-cluster-quarantine:
1454
- extends:
1455
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1456
- - .test
1457
- - .high-capacity
1458
- - .ce-variables
1459
- - .quarantine
1460
- - .rspec-report-opts
1461
- variables:
1462
- QA_SCENARIO: "Test::Integration::GitalyCluster"
1463
- QA_LOG_PATH: "tmp/gitaly_cluster.log"
1464
-
1465
- ee:gitaly-cluster:
1466
- extends:
1467
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1468
- - .test
1469
- - .high-capacity
1470
- - .ee-variables
1471
- - .rspec-report-opts
1472
- variables:
1473
- QA_SCENARIO: "Test::Integration::GitalyCluster"
1474
- QA_LOG_PATH: "tmp/gitaly_cluster.log"
1475
-
1476
- ee:gitaly-cluster-quarantine:
1477
- extends:
1478
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1479
- - .test
1480
- - .high-capacity
1481
- - .ee-variables
1482
- - .quarantine
1483
- - .rspec-report-opts
1484
- variables:
1485
- QA_SCENARIO: "Test::Integration::GitalyCluster"
1486
- QA_LOG_PATH: "tmp/gitaly_cluster.log"
1487
-
1488
- YML
1489
- end
1490
-
1491
- def mtls
1492
- <<~YML
1493
- ce:mtls:
1494
- extends:
1495
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1496
- - .test
1497
- - .ce-variables
1498
- - .rspec-report-opts
1499
- variables:
1500
- QA_SCENARIO: "Test::Integration::MTLS"
1501
-
1502
- ee:mtls:
1503
- extends:
1504
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1505
- - .test
1506
- - .ee-variables
1507
- - .rspec-report-opts
1508
- variables:
1509
- QA_SCENARIO: "Test::Integration::MTLS"
1510
-
1511
- YML
1512
- end
1513
-
1514
- def smtp
1515
- <<~YML
1516
- ce:smtp:
1517
- extends:
1518
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1519
- - .test
1520
- - .high-capacity
1521
- - .ce-variables
1522
- - .rspec-report-opts
1523
- variables:
1524
- QA_SCENARIO: "Test::Integration::SMTP"
1525
-
1526
- ee:smtp:
1527
- extends:
1528
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1529
- - .test
1530
- - .high-capacity
1531
- - .ee-variables
1532
- - .rspec-report-opts
1533
- variables:
1534
- QA_SCENARIO: "Test::Integration::SMTP"
1535
-
1536
- YML
1537
- end
1538
-
1539
- def jira
1540
- <<~YML
1541
- ce:jira:
1542
- extends:
1543
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1544
- - .test
1545
- - .high-capacity
1546
- - .ce-variables
1547
- - .rspec-report-opts
1548
- variables:
1549
- QA_SCENARIO: "Test::Integration::Jira"
1550
-
1551
- ce:jira-quarantine:
1552
- extends:
1553
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1554
- - .test
1555
- - .high-capacity
1556
- - .ce-variables
1557
- - .quarantine
1558
- - .rspec-report-opts
1559
- variables:
1560
- QA_SCENARIO: "Test::Integration::Jira"
1561
-
1562
- ee:jira:
1563
- extends:
1564
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1565
- - .test
1566
- - .high-capacity
1567
- - .ee-variables
1568
- - .rspec-report-opts
1569
- variables:
1570
- QA_SCENARIO: "Test::Integration::Jira"
1571
-
1572
- ee:jira-quarantine:
1573
- extends:
1574
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1575
- - .test
1576
- - .high-capacity
1577
- - .ee-variables
1578
- - .quarantine
1579
- - .rspec-report-opts
1580
- variables:
1581
- QA_SCENARIO: "Test::Integration::Jira"
1582
-
1583
- YML
1584
- end
1585
-
1586
- def integrations
1587
- <<~YML
1588
- ce:integrations:
1589
- extends:
1590
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1591
- - .test
1592
- - .high-capacity
1593
- - .ce-variables
1594
- - .rspec-report-opts
1595
- variables:
1596
- QA_SCENARIO: "Test::Integration::Integrations"
1597
-
1598
- ce:integrations-quarantine:
1599
- extends:
1600
- - ce:integrations
1601
- - .quarantine
1602
-
1603
- YML
1604
- end
1605
-
1606
- def large_setup
1607
- <<~YML
1608
- ce:large-setup:
1609
- extends:
1610
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1611
- - .test
1612
- - .high-capacity
1613
- - .ce-variables
1614
- - .rspec-report-opts
1615
- variables:
1616
- QA_RSPEC_TAGS: "--tag can_use_large_setup"
1617
-
1618
- ee:large-setup:
1619
- extends:
1620
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1621
- - .test
1622
- - .high-capacity
1623
- - .ee-variables
1624
- - .rspec-report-opts
1625
- variables:
1626
- QA_RSPEC_TAGS: "--tag can_use_large_setup"
1627
-
1628
- YML
1629
- end
1630
-
1631
- def cloud_activation
1632
- <<~YML
1633
- ee:cloud-activation:
1634
- before_script:
1635
- - unset EE_LICENSE
1636
- - !reference [default, before_script]
1637
- extends:
1638
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1639
- - .test
1640
- - .high-capacity
1641
- - .ee-variables
1642
- - .rspec-report-opts
1643
- - .combined-gitlab-qa-options-script
1644
- variables:
1645
- QA_RSPEC_TAGS: "--tag cloud_activation"
1646
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --seed-db license*.rb"
1647
-
1648
- ee:cloud-activation-quarantine:
1649
- before_script:
1650
- - unset EE_LICENSE
1651
- - !reference [default, before_script]
1652
- extends:
1653
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1654
- - .test
1655
- - .high-capacity
1656
- - .ee-variables
1657
- - .quarantine
1658
- - .rspec-report-opts
1659
- - .combined-gitlab-qa-options-script
1660
- variables:
1661
- QA_RSPEC_TAGS: "--tag cloud_activation"
1662
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --seed-db license*.rb"
1663
-
1664
- YML
1665
- end
1666
-
1667
- def registry_with_cdn
1668
- <<~YML
1669
- ce:registry_with_cdn:
1670
- extends:
1671
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1672
- - .test
1673
- - .high-capacity
1674
- - .ce-variables
1675
- - .rspec-report-opts
1676
- variables:
1677
- QA_SCENARIO: "Test::Integration::RegistryWithCDN"
1678
- allow_failure: true
1679
-
1680
- ce:registry_with_cdn-quarantine:
1681
- extends:
1682
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1683
- - .test
1684
- - .high-capacity
1685
- - .ce-variables
1686
- - .quarantine
1687
- - .rspec-report-opts
1688
- variables:
1689
- QA_SCENARIO: "Test::Integration::RegistryWithCDN"
1690
-
1691
- ee:registry_with_cdn:
1692
- extends:
1693
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1694
- - .test
1695
- - .ee-variables
1696
- - .high-capacity
1697
- - .rspec-report-opts
1698
- variables:
1699
- QA_SCENARIO: "Test::Integration::RegistryWithCDN"
1700
- allow_failure: true
1701
-
1702
- ee:registry_with_cdn-quarantine:
1703
- extends:
1704
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1705
- - .test
1706
- - .high-capacity
1707
- - .ee-variables
1708
- - .quarantine
1709
- - .rspec-report-opts
1710
- variables:
1711
- QA_SCENARIO: "Test::Integration::RegistryWithCDN"
1712
-
1713
- YML
1714
- end
1715
-
1716
- # This job requires the `GITLAB_QA_ACCESS_TOKEN` and `GITLAB_QA_DEV_ACCESS_TOKEN`
1717
- # variable to be passed when triggered.
1718
- def staging
1719
- <<~YML
1720
- staging:
1721
- script:
1722
- - unset EE_LICENSE
1723
- - 'echo "Running: bundle exec exe/gitlab-qa Test::Instance::Staging ${RELEASE:=$DEFAULT_RELEASE} -- $QA_TESTS $QA_RSPEC_TAGS"'
1724
- - bundle exec exe/gitlab-qa Test::Instance::Staging ${RELEASE:=$DEFAULT_RELEASE} -- $QA_TESTS $QA_RSPEC_TAGS
1725
- extends:
1726
- - .rules:only-qa-never-when-triggered-by-feature-flag-definition-change
1727
- - .test
1728
- - .high-capacity
1729
- allow_failure: true
1730
-
1731
- YML
1732
- end
1733
-
1734
60
  def should_run?(example_file_name)
1735
61
  @no_of_example_files.include?(example_file_name)
1736
62
  end
63
+
64
+ def load_yml_contents(file_prefix)
65
+ jobs_dir_path = File.expand_path('../.gitlab/ci/jobs', __dir__)
66
+ File.read(File.join(jobs_dir_path, "#{file_prefix}.gitlab-ci.yml"))
67
+ end
1737
68
  end
1738
69
 
1739
70
  jobs = GenerateQAJobs.new(Dir.glob('no_of_examples/*').map { |s| File.basename(s, '.*') }).execute