gitlab-qa 7.24.6 → 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,1333 +45,129 @@ 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-parallel:
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
- parallel: 2
832
- variables:
833
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config packages"
834
- QA_RSPEC_TAGS: "--tag packages"
835
-
836
- ee:packages-quarantine:
837
- extends:
838
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
839
- - .test
840
- - .high-capacity
841
- - .ee-variables
842
- - .quarantine
843
- - .rspec-report-opts
844
- - .combined-gitlab-qa-options-script
845
- variables:
846
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config packages"
847
- QA_RSPEC_TAGS: "--tag quarantine --tag packages"
848
-
849
- ce:object_storage_registry_tls:
850
- extends:
851
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
852
- - .test
853
- - .high-capacity
854
- - .ce-variables
855
- - .rspec-report-opts
856
- variables:
857
- QA_SCENARIO: "Test::Integration::RegistryTLS --omnibus-config registry_object_storage"
858
-
859
- ce:object_storage_registry_tls-quarantine:
860
- extends:
861
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
862
- - .test
863
- - .high-capacity
864
- - .ce-variables
865
- - .quarantine
866
- - .rspec-report-opts
867
- variables:
868
- QA_SCENARIO: "Test::Integration::RegistryTLS --omnibus-config registry_object_storage"
869
-
870
- ee:object_storage_registry_tls:
871
- extends:
872
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
873
- - .test
874
- - .ee-variables
875
- - .high-capacity
876
- - .rspec-report-opts
877
- variables:
878
- QA_SCENARIO: "Test::Integration::RegistryTLS --omnibus-config registry_object_storage"
879
-
880
- ee:object_storage_registry_tls-quarantine:
881
- extends:
882
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
883
- - .test
884
- - .high-capacity
885
- - .ee-variables
886
- - .quarantine
887
- - .rspec-report-opts
888
- variables:
889
- QA_SCENARIO: "Test::Integration::RegistryTLS --omnibus-config registry_object_storage"
890
-
891
- ce:registry:
892
- extends:
893
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
894
- - .test
895
- - .high-capacity
896
- - .ce-variables
897
- - .rspec-report-opts
898
- variables:
899
- QA_SCENARIO: "Test::Integration::Registry"
900
-
901
- ce:registry-quarantine:
902
- extends:
903
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
904
- - .test
905
- - .high-capacity
906
- - .ce-variables
907
- - .quarantine
908
- - .rspec-report-opts
909
- variables:
910
- QA_SCENARIO: "Test::Integration::Registry"
911
-
912
- ee:registry:
913
- extends:
914
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
915
- - .test
916
- - .high-capacity
917
- - .ee-variables
918
- - .rspec-report-opts
919
- variables:
920
- QA_SCENARIO: "Test::Integration::Registry"
921
-
922
- ee:registry-quarantine:
923
- extends:
924
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
925
- - .test
926
- - .high-capacity
927
- - .ee-variables
928
- - .quarantine
929
- - .rspec-report-opts
930
- variables:
931
- QA_SCENARIO: "Test::Integration::Registry"
932
-
933
- ce:actioncable:
934
- extends:
935
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
936
- - .test
937
- - .high-capacity
938
- - .ce-variables
939
- - .rspec-report-opts
940
- variables:
941
- QA_SCENARIO: "Test::Integration::Actioncable"
942
-
943
- ce:actioncable-quarantine:
944
- extends:
945
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
946
- - .test
947
- - .high-capacity
948
- - .ce-variables
949
- - .quarantine
950
- - .rspec-report-opts
951
- variables:
952
- QA_SCENARIO: "Test::Integration::Actioncable"
953
-
954
- ee:actioncable:
955
- extends:
956
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
957
- - .test
958
- - .high-capacity
959
- - .ee-variables
960
- - .rspec-report-opts
961
- variables:
962
- QA_SCENARIO: "Test::Integration::Actioncable"
963
-
964
- ee:actioncable-quarantine:
965
- extends:
966
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
967
- - .test
968
- - .high-capacity
969
- - .ee-variables
970
- - .quarantine
971
- - .rspec-report-opts
972
- variables:
973
- QA_SCENARIO: "Test::Integration::Actioncable"
974
-
975
- ee:elasticsearch:
976
- extends:
977
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
978
- - .test
979
- - .high-capacity
980
- - .ee-variables
981
- - .rspec-report-opts
982
- variables:
983
- QA_SCENARIO: "Test::Integration::Elasticsearch"
984
-
985
- ee:elasticsearch-quarantine:
986
- extends:
987
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
988
- - .test
989
- - .high-capacity
990
- - .ee-variables
991
- - .quarantine
992
- - .rspec-report-opts
993
- variables:
994
- QA_SCENARIO: "Test::Integration::Elasticsearch"
995
-
996
- ce:praefect-parallel:
997
- extends:
998
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-specified
999
- - .test
1000
- - .high-capacity
1001
- - .ce-variables
1002
- - .rspec-report-opts
1003
- parallel: 5
1004
- variables:
1005
- QA_SCENARIO: "Test::Integration::Praefect"
1006
- QA_CAN_TEST_PRAEFECT: "true"
1007
-
1008
- ce:praefect:
1009
- extends:
1010
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-not-specified
1011
- - .test
1012
- - .high-capacity
1013
- - .ce-variables
1014
- - .rspec-report-opts
1015
- variables:
1016
- QA_SCENARIO: "Test::Integration::Praefect"
1017
- QA_CAN_TEST_PRAEFECT: "true"
1018
-
1019
- ce:praefect-quarantine:
1020
- extends:
1021
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1022
- - .test
1023
- - .high-capacity
1024
- - .ce-variables
1025
- - .quarantine
1026
- - .rspec-report-opts
1027
- variables:
1028
- QA_SCENARIO: "Test::Integration::Praefect"
1029
- QA_CAN_TEST_PRAEFECT: "true"
1030
- QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
1031
-
1032
- ee:praefect-parallel:
1033
- extends:
1034
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-specified
1035
- - .test
1036
- - .high-capacity
1037
- - .ee-variables
1038
- - .rspec-report-opts
1039
- parallel: 10
1040
- variables:
1041
- QA_SCENARIO: "Test::Integration::Praefect"
1042
- QA_CAN_TEST_PRAEFECT: "true"
1043
-
1044
- ee:praefect:
1045
- extends:
1046
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-not-specified
1047
- - .test
1048
- - .high-capacity
1049
- - .ee-variables
1050
- - .rspec-report-opts
1051
- variables:
1052
- QA_SCENARIO: "Test::Integration::Praefect"
1053
- QA_CAN_TEST_PRAEFECT: "true"
1054
-
1055
- ee:praefect-quarantine:
1056
- extends:
1057
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1058
- - .test
1059
- - .high-capacity
1060
- - .ee-variables
1061
- - .quarantine
1062
- - .rspec-report-opts
1063
- variables:
1064
- QA_SCENARIO: "Test::Integration::Praefect"
1065
- QA_CAN_TEST_PRAEFECT: "true"
1066
- QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
1067
-
1068
- ce:gitaly-cluster:
1069
- extends:
1070
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1071
- - .test
1072
- - .high-capacity
1073
- - .ce-variables
1074
- - .rspec-report-opts
1075
- variables:
1076
- QA_SCENARIO: "Test::Integration::GitalyCluster"
1077
- QA_LOG_PATH: "tmp/gitaly_cluster.log"
1078
-
1079
- ce:gitaly-cluster-quarantine:
1080
- extends:
1081
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1082
- - .test
1083
- - .high-capacity
1084
- - .ce-variables
1085
- - .quarantine
1086
- - .rspec-report-opts
1087
- variables:
1088
- QA_SCENARIO: "Test::Integration::GitalyCluster"
1089
- QA_LOG_PATH: "tmp/gitaly_cluster.log"
1090
-
1091
- ee:gitaly-cluster:
1092
- extends:
1093
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1094
- - .test
1095
- - .high-capacity
1096
- - .ee-variables
1097
- - .rspec-report-opts
1098
- variables:
1099
- QA_SCENARIO: "Test::Integration::GitalyCluster"
1100
- QA_LOG_PATH: "tmp/gitaly_cluster.log"
1101
-
1102
- ee:gitaly-cluster-quarantine:
1103
- extends:
1104
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1105
- - .test
1106
- - .high-capacity
1107
- - .ee-variables
1108
- - .quarantine
1109
- - .rspec-report-opts
1110
- variables:
1111
- QA_SCENARIO: "Test::Integration::GitalyCluster"
1112
- QA_LOG_PATH: "tmp/gitaly_cluster.log"
1113
-
1114
- ce:mtls:
1115
- extends:
1116
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1117
- - .test
1118
- - .ce-variables
1119
- - .rspec-report-opts
1120
- variables:
1121
- QA_SCENARIO: "Test::Integration::MTLS"
1122
-
1123
- ee:mtls:
1124
- extends:
1125
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1126
- - .test
1127
- - .ee-variables
1128
- - .rspec-report-opts
1129
- variables:
1130
- QA_SCENARIO: "Test::Integration::MTLS"
1131
-
1132
- ce:smtp:
1133
- extends:
1134
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1135
- - .test
1136
- - .high-capacity
1137
- - .ce-variables
1138
- - .rspec-report-opts
1139
- variables:
1140
- QA_SCENARIO: "Test::Integration::SMTP"
1141
-
1142
- ee:smtp:
1143
- extends:
1144
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1145
- - .test
1146
- - .high-capacity
1147
- - .ee-variables
1148
- - .rspec-report-opts
1149
- variables:
1150
- QA_SCENARIO: "Test::Integration::SMTP"
1151
-
1152
- ce:jira:
1153
- extends:
1154
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1155
- - .test
1156
- - .high-capacity
1157
- - .ce-variables
1158
- - .rspec-report-opts
1159
- variables:
1160
- QA_SCENARIO: "Test::Integration::Jira"
1161
-
1162
- ce:jira-quarantine:
1163
- extends:
1164
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1165
- - .test
1166
- - .high-capacity
1167
- - .ce-variables
1168
- - .quarantine
1169
- - .rspec-report-opts
1170
- variables:
1171
- QA_SCENARIO: "Test::Integration::Jira"
1172
-
1173
- ee:jira:
1174
- extends:
1175
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1176
- - .test
1177
- - .high-capacity
1178
- - .ee-variables
1179
- - .rspec-report-opts
1180
- variables:
1181
- QA_SCENARIO: "Test::Integration::Jira"
1182
-
1183
- ee:jira-quarantine:
1184
- extends:
1185
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1186
- - .test
1187
- - .high-capacity
1188
- - .ee-variables
1189
- - .quarantine
1190
- - .rspec-report-opts
1191
- variables:
1192
- QA_SCENARIO: "Test::Integration::Jira"
1193
-
1194
- ce:integrations:
1195
- extends:
1196
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1197
- - .test
1198
- - .high-capacity
1199
- - .ce-variables
1200
- - .rspec-report-opts
1201
- variables:
1202
- QA_SCENARIO: "Test::Integration::Integrations"
1203
-
1204
- ce:integrations-quarantine:
1205
- extends:
1206
- - ce:integrations
1207
- - .quarantine
1208
-
1209
- ce:large-setup:
1210
- extends:
1211
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
1212
- - .test
1213
- - .high-capacity
1214
- - .ce-variables
1215
- - .rspec-report-opts
1216
- variables:
1217
- QA_RSPEC_TAGS: "--tag can_use_large_setup"
1218
-
1219
- ee:large-setup:
1220
- extends:
1221
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1222
- - .test
1223
- - .high-capacity
1224
- - .ee-variables
1225
- - .rspec-report-opts
1226
- variables:
1227
- QA_RSPEC_TAGS: "--tag can_use_large_setup"
1228
-
1229
- ee:cloud-activation:
1230
- before_script:
1231
- - unset EE_LICENSE
1232
- - !reference [default, before_script]
1233
- extends:
1234
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
1235
- - .test
1236
- - .high-capacity
1237
- - .ee-variables
1238
- - .rspec-report-opts
1239
- variables:
1240
- QA_RSPEC_TAGS: "--tag cloud_activation"
1241
-
1242
- ee:cloud-activation-quarantine:
102
+ needs:
103
+ - prepare
1243
104
  before_script:
