gitlab-qa 7.24.4 → 7.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.gitlab-ci.yml CHANGED
@@ -1,9 +1,8 @@
1
1
  stages:
2
2
  - check
3
- - test
4
- - report
3
+ - generate
4
+ - triggers
5
5
  - deploy
6
- - notify
7
6
 
8
7
  default:
9
8
  image: registry.gitlab.com/gitlab-org/gitlab-build-images:gitlab-qa-ruby-2.7
@@ -17,7 +16,6 @@ default:
17
16
  paths:
18
17
  - vendor/ruby
19
18
  before_script:
20
- - echo $GITLAB_QA_OPTIONS
21
19
  - bundle version
22
20
  - bundle config path vendor
23
21
  - bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check
@@ -36,21 +34,6 @@ workflow:
36
34
  # When using Run pipeline button in the GitLab UI, from the project’s CI/CD > Pipelines section, create a pipeline.
37
35
  - if: '$CI_PIPELINE_SOURCE == "web"'
38
36
 
39
- variables:
40
- DOCKER_DRIVER: overlay2
41
- DOCKER_HOST: tcp://docker:2375
42
- QA_ARTIFACTS_DIR: $CI_PROJECT_DIR
43
- QA_CAN_TEST_GIT_PROTOCOL_V2: "true"
44
- QA_CAN_TEST_PRAEFECT: "false"
45
- QA_GENERATE_ALLURE_REPORT: "true"
46
- QA_TESTCASES_REPORTING_PROJECT: "gitlab-org/gitlab"
47
- QA_TEST_RESULTS_ISSUES_PROJECT: "gitlab-org/quality/testcases"
48
- QA_TESTCASE_SESSIONS_PROJECT: "gitlab-org/quality/testcase-sessions"
49
- # QA_DEFAULT_BRANCH is the default branch name of the instance under test.
50
- QA_DEFAULT_BRANCH: "master"
51
- # TOP_UPSTREAM_DEFAULT_BRANCH is the default branch name of the original project that triggered a pipeline in this project.
52
- TOP_UPSTREAM_DEFAULT_BRANCH: "master"
53
-
54
37
  .check-base:
55
38
  stage: check
56
39
  script:
@@ -62,1329 +45,130 @@ rubocop:
62
45
  rspec:
63
46
  extends: .check-base
64
47
 
65
- .test:
66
- stage: test
67
- timeout: 1 hour 30 minutes
68
- services:
69
- - docker:20.10.5-dind
70
- tags:
71
- - gitlab-org
72
- - docker
48
+ prepare:
49
+ stage: generate
50
+ extends: .rules:never-on-version-change-or-tag
51
+ script:
52
+ - 'export QA_IMAGE_TAG=${TOP_UPSTREAM_SOURCE_REF:=master} && echo "QA_IMAGE_TAG=$QA_IMAGE_TAG" >> prep_vars.env'
53
+ - 'echo $QA_IMAGE_TAG'
73
54
  artifacts:
74
- when: always
75
- expire_in: 10d
55
+ reports:
56
+ dotenv: prep_vars.env
76
57
  paths:
77
- - gitlab-qa-run-*
58
+ - prep_vars.env
59
+
60
+ generate-jobs:
61
+ stage: generate
62
+ extends: .rules:never-on-version-change-or-tag
63
+ script:
64
+ # TOP_UPSTREAM_DEFAULT_BRANCH is the default branch name of the original project that triggered a pipeline in this project.
65
+ - 'export TOP_UPSTREAM_DEFAULT_BRANCH=${TOP_UPSTREAM_DEFAULT_BRANCH:=master} && echo "TOP_UPSTREAM_DEFAULT_BRANCH=$TOP_UPSTREAM_DEFAULT_BRANCH" >> variables.env'
66
+ - 'echo "RELEASE=$RELEASE" >> variables.env'
67
+ - 'echo "GITLAB_QA_OPTIONS=$GITLAB_QA_OPTIONS" >> variables.env'
68
+ - 'echo "QA_TESTS=$QA_TESTS" >> variables.env'
69
+ - 'echo "KNAPSACK_GENERATE_REPORT=$KNAPSACK_GENERATE_REPORT" >> variables.env'
70
+ - 'echo "TOP_UPSTREAM_SOURCE_JOB=$TOP_UPSTREAM_SOURCE_JOB" >> variables.env'
71
+ - 'echo "TOP_UPSTREAM_SOURCE_REF=$TOP_UPSTREAM_SOURCE_REF" >> variables.env'
72
+ - 'echo "DISABLE_RELATING_FAILURE_ISSUES=$DISABLE_RELATING_FAILURE_ISSUES" >> variables.env'
73
+ - 'echo "TOP_UPSTREAM_SOURCE_PROJECT=$TOP_UPSTREAM_SOURCE_PROJECT" >> variables.env'
74
+ - 'echo "TOP_UPSTREAM_SOURCE_SHA=$TOP_UPSTREAM_SOURCE_SHA" >> variables.env'
75
+ - 'echo "NOTIFY_CHANNEL=$NOTIFY_CHANNEL" >> variables.env'
76
+ - 'echo "QA_IMAGE=$QA_IMAGE" >> variables.env'
77
+ - 'echo "EE_LICENSE=$EE_LICENSE" >> variables.env'
78
+ - 'echo "TOP_UPSTREAM_MERGE_REQUEST_IID=$TOP_UPSTREAM_MERGE_REQUEST_IID" >> variables.env'
79
+ - 'echo "ALLURE_JOB_NAME=$ALLURE_JOB_NAME" >> variables.env'
80
+
81
+ - ./scripts/generate-qa-jobs.rb
82
+ - cat generated-qa-jobs.yml
83
+ artifacts:
78
84
  reports:
79
- junit: gitlab-qa-run-*/**/rspec-*.xml
80
- script:
81
- - '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"'
82
- - 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=$?
83
- - bundle exec exe/gitlab-qa-report --update-screenshot-path "gitlab-qa-run-*/**/rspec-*.xml"
84
- - export GITLAB_QA_ACCESS_TOKEN="$GITLAB_QA_PRODUCTION_ACCESS_TOKEN"
85
- - 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
86
- - exit $test_run_exit_code
87
-
88
- # For jobs that shouldn't report results in issues, e.g., manually run custom jobs
89
- .no-issue-report-script:
90
- script:
91
- - '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"'
92
- - bundle exec exe/gitlab-qa ${QA_SCENARIO:=Test::Instance::Image} ${RELEASE:=$DEFAULT_RELEASE} $GITLAB_QA_OPTIONS -- $QA_TESTS $QA_RSPEC_TAGS $RSPEC_REPORT_OPTS
93
-
94
- # For jobs that provide additional GITLAB_QA_OPTIONS, e.g., jobs that include --omnibus-config
95
- .combined-gitlab-qa-options-script:
96
- script:
97
- - '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"'
98
- - 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=$?
99
- - bundle exec exe/gitlab-qa-report --update-screenshot-path "gitlab-qa-run-*/**/rspec-*.xml"
100
- - export GITLAB_QA_ACCESS_TOKEN="$GITLAB_QA_PRODUCTION_ACCESS_TOKEN"
101
- - 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
102
- - exit $test_run_exit_code
103
-
104
- # The Test::Omnibus::Update scenarios require the release to be specified twice, which can't be done dynamically using the `variables` parameter
105
- # So instead we can use this script with two release variables
106
- .update-scenario-script:
107
- script:
108
- - '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"'
109
- - 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=$?
110
- - bundle exec exe/gitlab-qa-report --update-screenshot-path "gitlab-qa-run-*/**/rspec-*.xml"
111
- - export GITLAB_QA_ACCESS_TOKEN="$GITLAB_QA_PRODUCTION_ACCESS_TOKEN"
112
- - 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
113
- - exit $test_run_exit_code
114
-
115
- .ce-variables:
116
- variables:
117
- DEFAULT_RELEASE: "CE"
118
-
119
- .ee-variables:
120
- variables:
121
- DEFAULT_RELEASE: "EE"
122
-
123
- .high-capacity:
124
- tags:
125
- - docker
126
- - 7gb
127
- - triggered-packages
128
-
129
- .rspec-report-opts:
130
- variables:
131
- FILE_SAFE_JOB_NAME: $(echo $CI_JOB_NAME | sed 's/[ /]/_/g')
132
- 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"
133
-
134
- .quarantine:
135
- allow_failure: true
136
- variables:
137
- QA_RSPEC_TAGS: "--tag quarantine"
138
-
139
- # 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
140
- ce:sanity-framework:
141
- variables:
142
- QA_GENERATE_ALLURE_REPORT: "false"
143
- QA_EXPORT_TEST_METRICS: "false"
144
- script:
145
- - ./bin/expect_exit_code_and_text "bundle exec exe/gitlab-qa Test::Instance::Image ${RELEASE:=CE} -- --tag framework" 1 "2 examples, 1 failure"
146
- extends:
147
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
148
- - .test
149
- - .high-capacity
150
- - .ce-variables
151
-
152
- ee:sanity-framework:
85
+ dotenv: variables.env
86
+ paths:
87
+ - generated-qa-jobs.yml
88
+ - variables.env
89
+ expire_in: 2 days
90
+ needs:
91
+ - job: generate-count-example-files
92
+ artifacts: true
93
+
94
+ generate-count-example-files:
95
+ stage: generate
96
+ extends: .rules:never-on-version-change-or-tag
97
+ image:
98
+ name: $CI_REGISTRY/gitlab-org/gitlab/gitlab-ee-qa:$QA_IMAGE_TAG
99
+ entrypoint: [ "" ]
153
100
  variables:
154
- QA_GENERATE_ALLURE_REPORT: "false"
155
101
  QA_EXPORT_TEST_METRICS: "false"
156
- script:
157
- - ./bin/expect_exit_code_and_text "bundle exec exe/gitlab-qa Test::Instance::Image ${RELEASE:=EE} -- --tag framework" 1 "2 examples, 1 failure"
158
- extends:
159
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
160
- - .test
161
- - .high-capacity
162
- - .ee-variables
163
-
164
- ce:custom-parallel:
165
- extends:
166
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
167
- - .test
168
- - .high-capacity
169
- - .rspec-report-opts
170
- - .no-issue-report-script
171
- - .ce-variables
172
- allow_failure: true
173
- parallel: 10
174
-
175
- ee:custom-parallel:
176
- extends:
177
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
178
- - .test
179
- - .high-capacity
180
- - .ee-variables
181
- - .rspec-report-opts
182
- - .no-issue-report-script
183
- allow_failure: true
184
- parallel: 10
185
-
186
- ce:instance-parallel:
187
- extends:
188
- - .rules:ce-never-when-qa-tests-specified
189
- - .test
190
- - .high-capacity
191
- - .ce-variables
192
- - .rspec-report-opts
193
- parallel: 5
194
-
195
- ce:instance:
196
- extends:
197
- - .rules:ce-never-when-qa-tests-not-specified
198
- - .test
199
- - .high-capacity
200
- - .ce-variables
201
- - .rspec-report-opts
202
-
203
- ce:instance-quarantine:
204
- extends:
205
- - .rules:ce-qa
206
- - .test
207
- - .high-capacity
208
- - .ce-variables
209
- - .quarantine
210
- - .rspec-report-opts
211
- variables:
212
- QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
213
-
214
- ee:instance-parallel:
215
- extends:
216
- - .rules:ee-never-when-qa-tests-specified
217
- - .test
218
- - .high-capacity
219
- - .ee-variables
220
- - .rspec-report-opts
221
- parallel: 5
222
-
223
- ee:instance:
224
- extends:
225
- - .rules:ee-never-when-qa-tests-not-specified
226
- - .test
227
- - .high-capacity
228
- - .ee-variables
229
- - .rspec-report-opts
230
-
231
- ee:instance-quarantine:
232
- extends:
233
- - .rules:ee-qa
234
- - .test
235
- - .high-capacity
236
- - .ee-variables
237
- - .quarantine
238
- - .rspec-report-opts
239
- variables:
240
- QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
241
-
242
- ce:relative_url-parallel:
243
- extends:
244
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-specified
245
- - .test
246
- - .high-capacity
247
- - .ce-variables
248
- - .rspec-report-opts
249
- parallel: 5
250
- variables:
251
- QA_SCENARIO: "Test::Instance::RelativeUrl"
252
-
253
- ce:relative_url:
254
- extends:
255
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-not-specified
256
- - .test
257
- - .high-capacity
258
- - .ce-variables
259
- - .rspec-report-opts
260
- variables:
261
- QA_SCENARIO: "Test::Instance::RelativeUrl"
262
-
263
- ce:relative_url-quarantine:
264
- extends:
265
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
266
- - .test
267
- - .high-capacity
268
- - .ce-variables
269
- - .quarantine
270
- - .rspec-report-opts
271
- variables:
272
- QA_SCENARIO: "Test::Instance::RelativeUrl"
273
- QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
274
-
275
- ee:relative_url-parallel:
276
- extends:
277
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-specified
278
- - .test
279
- - .high-capacity
280
- - .ee-variables
281
- - .rspec-report-opts
282
- parallel: 5
283
- variables:
284
- QA_SCENARIO: "Test::Instance::RelativeUrl"
285
-
286
- ee:relative_url:
287
- extends:
288
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-not-specified
289
- - .test
290
- - .high-capacity
291
- - .ee-variables
292
- - .rspec-report-opts
293
- variables:
294
- QA_SCENARIO: "Test::Instance::RelativeUrl"
295
-
296
- ee:relative_url-quarantine:
297
- extends:
298
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
299
- - .test
300
- - .high-capacity
301
- - .ee-variables
302
- - .quarantine
303
- - .rspec-report-opts
304
- variables:
305
- QA_SCENARIO: "Test::Instance::RelativeUrl"
306
- QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
307
-
308
- ce:repository_storage:
309
- extends:
310
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
311
- - .test
312
- - .high-capacity
313
- - .ce-variables
314
- - .rspec-report-opts
315
- variables:
316
- QA_SCENARIO: "Test::Instance::RepositoryStorage"
317
-
318
- ce:repository_storage-quarantine:
319
- extends:
320
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
321
- - .test
322
- - .high-capacity
323
- - .ce-variables
324
- - .quarantine
325
- - .rspec-report-opts
326
- variables:
327
- QA_SCENARIO: "Test::Instance::RepositoryStorage"
328
-
329
- ee:repository_storage:
330
- extends:
331
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
332
- - .test
333
- - .high-capacity
334
- - .ee-variables
335
- - .rspec-report-opts
336
- variables:
337
- QA_SCENARIO: "Test::Instance::RepositoryStorage"
338
-
339
- ee:repository_storage-quarantine:
340
- extends:
341
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
342
- - .test
343
- - .high-capacity
344
- - .ee-variables
345
- - .quarantine
346
- - .rspec-report-opts
347
- variables:
348
- QA_SCENARIO: "Test::Instance::RepositoryStorage"
349
-
350
- # The Test::Omnibus::Image scenarios don't run the E2E tests so they don't need to report test results
351
- ce:image:
352
- script:
353
- - bundle exec exe/gitlab-qa Test::Omnibus::Image ${RELEASE:=CE}
354
- extends:
355
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
356
- - .test
357
- - .ce-variables
358
-
359
- ee:image:
360
- script:
361
- - bundle exec exe/gitlab-qa Test::Omnibus::Image ${RELEASE:=EE}
362
- extends:
363
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
364
- - .test
365
- - .ee-variables
366
-
367
- ce:update-parallel:
368
- extends:
369
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-specified
370
- - .test
371
- - .high-capacity
372
- - .ce-variables
373
- - .rspec-report-opts
374
- - .update-scenario-script
375
- parallel: 5
376
-
377
- ce:update:
378
- extends:
379
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-not-specified
380
- - .test
381
- - .high-capacity
382
- - .ce-variables
383
- - .rspec-report-opts
384
- - .update-scenario-script
385
-
386
- ce:update-quarantine:
387
- extends:
388
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
389
- - .test
390
- - .high-capacity
391
- - .ce-variables
392
- - .quarantine
393
- - .rspec-report-opts
394
- - .update-scenario-script
395
- variables:
396
- QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
397
-
398
- ee:update-parallel:
399
- extends:
400
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-specified
401
- - .test
402
- - .high-capacity
403
- - .ee-variables
404
- - .rspec-report-opts
405
- - .update-scenario-script
406
- parallel: 10
407
-
408
- ee:update:
409
- extends:
410
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-not-specified
411
- - .test
412
- - .high-capacity
413
- - .ee-variables
414
- - .rspec-report-opts
415
- - .update-scenario-script
416
-
417
- ee:update-quarantine:
418
- extends:
419
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
420
- - .test
421
- - .high-capacity
422
- - .ee-variables
423
- - .quarantine
424
- - .rspec-report-opts
425
- variables:
426
- QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
427
-
428
- # 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
429
- ce:upgrade-parallel:
430
- script:
431
- - bundle exec exe/gitlab-qa Test::Omnibus::Upgrade CE -- $RSPEC_REPORT_OPTS
432
- extends:
433
- - .rules:only-qa-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-specified
434
- - .test
435
- - .high-capacity
436
- - .rspec-report-opts
437
- parallel: 5
438
-
439
- ce:upgrade:
440
- script:
441
- - bundle exec exe/gitlab-qa Test::Omnibus::Upgrade CE -- $RSPEC_REPORT_OPTS
442
- extends:
443
- - .rules:only-qa-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-not-specified
444
- - .test
445
- - .high-capacity
446
- - .rspec-report-opts
447
-
448
- ce:upgrade-quarantine:
449
- script:
450
- - bundle exec exe/gitlab-qa Test::Omnibus::Upgrade CE -- --tag quarantine --tag ~orchestrated $RSPEC_REPORT_OPTS
451
- extends:
452
- - .rules:only-qa-never-when-triggered-by-feature-flag-definition-change
453
- - .test
454
- - .high-capacity
455
- - .quarantine
456
- - .rspec-report-opts
457
-
458
- ee-previous-to-ce:update:
459
- script:
460
- - bundle exec exe/gitlab-qa Test::Omnibus::Update EE CE -- $RSPEC_REPORT_OPTS
461
- extends:
462
- - .rules:only-qa-never-when-triggered-by-feature-flag-definition-change
463
- - .test
464
- - .high-capacity
465
- - .rspec-report-opts
466
-
467
- ee-previous-to-ce:update-quarantine:
468
- script:
469
- - bundle exec exe/gitlab-qa Test::Omnibus::Update EE CE -- --tag quarantine --tag ~orchestrated $RSPEC_REPORT_OPTS
470
- extends:
471
- - .rules:only-qa-never-when-triggered-by-feature-flag-definition-change
472
- - .test
473
- - .high-capacity
474
- - .quarantine
475
- - .rspec-report-opts
476
-
477
- ce:mattermost:
478
- extends:
479
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
480
- - .test
481
- - .high-capacity
482
- - .ce-variables
483
- - .rspec-report-opts
484
- variables:
485
- QA_SCENARIO: "Test::Integration::Mattermost"
486
-
487
- ce:mattermost-quarantine:
488
- extends:
489
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
490
- - .test
491
- - .high-capacity
492
- - .ce-variables
493
- - .quarantine
494
- - .rspec-report-opts
495
- variables:
496
- QA_SCENARIO: "Test::Integration::Mattermost"
497
-
498
- ee:mattermost:
499
- extends:
500
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
501
- - .test
502
- - .high-capacity
503
- - .ee-variables
504
- - .rspec-report-opts
505
- variables:
506
- QA_SCENARIO: "Test::Integration::Mattermost"
507
-
508
- ee:mattermost-quarantine:
509
- extends:
510
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
511
- - .test
512
- - .high-capacity
513
- - .ee-variables
514
- - .quarantine
515
- - .rspec-report-opts
516
- variables:
517
- QA_SCENARIO: "Test::Integration::Mattermost"
518
-
519
- ce:service_ping_disabled:
520
- extends:
521
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
522
- - .test
523
- - .high-capacity
524
- - .ce-variables
525
- - .rspec-report-opts
526
- variables:
527
- QA_SCENARIO: "Test::Integration::ServicePingDisabled"
528
-
529
- ee:service_ping_disabled:
530
- extends:
531
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
532
- - .test
533
- - .high-capacity
534
- - .ee-variables
535
- - .rspec-report-opts
536
- variables:
537
- QA_SCENARIO: "Test::Integration::ServicePingDisabled"
538
-
539
- # Disabling geo jobs temporarily due to https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/774
540
- # ee:geo:
541
- # extends:
542
- # - .test
543
- # - .ee-variables
544
- # - .rules:ee-never-when-triggered-by-feature-flag-definition-change
545
- # - .rspec-report-opts
546
- # variables:
547
- # QA_SCENARIO: "Test::Integration::Geo"
548
-
549
- # ee:geo-quarantine:
550
- # extends:
551
- # - .test
552
- # - .ee-variables
553
- # - .rules:ee-never-when-triggered-by-feature-flag-definition-change
554
- # - .quarantine
555
- # - .rspec-report-opts
556
- # variables:
557
- # QA_SCENARIO: "Test::Integration::Geo"
558
-
559
- ce:ldap_no_tls:
560
- extends:
561
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
562
- - .test
563
- - .high-capacity
564
- - .ce-variables
565
- - .rspec-report-opts
566
- variables:
567
- QA_SCENARIO: "Test::Integration::LDAPNoTLS"
568
-
569
- ce:ldap_no_tls-quarantine:
570
- extends:
571
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
572
- - .test
573
- - .high-capacity
574
- - .ce-variables
575
- - .quarantine
576
- - .rspec-report-opts
577
- variables:
578
- QA_SCENARIO: "Test::Integration::LDAPNoTLS"
579
-
580
- ee:ldap_no_tls:
581
- extends:
582
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
583
- - .test
584
- - .high-capacity
585
- - .ee-variables
586
- - .rspec-report-opts
587
- variables:
588
- QA_SCENARIO: "Test::Integration::LDAPNoTLS"
589
-
590
- ee:ldap_no_tls-quarantine:
591
- extends:
592
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
593
- - .test
594
- - .high-capacity
595
- - .ee-variables
596
- - .quarantine
597
- - .rspec-report-opts
598
- variables:
599
- QA_SCENARIO: "Test::Integration::LDAPNoTLS"
600
-
601
- ce:ldap_tls:
602
- extends:
603
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
604
- - .test
605
- - .high-capacity
606
- - .ce-variables
607
- - .rspec-report-opts
608
- variables:
609
- QA_SCENARIO: "Test::Integration::LDAPTLS"
610
-
611
- ce:ldap_tls-quarantine:
612
- extends:
613
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
614
- - .test
615
- - .high-capacity
616
- - .ce-variables
617
- - .quarantine
618
- - .rspec-report-opts
619
- variables:
620
- QA_SCENARIO: "Test::Integration::LDAPTLS"
621
-
622
- ee:ldap_tls:
623
- extends:
624
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
625
- - .test
626
- - .high-capacity
627
- - .ee-variables
628
- - .rspec-report-opts
629
- variables:
630
- QA_SCENARIO: "Test::Integration::LDAPTLS"
631
-
632
- ee:ldap_tls-quarantine:
633
- extends:
634
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
635
- - .test
636
- - .high-capacity
637
- - .ee-variables
638
- - .quarantine
639
- - .rspec-report-opts
640
- variables:
641
- QA_SCENARIO: "Test::Integration::LDAPTLS"
642
-
643
- ee:ldap_no_server:
644
- extends:
645
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
646
- - .test
647
- - .high-capacity
648
- - .ee-variables
649
- - .rspec-report-opts
650
- variables:
651
- QA_SCENARIO: "Test::Integration::LDAPNoServer"
652
-
653
- ee:ldap_no_server-quarantine:
654
- extends:
655
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
656
- - .test
657
- - .high-capacity
658
- - .ee-variables
659
- - .quarantine
660
- - .rspec-report-opts
661
- variables:
662
- QA_SCENARIO: "Test::Integration::LDAPNoServer"
663
-
664
- ce:instance_saml:
665
- extends:
666
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
667
- - .test
668
- - .high-capacity
669
- - .ce-variables
670
- - .rspec-report-opts
671
- variables:
672
- QA_SCENARIO: "Test::Integration::InstanceSAML"
673
-
674
- ce:instance_saml-quarantine:
675
- extends:
676
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
677
- - .test
678
- - .high-capacity
679
- - .ce-variables
680
- - .quarantine
681
- - .rspec-report-opts
682
- variables:
683
- QA_SCENARIO: "Test::Integration::InstanceSAML"
684
-
685
- ee:instance_saml:
686
- extends:
687
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
688
- - .test
689
- - .high-capacity
690
- - .ee-variables
691
- - .rspec-report-opts
692
- variables:
693
- QA_SCENARIO: "Test::Integration::InstanceSAML"
694
-
695
- ee:instance_saml-quarantine:
696
- extends:
697
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
698
- - .test
699
- - .high-capacity
700
- - .ee-variables
701
- - .quarantine
702
- - .rspec-report-opts
703
- variables:
704
- QA_SCENARIO: "Test::Integration::InstanceSAML"
705
-
706
- ee:group_saml:
707
- extends:
708
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
709
- - .test
710
- - .high-capacity
711
- - .ee-variables
712
- - .rspec-report-opts
713
- variables:
714
- QA_SCENARIO: "Test::Integration::GroupSAML"
715
-
716
- ee:group_saml-quarantine:
717
- extends:
718
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
719
- - .test
720
- - .high-capacity
721
- - .ee-variables
722
- - .quarantine
723
- - .rspec-report-opts
724
- variables:
725
- QA_SCENARIO: "Test::Integration::GroupSAML"
726
-
727
- ce:object_storage:
728
- extends:
729
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
730
- - .test
731
- - .high-capacity
732
- - .ce-variables
733
- - .rspec-report-opts
734
- - .combined-gitlab-qa-options-script
735
- variables:
736
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config object_storage"
737
-
738
- ce:object_storage-quarantine:
739
- extends:
740
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
741
- - .test
742
- - .high-capacity
743
- - .ce-variables
744
- - .quarantine
745
- - .rspec-report-opts
746
- - .combined-gitlab-qa-options-script
747
- variables:
748
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config object_storage"
749
-
750
- ee:object_storage_aws:
751
- extends:
752
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
753
- - .test
754
- - .high-capacity
755
- - .ee-variables
756
- - .rspec-report-opts
757
- - .combined-gitlab-qa-options-script
758
- variables:
759
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config object_storage_aws"
760
- QA_RSPEC_TAGS: "--tag object_storage"
761
-
762
- ee:object_storage_aws-quarantine:
763
- extends:
764
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
765
- - .test
766
- - .high-capacity
767
- - .ee-variables
768
- - .quarantine
769
- - .rspec-report-opts
770
- - .combined-gitlab-qa-options-script
771
- variables:
772
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config object_storage_aws"
773
- QA_RSPEC_TAGS: "--tag quarantine --tag object_storage"
774
-
775
- ee:object_storage_gcs:
776
- extends:
777
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
778
- - .test
779
- - .high-capacity
780
- - .ee-variables
781
- - .rspec-report-opts
782
- variables:
783
- GITLAB_QA_OPTS: "--omnibus-config object_storage_gcs"
784
- QA_RSPEC_TAGS: "--tag object_storage"
785
-
786
- ee:object_storage_gcs-quarantine:
787
- extends:
788
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
789
- - .test
790
- - .high-capacity
791
- - .ee-variables
792
- - .quarantine
793
- - .rspec-report-opts
794
- variables:
795
- GITLAB_QA_OPTS: "--omnibus-config object_storage_gcs"
796
- QA_RSPEC_TAGS: "--tag quarantine --tag object_storage"
797
-
798
- ee:object_storage:
799
- extends:
800
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
801
- - .test
802
- - .high-capacity
803
- - .ee-variables
804
- - .rspec-report-opts
805
- - .combined-gitlab-qa-options-script
806
- variables:
807
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config object_storage"
808
- QA_RSPEC_TAGS: "--tag object_storage"
809
-
810
- ee:object_storage-quarantine:
811
- extends:
812
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
813
- - .test
814
- - .high-capacity
815
- - .ee-variables
816
- - .quarantine
817
- - .rspec-report-opts
818
- - .combined-gitlab-qa-options-script
819
- variables:
820
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config object_storage"
821
- QA_RSPEC_TAGS: "--tag quarantine --tag object_storage"
822
-
823
- ee:packages:
824
- extends:
825
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
826
- - .test
827
- - .high-capacity
828
- - .ee-variables
829
- - .rspec-report-opts
830
- - .combined-gitlab-qa-options-script
831
- variables:
832
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config packages"
833
- QA_RSPEC_TAGS: "--tag packages"
834
-
835
- ee:packages-quarantine:
836
- extends:
837
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
838
- - .test
839
- - .high-capacity
840
- - .ee-variables
841
- - .quarantine
842
- - .rspec-report-opts
843
- - .combined-gitlab-qa-options-script
844
- variables:
845
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config packages"
846
- QA_RSPEC_TAGS: "--tag quarantine --tag packages"
847
-
848
- ce:object_storage_registry_tls:
849
- extends:
850
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
851
- - .test
852
- - .high-capacity
853
- - .ce-variables
854
- - .rspec-report-opts
855
- variables:
856
- QA_SCENARIO: "Test::Integration::RegistryTLS --omnibus-config registry_object_storage"
857
-
858
- ce:object_storage_registry_tls-quarantine:
859
- extends:
860
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
861
- - .test
862
- - .high-capacity
863
- - .ce-variables
864
- - .quarantine
865
- - .rspec-report-opts
866
- variables:
867
- QA_SCENARIO: "Test::Integration::RegistryTLS --omnibus-config registry_object_storage"
868
-
869
- ee:object_storage_registry_tls:
870
- extends:
871
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
872
- - .test
873
- - .ee-variables
874
- - .high-capacity
875
- - .rspec-report-opts
876
- variables:
877
- QA_SCENARIO: "Test::Integration::RegistryTLS --omnibus-config registry_object_storage"
878
-
879
- ee:object_storage_registry_tls-quarantine:
880
- extends:
881
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
882
- - .test
883
- - .high-capacity
884
- - .ee-variables
885
- - .quarantine
886
- - .rspec-report-opts
887
- variables:
888
- QA_SCENARIO: "Test::Integration::RegistryTLS --omnibus-config registry_object_storage"
889
-
890
- ce:registry:
891
- extends:
892
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
893
- - .test
894
- - .high-capacity
895
- - .ce-variables
896
- - .rspec-report-opts
897
- variables:
898
- QA_SCENARIO: "Test::Integration::Registry"
899
-
900
- ce:registry-quarantine:
901
- extends:
902
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
903
- - .test
904
- - .high-capacity
905
- - .ce-variables
906
- - .quarantine
907
- - .rspec-report-opts
908
- variables:
909
- QA_SCENARIO: "Test::Integration::Registry"
910
-
911
- ee:registry:
912
- extends:
913
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
914
- - .test
915
- - .high-capacity
916
- - .ee-variables
917
- - .rspec-report-opts
918
- variables:
919
- QA_SCENARIO: "Test::Integration::Registry"
920
-
921
- ee:registry-quarantine:
922
- extends:
923
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
924
- - .test
925
- - .high-capacity
926
- - .ee-variables
927
- - .quarantine
928
- - .rspec-report-opts
929
- variables:
930
- QA_SCENARIO: "Test::Integration::Registry"
931
-
932
- ce:actioncable:
933
- extends:
934
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
935
- - .test
936
- - .high-capacity
937
- - .ce-variables
938
- - .rspec-report-opts
939
- variables:
940
- QA_SCENARIO: "Test::Integration::Actioncable"
941
-
942
- ce:actioncable-quarantine:
943
- extends:
944
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
945
- - .test
946
- - .high-capacity
947
- - .ce-variables
948
- - .quarantine
949
- - .rspec-report-opts
950
- variables:
951
- QA_SCENARIO: "Test::Integration::Actioncable"
952
-
953
- ee:actioncable:
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::Actioncable"
962
-
963
- ee:actioncable-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::Actioncable"
973
-
974
- ee:elasticsearch:
975
- extends:
976
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
977
- - .test
978
- - .high-capacity
979
- - .ee-variables
980
- - .rspec-report-opts
981
- variables:
982
- QA_SCENARIO: "Test::Integration::Elasticsearch"
983
-
984
- ee:elasticsearch-quarantine:
985
- extends:
986
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
987
- - .test
988
- - .high-capacity
989
- - .ee-variables
990
- - .quarantine
991
- - .rspec-report-opts
992
- variables:
993
- QA_SCENARIO: "Test::Integration::Elasticsearch"
994
-
995
- ce:praefect-parallel:
996
- extends:
997
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-specified
998
- - .test
999
- - .high-capacity
1000
- - .ce-variables
1001
- - .rspec-report-opts
1002
- parallel: 5
1003
- variables:
1004
- QA_SCENARIO: "Test::Integration::Praefect"
1005
- QA_CAN_TEST_PRAEFECT: "true"
1006
-
1007
- ce:praefect:
1008
- extends:
1009
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-not-specified
1010
- - .test
1011
- - .high-capacity
1012
- - .ce-variables
1013
- - .rspec-report-opts
1014
- variables:
1015
- QA_SCENARIO: "Test::Integration::Praefect"
1016
- QA_CAN_TEST_PRAEFECT: "true"
1017
-
1018
- ce:praefect-quarantine:
1019
- extends:
1020
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1021
- - .test
1022
- - .high-capacity
1023
- - .ce-variables
1024
- - .quarantine
1025
- - .rspec-report-opts
1026
- variables:
1027
- QA_SCENARIO: "Test::Integration::Praefect"
1028
- QA_CAN_TEST_PRAEFECT: "true"
1029
- QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
1030
-
1031
- ee:praefect-parallel:
1032
- extends:
1033
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-specified
1034
- - .test
1035
- - .high-capacity
1036
- - .ee-variables
1037
- - .rspec-report-opts
1038
- parallel: 10
1039
- variables:
1040
- QA_SCENARIO: "Test::Integration::Praefect"
1041
- QA_CAN_TEST_PRAEFECT: "true"
1042
-
1043
- ee:praefect:
1044
- extends:
1045
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-not-specified
1046
- - .test
1047
- - .high-capacity
1048
- - .ee-variables
1049
- - .rspec-report-opts
1050
- variables:
1051
- QA_SCENARIO: "Test::Integration::Praefect"
1052
- QA_CAN_TEST_PRAEFECT: "true"
1053
-
1054
- ee:praefect-quarantine:
1055
- extends:
1056
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1057
- - .test
1058
- - .high-capacity
1059
- - .ee-variables
1060
- - .quarantine
1061
- - .rspec-report-opts
1062
- variables:
1063
- QA_SCENARIO: "Test::Integration::Praefect"
1064
- QA_CAN_TEST_PRAEFECT: "true"
1065
- QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
1066
-
1067
- ce:gitaly-cluster:
1068
- extends:
1069
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1070
- - .test
1071
- - .high-capacity
1072
- - .ce-variables
1073
- - .rspec-report-opts
1074
- variables:
1075
- QA_SCENARIO: "Test::Integration::GitalyCluster"
1076
- QA_LOG_PATH: "tmp/gitaly_cluster.log"
1077
-
1078
- ce:gitaly-cluster-quarantine:
1079
- extends:
1080
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1081
- - .test
1082
- - .high-capacity
1083
- - .ce-variables
1084
- - .quarantine
1085
- - .rspec-report-opts
1086
- variables:
1087
- QA_SCENARIO: "Test::Integration::GitalyCluster"
1088
- QA_LOG_PATH: "tmp/gitaly_cluster.log"
1089
-
1090
- ee:gitaly-cluster:
1091
- extends:
1092
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1093
- - .test
1094
- - .high-capacity
1095
- - .ee-variables
1096
- - .rspec-report-opts
1097
- variables:
1098
- QA_SCENARIO: "Test::Integration::GitalyCluster"
1099
- QA_LOG_PATH: "tmp/gitaly_cluster.log"
1100
-
1101
- ee:gitaly-cluster-quarantine:
1102
- extends:
1103
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1104
- - .test
1105
- - .high-capacity
1106
- - .ee-variables
1107
- - .quarantine
1108
- - .rspec-report-opts
1109
- variables:
1110
- QA_SCENARIO: "Test::Integration::GitalyCluster"
1111
- QA_LOG_PATH: "tmp/gitaly_cluster.log"
1112
-
1113
- ce:mtls:
1114
- extends:
1115
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1116
- - .test
1117
- - .ce-variables
1118
- - .rspec-report-opts
1119
- variables:
1120
- QA_SCENARIO: "Test::Integration::MTLS"
1121
-
1122
- ee:mtls:
1123
- extends:
1124
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1125
- - .test
1126
- - .ee-variables
1127
- - .rspec-report-opts
1128
- variables:
1129
- QA_SCENARIO: "Test::Integration::MTLS"
1130
-
1131
- ce:smtp:
1132
- extends:
1133
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1134
- - .test
1135
- - .high-capacity
1136
- - .ce-variables
1137
- - .rspec-report-opts
1138
- variables:
1139
- QA_SCENARIO: "Test::Integration::SMTP"
1140
-
1141
- ee:smtp:
1142
- extends:
1143
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1144
- - .test
1145
- - .high-capacity
1146
- - .ee-variables
1147
- - .rspec-report-opts
1148
- variables:
1149
- QA_SCENARIO: "Test::Integration::SMTP"
1150
-
1151
- ce:jira:
1152
- extends:
1153
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1154
- - .test
1155
- - .high-capacity
1156
- - .ce-variables
1157
- - .rspec-report-opts
1158
- variables:
1159
- QA_SCENARIO: "Test::Integration::Jira"
1160
-
1161
- ce:jira-quarantine:
1162
- extends:
1163
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1164
- - .test
1165
- - .high-capacity
1166
- - .ce-variables
1167
- - .quarantine
1168
- - .rspec-report-opts
1169
- variables:
1170
- QA_SCENARIO: "Test::Integration::Jira"
1171
-
1172
- ee:jira:
1173
- extends:
1174
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1175
- - .test
1176
- - .high-capacity
1177
- - .ee-variables
1178
- - .rspec-report-opts
1179
- variables:
1180
- QA_SCENARIO: "Test::Integration::Jira"
1181
-
1182
- ee:jira-quarantine:
1183
- extends:
1184
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1185
- - .test
1186
- - .high-capacity
1187
- - .ee-variables
1188
- - .quarantine
1189
- - .rspec-report-opts
1190
- variables:
1191
- QA_SCENARIO: "Test::Integration::Jira"
1192
-
1193
- ce:integrations:
1194
- extends:
1195
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1196
- - .test
1197
- - .high-capacity
1198
- - .ce-variables
1199
- - .rspec-report-opts
1200
- variables:
1201
- QA_SCENARIO: "Test::Integration::Integrations"
1202
-
1203
- ce:integrations-quarantine:
1204
- extends:
1205
- - ce:integrations
1206
- - .quarantine
1207
-
1208
- ce:large-setup:
1209
- extends:
1210
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1211
- - .test
1212
- - .high-capacity
1213
- - .ce-variables
1214
- - .rspec-report-opts
1215
- variables:
1216
- QA_RSPEC_TAGS: "--tag can_use_large_setup"
1217
-
1218
- ee:large-setup:
1219
- extends:
1220
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1221
- - .test
1222
- - .high-capacity
1223
- - .ee-variables
1224
- - .rspec-report-opts
1225
- variables:
1226
- QA_RSPEC_TAGS: "--tag can_use_large_setup"
1227
-
1228
- ee:cloud-activation:
1229
- before_script:
1230
- - unset EE_LICENSE
1231
- - !reference [default, before_script]
1232
- extends:
1233
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1234
- - .test
1235
- - .high-capacity
1236
- - .ee-variables
1237
- - .rspec-report-opts
1238
- variables:
1239
- QA_RSPEC_TAGS: "--tag cloud_activation"
1240
-
1241
- ee:cloud-activation-quarantine:
102
+ needs:
103
+ - prepare
1242
104
  before_script:
1243
- - unset EE_LICENSE
1244
- - !reference [default, before_script]
1245
- extends:
1246
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1247
- - .test
1248
- - .high-capacity
1249
- - .ee-variables
1250
- - .quarantine
1251
- - .rspec-report-opts
1252
- variables:
1253
- QA_RSPEC_TAGS: "--tag cloud_activation"
1254
-
1255
- # This job requires the `GITLAB_QA_ACCESS_TOKEN` and `GITLAB_QA_DEV_ACCESS_TOKEN`
1256
- # variable to be passed when triggered.
1257
- staging:
1258
- script:
1259
- - unset EE_LICENSE
1260
- - 'echo "Running: bundle exec exe/gitlab-qa Test::Instance::Staging ${RELEASE:=$DEFAULT_RELEASE} -- $QA_TESTS $QA_RSPEC_TAGS"'
1261
- - bundle exec exe/gitlab-qa Test::Instance::Staging ${RELEASE:=$DEFAULT_RELEASE} -- $QA_TESTS $QA_RSPEC_TAGS
1262
- extends:
1263
- - .rules:only-qa-never-when-triggered-by-feature-flag-definition-change
1264
- - .test
1265
- - .high-capacity
1266
- allow_failure: true
1267
-
1268
- generate_test_session:
1269
- stage: report
1270
- rules:
1271
- - if: '$TOP_UPSTREAM_SOURCE_JOB && $TOP_UPSTREAM_SOURCE_REF == $TOP_UPSTREAM_DEFAULT_BRANCH'
1272
- when: always
1273
- - if: '$TOP_UPSTREAM_SOURCE_JOB =~ /\Ahttps:\/\/ops.gitlab.net\//'
1274
- when: always
105
+ - cd /home/gitlab/qa
106
+ script:
107
+ - bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS
108
+ - bundle exec bin/qa Test::Integration::Mattermost http://dummy.test http://mattermost.test --count-examples-only -- $QA_TESTS
109
+ - bundle exec bin/qa Test::Integration::ServicePingDisabled http://dummy.test --count-examples-only -- $QA_TESTS
110
+ - bundle exec bin/qa QA::EE::Scenario::Test::Geo --count-examples-only --primary-address http://dummy1.test --primary-name gitlab-primary --secondary-address http://dummy2.test --secondary-name gitlab-secondary --without-setup
111
+ - bundle exec bin/qa Test::Integration::LDAPNoTLS http://dummy.test --count-examples-only -- $QA_TESTS
112
+ - bundle exec bin/qa Test::Integration::LDAPTLS http://dummy.test --count-examples-only -- $QA_TESTS
113
+ - bundle exec bin/qa Test::Integration::LDAPNoServer http://dummy.test --count-examples-only -- $QA_TESTS
114
+ - bundle exec bin/qa Test::Integration::InstanceSAML http://dummy.test --count-examples-only -- $QA_TESTS
115
+ - bundle exec bin/qa QA::EE::Scenario::Test::Integration::GroupSAML http://dummy.test --count-examples-only -- $QA_TESTS
116
+ - bundle exec bin/qa Test::Integration::RegistryTLS http://dummy.test --count-examples-only -- $QA_TESTS
117
+ - bundle exec bin/qa Test::Integration::Registry http://dummy.test --count-examples-only -- $QA_TESTS
118
+ - bundle exec bin/qa QA::EE::Scenario::Test::Integration::Elasticsearch http://dummy.test --count-examples-only -- $QA_TESTS
119
+ - bundle exec bin/qa Test::Integration::SMTP http://dummy.test --count-examples-only -- $QA_TESTS
120
+ - bundle exec bin/qa Test::Integration::RegistryWithCDN http://dummy.test --count-examples-only -- $QA_TESTS
121
+ - bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS --tag repository_storage
122
+ - bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS --tag packages
123
+ - bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS --tag integrations
124
+ - bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS --tag actioncable
125
+ - bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS --tag mtls
126
+ - bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS --tag jira
127
+ - bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS --tag can_use_large_setup
128
+ - bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS --tag cloud_activation
129
+ - bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS --tag object_storage
130
+
131
+ - cp -r no_of_examples $CI_PROJECT_DIR
1275
132
  artifacts:
1276
- when: always
1277
- expire_in: 10d
1278
133
  paths:
1279
- - REPORT_ISSUE_URL
1280
- script:
1281
- - export GITLAB_QA_ACCESS_TOKEN="$GITLAB_QA_PRODUCTION_ACCESS_TOKEN"
1282
- - bundle exec exe/gitlab-qa-report --generate-test-session "gitlab-qa-run-*/**/rspec-*.json" --project "$QA_TESTCASE_SESSIONS_PROJECT"
1283
-
1284
- relate_test_failures:
1285
- stage: report
1286
- rules:
1287
- - if: '$DISABLE_RELATING_FAILURE_ISSUES'
1288
- when: never
1289
- - if: '$TOP_UPSTREAM_SOURCE_JOB && $TOP_UPSTREAM_SOURCE_REF == $TOP_UPSTREAM_DEFAULT_BRANCH'
1290
- when: always
1291
- - if: '$TOP_UPSTREAM_SOURCE_JOB =~ /\Ahttps:\/\/ops.gitlab.net\//'
1292
- when: always
1293
- variables:
1294
- QA_FAILURES_REPORTING_PROJECT: "gitlab-org/gitlab"
1295
- QA_FAILURES_MAX_DIFF_RATIO: "0.15"
1296
- # The --dry-run can be set to modify the behavior of `exe/gitlab-qa-report --relate-failure-issue` without releasing a new gem version.
1297
- QA_FAILURES_REPORTER_OPTIONS: ""
1298
- script:
1299
- - export GITLAB_QA_ACCESS_TOKEN="$GITLAB_QA_PRODUCTION_ACCESS_TOKEN"
1300
- - 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
1301
-
1302
- .notify_upstream_commit:
1303
- stage: notify
1304
- image: ruby:3.0-alpine
1305
- before_script:
1306
- - gem install gitlab --no-document
1307
-
1308
- notify_upstream_commit:success:
1309
- extends: .notify_upstream_commit
1310
- script:
1311
- - bin/notify_upstream_commit success
1312
- rules:
1313
- - if: '$TOP_UPSTREAM_SOURCE_PROJECT && $TOP_UPSTREAM_SOURCE_SHA'
1314
- when: on_success
1315
-
1316
- notify_upstream_commit:failure:
1317
- extends: .notify_upstream_commit
1318
- script:
1319
- - bin/notify_upstream_commit failure
1320
- rules:
1321
- - if: '$TOP_UPSTREAM_SOURCE_PROJECT && $TOP_UPSTREAM_SOURCE_SHA'
1322
- when: on_failure
1323
-
1324
- .notify_slack:
1325
- image: alpine
1326
- stage: notify
1327
- dependencies: ['generate_test_session']
1328
- cache: {}
1329
- before_script:
1330
- - apk update && apk add git curl bash
1331
-
1332
- notify_slack:
1333
- extends:
1334
- - .notify_slack
1335
- rules:
1336
- - if: '$TOP_UPSTREAM_SOURCE_JOB && $NOTIFY_CHANNEL'
1337
- when: on_failure
1338
- - if: '$TOP_UPSTREAM_SOURCE_JOB && $TOP_UPSTREAM_SOURCE_REF == $TOP_UPSTREAM_DEFAULT_BRANCH'
1339
- when: on_failure
1340
- script:
1341
- - export RELEASE=${TOP_UPSTREAM_SOURCE_REF:-$RELEASE}
1342
- - echo "NOTIFY_CHANNEL is ${NOTIFY_CHANNEL:=qa-$TOP_UPSTREAM_SOURCE_REF}"
1343
- - echo "RELEASE is ${RELEASE}"
1344
- - echo "CI_PIPELINE_URL is $CI_PIPELINE_URL"
1345
- - echo "TOP_UPSTREAM_SOURCE_JOB is $TOP_UPSTREAM_SOURCE_JOB"
1346
- - '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'
1347
-
1348
- generate-allure-report:
1349
- extends: .generate-allure-report-base
1350
- stage: report
1351
- variables:
1352
- STORAGE_CREDENTIALS: $QA_ALLURE_REPORT_GCS_CREDENTIALS
1353
- GITLAB_AUTH_TOKEN: $GITLAB_QA_MR_ALLURE_REPORT_TOKEN
1354
- ALLURE_RESULTS_GLOB: gitlab-qa-run-*/**/allure-results/*
1355
- # Override allure variables for upstream triggers
1356
- ALLURE_PROJECT_PATH: $TOP_UPSTREAM_SOURCE_PROJECT
1357
- ALLURE_MERGE_REQUEST_IID: $TOP_UPSTREAM_MERGE_REQUEST_IID
1358
- ALLURE_COMMIT_SHA: $TOP_UPSTREAM_SOURCE_SHA
1359
- # Override default before script and don't push cache
1360
- cache:
1361
- policy: pull
1362
- before_script:
1363
- - export ALLURE_JOB_NAME="${ALLURE_JOB_NAME:-package-and-qa}"
1364
- rules:
1365
- # Don't run report generation on release pipelines
1366
- - if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab-qa" && $RELEASE == null'
1367
- changes: ["lib/**/version.rb"]
1368
- when: never
1369
- - if: '$CI_COMMIT_TAG'
1370
- when: never
1371
- - if: '$CI_PIPELINE_SOURCE == "merge_request_event" || ($CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH)'
1372
- variables:
1373
- ALLURE_JOB_NAME: gitlab-qa
1374
- when: always
1375
- - if: '$TOP_UPSTREAM_SOURCE_PROJECT && $TOP_UPSTREAM_SOURCE_SHA'
1376
- when: always
134
+ - no_of_examples
135
+ allow_failure: true
1377
136
 
1378
- generate-knapsack-report:
1379
- extends: .generate-knapsack-report-base
1380
- image:
1381
- name: ${QA_IMAGE}
1382
- stage: report
137
+ trigger-generated-jobs:
138
+ stage: triggers
139
+ extends: .rules:never-on-version-change-or-tag
140
+ needs: [ generate-jobs ]
141
+ variables:
142
+ # Variables used in rules also need to be passed down using the `variables` section in addition to dotenv file
143
+ # due to this bug: https://gitlab.com/gitlab-org/gitlab/-/issues/352828. For other variables, duplicate declaration here is needed
144
+ # as well due to not using `needs` and `artifacts: true` in child pipelines.
145
+ RELEASE: $RELEASE
146
+ GITLAB_QA_OPTIONS: $GITLAB_QA_OPTIONS
147
+ QA_TESTS: $QA_TESTS
148
+ KNAPSACK_GENERATE_REPORT: $KNAPSACK_GENERATE_REPORT
149
+ TOP_UPSTREAM_SOURCE_JOB: $TOP_UPSTREAM_SOURCE_JOB
150
+ TOP_UPSTREAM_SOURCE_REF: $TOP_UPSTREAM_SOURCE_REF
151
+ TOP_UPSTREAM_DEFAULT_BRANCH: $TOP_UPSTREAM_DEFAULT_BRANCH
152
+ DISABLE_RELATING_FAILURE_ISSUES: $DISABLE_RELATING_FAILURE_ISSUES
153
+ TOP_UPSTREAM_SOURCE_PROJECT: $TOP_UPSTREAM_SOURCE_PROJECT
154
+ TOP_UPSTREAM_SOURCE_SHA: $TOP_UPSTREAM_SOURCE_SHA
155
+ NOTIFY_CHANNEL: $NOTIFY_CHANNEL
156
+ QA_IMAGE: $QA_IMAGE
157
+ EE_LICENSE: $EE_LICENSE
158
+ TOP_UPSTREAM_MERGE_REQUEST_IID: $TOP_UPSTREAM_MERGE_REQUEST_IID
159
+ ALLURE_JOB_NAME: $ALLURE_JOB_NAME
160
+ trigger:
161
+ strategy: depend
162
+ include:
163
+ - artifact: generated-qa-jobs.yml
164
+ job: generate-jobs
1383
165
 
1384
166
  include:
1385
- - local: .gitlab/ci/*.gitlab-ci.yml
167
+ - local: .gitlab/ci/rules.gitlab-ci.yml
1386
168
  - project: 'gitlab-org/quality/pipeline-common'
1387
169
  file:
1388
170
  - '/ci/gem-release.yml'
1389
- - '/ci/allure-report.yml'
1390
- - '/ci/knapsack-report.yml'
171
+ - '/ci/danger-review.yml'
172
+
173
+ danger-review:
174
+ stage: check