1244
- - unset EE_LICENSE
1245
- - !reference [default, before_script]
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_RSPEC_TAGS: "--tag cloud_activation"
1255
-
1256
- # This job requires the `GITLAB_QA_ACCESS_TOKEN` and `GITLAB_QA_DEV_ACCESS_TOKEN`
1257
- # variable to be passed when triggered.
1258
- staging:
1259
- script:
1260
- - unset EE_LICENSE
1261
- - 'echo "Running: bundle exec exe/gitlab-qa Test::Instance::Staging ${RELEASE:=$DEFAULT_RELEASE} -- $QA_TESTS $QA_RSPEC_TAGS"'
1262
- - bundle exec exe/gitlab-qa Test::Instance::Staging ${RELEASE:=$DEFAULT_RELEASE} -- $QA_TESTS $QA_RSPEC_TAGS
1263
- extends:
1264
- - .rules:only-qa-never-when-triggered-by-feature-flag-definition-change
1265
- - .test
1266
- - .high-capacity
1267
- allow_failure: true
1268
-
1269
- generate_test_session:
1270
- stage: report
1271
- rules:
1272
- - if: '$TOP_UPSTREAM_SOURCE_JOB && $TOP_UPSTREAM_SOURCE_REF == $TOP_UPSTREAM_DEFAULT_BRANCH'
1273
- when: always
1274
- - if: '$TOP_UPSTREAM_SOURCE_JOB =~ /\Ahttps:\/\/ops.gitlab.net\//'
1275
- 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
1276
132
  artifacts:
1277
- when: always
1278
- expire_in: 10d
1279
133
  paths:
1280
- - REPORT_ISSUE_URL
1281
- script:
1282
- - export GITLAB_QA_ACCESS_TOKEN="$GITLAB_QA_PRODUCTION_ACCESS_TOKEN"
1283
- - bundle exec exe/gitlab-qa-report --generate-test-session "gitlab-qa-run-*/**/rspec-*.json" --project "$QA_TESTCASE_SESSIONS_PROJECT"
1284
-
1285
- relate_test_failures:
1286
- stage: report
1287
- rules:
1288
- - if: '$DISABLE_RELATING_FAILURE_ISSUES'
1289
- when: never
1290
- - if: '$TOP_UPSTREAM_SOURCE_JOB && $TOP_UPSTREAM_SOURCE_REF == $TOP_UPSTREAM_DEFAULT_BRANCH'
1291
- when: always
1292
- - if: '$TOP_UPSTREAM_SOURCE_JOB =~ /\Ahttps:\/\/ops.gitlab.net\//'
1293
- when: always
1294
- variables:
1295
- QA_FAILURES_REPORTING_PROJECT: "gitlab-org/gitlab"
1296
- QA_FAILURES_MAX_DIFF_RATIO: "0.15"
1297
- # The --dry-run can be set to modify the behavior of `exe/gitlab-qa-report --relate-failure-issue` without releasing a new gem version.
1298
- QA_FAILURES_REPORTER_OPTIONS: ""
1299
- script:
1300
- - export GITLAB_QA_ACCESS_TOKEN="$GITLAB_QA_PRODUCTION_ACCESS_TOKEN"
1301
- - 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
1302
-
1303
- .notify_upstream_commit:
1304
- stage: notify
1305
- image: ruby:3.0-alpine
1306
- before_script:
1307
- - gem install gitlab --no-document
1308
-
1309
- notify_upstream_commit:success:
1310
- extends: .notify_upstream_commit
1311
- script:
1312
- - bin/notify_upstream_commit success
1313
- rules:
1314
- - if: '$TOP_UPSTREAM_SOURCE_PROJECT && $TOP_UPSTREAM_SOURCE_SHA'
1315
- when: on_success
1316
-
1317
- notify_upstream_commit:failure:
1318
- extends: .notify_upstream_commit
1319
- script:
1320
- - bin/notify_upstream_commit failure
1321
- rules:
1322
- - if: '$TOP_UPSTREAM_SOURCE_PROJECT && $TOP_UPSTREAM_SOURCE_SHA'
1323
- when: on_failure
1324
-
1325
- .notify_slack:
1326
- image: alpine
1327
- stage: notify
1328
- dependencies: ['generate_test_session']
1329
- cache: {}
1330
- before_script:
1331
- - apk update && apk add git curl bash
1332
-
1333
- notify_slack:
1334
- extends:
1335
- - .notify_slack
1336
- rules:
1337
- - if: '$TOP_UPSTREAM_SOURCE_JOB && $NOTIFY_CHANNEL'
1338
- when: on_failure
1339
- - if: '$TOP_UPSTREAM_SOURCE_JOB && $TOP_UPSTREAM_SOURCE_REF == $TOP_UPSTREAM_DEFAULT_BRANCH'
1340
- when: on_failure
1341
- script:
1342
- - export RELEASE=${TOP_UPSTREAM_SOURCE_REF:-$RELEASE}
1343
- - echo "NOTIFY_CHANNEL is ${NOTIFY_CHANNEL:=qa-$TOP_UPSTREAM_SOURCE_REF}"
1344
- - echo "RELEASE is ${RELEASE}"
1345
- - echo "CI_PIPELINE_URL is $CI_PIPELINE_URL"
1346
- - echo "TOP_UPSTREAM_SOURCE_JOB is $TOP_UPSTREAM_SOURCE_JOB"
1347
- - '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'
1348
-
1349
- generate-allure-report:
1350
- extends: .generate-allure-report-base
1351
- stage: report
1352
- variables:
1353
- STORAGE_CREDENTIALS: $QA_ALLURE_REPORT_GCS_CREDENTIALS
1354
- GITLAB_AUTH_TOKEN: $GITLAB_QA_MR_ALLURE_REPORT_TOKEN
1355
- ALLURE_RESULTS_GLOB: gitlab-qa-run-*/**/allure-results/*
1356
- # Override allure variables for upstream triggers
1357
- ALLURE_PROJECT_PATH: $TOP_UPSTREAM_SOURCE_PROJECT
1358
- ALLURE_MERGE_REQUEST_IID: $TOP_UPSTREAM_MERGE_REQUEST_IID
1359
- ALLURE_COMMIT_SHA: $TOP_UPSTREAM_SOURCE_SHA
1360
- # Override default before script and don't push cache
1361
- cache:
1362
- policy: pull
1363
- before_script:
1364
- - export ALLURE_JOB_NAME="${ALLURE_JOB_NAME:-package-and-qa}"
1365
- rules:
1366
- # Don't run report generation on release pipelines
1367
- - if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab-qa" && $RELEASE == null'
1368
- changes: ["lib/**/version.rb"]
1369
- when: never
1370
- - if: '$CI_COMMIT_TAG'
1371
- when: never
1372
- - if: '$CI_PIPELINE_SOURCE == "merge_request_event" || ($CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH)'
1373
- variables:
1374
- ALLURE_JOB_NAME: gitlab-qa
1375
- when: always
1376
- - if: '$TOP_UPSTREAM_SOURCE_PROJECT && $TOP_UPSTREAM_SOURCE_SHA'
1377
- when: always
134
+ - no_of_examples
135
+ allow_failure: true
1378
136
 
1379
- generate-knapsack-report:
1380
- extends: .generate-knapsack-report-base
1381
- image:
1382
- name: ${QA_IMAGE}
1383
- 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
1384
165
 
1385
166
  include:
1386
- - local: .gitlab/ci/*.gitlab-ci.yml
167
+ - local: .gitlab/ci/rules.gitlab-ci.yml
1387
168
  - project: 'gitlab-org/quality/pipeline-common'
1388
169
  file:
1389
170
  - '/ci/gem-release.yml'
1390
- - '/ci/allure-report.yml'
1391
- - '/ci/knapsack-report.yml'
1392
171
  - '/ci/danger-review.yml'
1393
172
 
1394
173
  danger-review: