gitlab-qa 9.1.1 → 10.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/.gitlab-ci.yml +106 -149
  3. data/.simplecov +9 -0
  4. data/Gemfile.lock +15 -1
  5. data/README.md +5 -4
  6. data/docs/what_tests_can_be_run.md +73 -35
  7. data/gitlab-qa.gemspec +3 -0
  8. data/lib/gitlab/qa/component/base.rb +8 -1
  9. data/lib/gitlab/qa/component/gitaly.rb +1 -1
  10. data/lib/gitlab/qa/component/gitlab.rb +2 -2
  11. data/lib/gitlab/qa/component/mock_server.rb +13 -0
  12. data/lib/gitlab/qa/report/gitlab_issue_client.rb +1 -1
  13. data/lib/gitlab/qa/report/relate_failure_issue.rb +95 -17
  14. data/lib/gitlab/qa/report/report_as_issue.rb +1 -1
  15. data/lib/gitlab/qa/runtime/env.rb +17 -4
  16. data/lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb +1 -1
  17. data/lib/gitlab/qa/runtime/omnibus_configurations/object_storage_aws.rb +1 -1
  18. data/lib/gitlab/qa/scenario/test/integration/oauth.rb +68 -0
  19. data/lib/gitlab/qa/scenario/test/omnibus/update_from_previous.rb +3 -2
  20. data/lib/gitlab/qa/version.rb +1 -1
  21. data/scripts/build-package-and-test-env +15 -0
  22. metadata +47 -47
  23. data/.gitlab/ci/jobs/airgapped.gitlab-ci.yml +0 -23
  24. data/.gitlab/ci/jobs/base.gitlab-ci.yml +0 -273
  25. data/.gitlab/ci/jobs/chaos.gitlab-ci.yml +0 -22
  26. data/.gitlab/ci/jobs/cloud_activation.gitlab-ci.yml +0 -24
  27. data/.gitlab/ci/jobs/custom_parallel.gitlab-ci.yml +0 -21
  28. data/.gitlab/ci/jobs/decomposition_multiple_db.gitlab-ci.yml +0 -27
  29. data/.gitlab/ci/jobs/decomposition_single_db.gitlab-ci.yml +0 -25
  30. data/.gitlab/ci/jobs/ee_previous_to_ce_update.gitlab-ci.yml +0 -18
  31. data/.gitlab/ci/jobs/elasticsearch.gitlab-ci.yml +0 -20
  32. data/.gitlab/ci/jobs/geo.gitlab-ci.yml +0 -18
  33. data/.gitlab/ci/jobs/gitaly_cluster.gitlab-ci.yml +0 -41
  34. data/.gitlab/ci/jobs/gitlab_pages.gitlab-ci.yml +0 -19
  35. data/.gitlab/ci/jobs/group_saml.gitlab-ci.yml +0 -20
  36. data/.gitlab/ci/jobs/instance.gitlab-ci.yml +0 -55
  37. data/.gitlab/ci/jobs/instance_saml.gitlab-ci.yml +0 -41
  38. data/.gitlab/ci/jobs/integrations.gitlab-ci.yml +0 -14
  39. data/.gitlab/ci/jobs/jira.gitlab-ci.yml +0 -41
  40. data/.gitlab/ci/jobs/large_setup.gitlab-ci.yml +0 -19
  41. data/.gitlab/ci/jobs/ldap_no_server.gitlab-ci.yml +0 -20
  42. data/.gitlab/ci/jobs/ldap_no_tls.gitlab-ci.yml +0 -41
  43. data/.gitlab/ci/jobs/ldap_tls.gitlab-ci.yml +0 -41
  44. data/.gitlab/ci/jobs/mattermost.gitlab-ci.yml +0 -41
  45. data/.gitlab/ci/jobs/metrics.gitlab-ci.yml +0 -41
  46. data/.gitlab/ci/jobs/mtls.gitlab-ci.yml +0 -19
  47. data/.gitlab/ci/jobs/object_storage.gitlab-ci.yml +0 -49
  48. data/.gitlab/ci/jobs/object_storage_aws.gitlab-ci.yml +0 -25
  49. data/.gitlab/ci/jobs/object_storage_gcs.gitlab-ci.yml +0 -23
  50. data/.gitlab/ci/jobs/object_storage_registry_tls.gitlab-ci.yml +0 -41
  51. data/.gitlab/ci/jobs/omnibus_image.gitlab-ci.yml +0 -15
  52. data/.gitlab/ci/jobs/omnibus_upgrade.gitlab-ci.yml +0 -28
  53. data/.gitlab/ci/jobs/opensearch.gitlab-ci.yml +0 -20
  54. data/.gitlab/ci/jobs/packages.gitlab-ci.yml +0 -25
  55. data/.gitlab/ci/jobs/praefect.gitlab-ci.yml +0 -71
  56. data/.gitlab/ci/jobs/registry.gitlab-ci.yml +0 -41
  57. data/.gitlab/ci/jobs/registry_with_cdn.gitlab-ci.yml +0 -55
  58. data/.gitlab/ci/jobs/relative_url.gitlab-ci.yml +0 -65
  59. data/.gitlab/ci/jobs/repository_storage.gitlab-ci.yml +0 -41
  60. data/.gitlab/ci/jobs/sanity_framework.gitlab-ci.yml +0 -24
  61. data/.gitlab/ci/jobs/service_ping_disabled.gitlab-ci.yml +0 -19
  62. data/.gitlab/ci/jobs/smtp.gitlab-ci.yml +0 -19
  63. data/.gitlab/ci/jobs/staging.gitlab-ci.yml +0 -10
  64. data/.gitlab/ci/jobs/update.gitlab-ci.yml +0 -60
  65. data/.gitlab/ci/rules.gitlab-ci.yml +0 -183
  66. data/lib/gitlab/qa/scenario/test/omnibus/update.rb +0 -72
  67. data/scripts/generate-qa-jobs.rb +0 -99
@@ -1,273 +0,0 @@
1
- stages:
2
- - test
3
- - report
4
- - notify
5
-
6
- default:
7
- image: registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-${RUBY_VERSION}:bundler-2.3-docker-${DOCKER_VERSION}
8
- tags:
9
- - gitlab-org
10
- cache:
11
- key:
12
- files:
13
- - Gemfile.lock
14
- - gitlab-qa.gemspec
15
- prefix: $RUBY_VERSION
16
- paths:
17
- - vendor/ruby
18
- before_script:
19
- - export QA_ARTIFACTS_DIR=$CI_PROJECT_DIR
20
- - bundle version
21
- - bundle config path vendor
22
- - bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check
23
- - export LANG=C.UTF-8
24
- - echo $CI_MERGE_REQUEST_IID
25
- - echo $CI_COMMIT_BRANCH
26
- - echo $CI_COMMIT_TAG
27
- - echo $CI_PIPELINE_SOURCE
28
- - echo $CI_DEFAULT_BRANCH
29
- - echo $CI_COMMIT_REF_NAME
30
- - echo $CI_JOB_ID
31
- - echo $CI_COMMIT_REF_PROTECTED
32
- - echo $TOP_UPSTREAM_SOURCE_SHA
33
- - echo $TOP_UPSTREAM_MERGE_REQUEST_IID
34
- - echo $TOP_UPSTREAM_SOURCE_PROJECT
35
- - echo $TOP_UPSTREAM_DEFAULT_BRANCH
36
- - echo $TOP_UPSTREAM_SOURCE_REF
37
- - echo $TOP_UPSTREAM_SOURCE_JOB
38
- - echo $GITLAB_QA_OPTIONS
39
- - echo $QA_TESTS
40
- - echo $RSPEC_REPORT_OPTS
41
- - echo $QA_RSPEC_TAGS
42
- - echo $QA_TEST_RESULTS_ISSUES_PROJECT
43
- - echo $QA_TESTCASES_REPORTING_PROJECT
44
- - echo $DEFAULT_RELEASE
45
- - echo $GITLAB_QA_OPTIONS_COMBINED
46
- - echo $DISABLE_RELATING_FAILURE_ISSUES
47
- - echo $QA_FAILURES_MAX_DIFF_RATIO
48
- - echo $QA_FAILURES_REPORTER_OPTIONS
49
- - echo $NOTIFY_CHANNEL
50
- - echo $REPORT_ISSUE_URL
51
- - echo $QA_TESTCASE_SESSIONS_PROJECT
52
- - echo $QA_FAILURES_REPORTING_PROJECT
53
- - echo $ALLURE_JOB_NAME
54
- - echo $QA_IMAGE
55
- - echo $RELEASE
56
- - echo $TEST_LICENSE_MODE
57
-
58
- workflow:
59
- rules:
60
- # For merge requests, create a pipeline.
61
- - if: $CI_MERGE_REQUEST_IID
62
- # For the default branch, create a pipeline (this includes on schedules, pushes, merges, etc.).
63
- - if: $CI_COMMIT_BRANCH == "master"
64
- # For tags, create a pipeline.
65
- - if: $CI_COMMIT_TAG
66
- # For triggers from GitLab MR pipelines (and pipelines from other projects or parent pipeline), create a pipeline
67
- - if: $CI_PIPELINE_SOURCE == "pipeline" || $CI_PIPELINE_SOURCE == "parent_pipeline"
68
- # When using Run pipeline button in the GitLab UI, from the project’s CI/CD > Pipelines section, create a pipeline.
69
- - if: $CI_PIPELINE_SOURCE == "web"
70
-
71
- variables:
72
- DOCKER_DRIVER: overlay2
73
- DOCKER_HOST: tcp://docker:2375
74
- COLORIZED_LOGS: "true"
75
- QA_CAN_TEST_GIT_PROTOCOL_V2: "true"
76
- QA_CAN_TEST_PRAEFECT: "false"
77
- QA_GENERATE_ALLURE_REPORT: "true"
78
- QA_TESTCASES_REPORTING_PROJECT: "gitlab-org/gitlab"
79
- QA_TEST_RESULTS_ISSUES_PROJECT: "gitlab-org/quality/testcases"
80
- QA_TESTCASE_SESSIONS_PROJECT: "gitlab-org/quality/testcase-sessions"
81
- # QA_DEFAULT_BRANCH is the default branch name of the instance under test.
82
- QA_DEFAULT_BRANCH: "master"
83
- RUBY_VERSION: "2.7"
84
- DOCKER_VERSION: "20.10.14"
85
-
86
- .ce-variables:
87
- variables:
88
- DEFAULT_RELEASE: "CE"
89
-
90
- .ee-variables:
91
- variables:
92
- DEFAULT_RELEASE: "EE"
93
-
94
- .test:
95
- stage: test
96
- timeout: 1 hour 30 minutes
97
- services:
98
- - docker:20.10.5-dind
99
- tags:
100
- - gitlab-org
101
- - docker
102
- artifacts:
103
- when: always
104
- expire_in: 10d
105
- paths:
106
- - gitlab-qa-run-*
107
- reports:
108
- junit: gitlab-qa-run-*/**/rspec-*.xml
109
- script:
110
- - 'echo "QA_ARTIFACTS_DIR: $QA_ARTIFACTS_DIR"'
111
- - 'echo "CI_PROJECT_DIR: $CI_PROJECT_DIR"'
112
- - '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"'
113
- - 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=$?
114
- - bundle exec exe/gitlab-qa-report --update-screenshot-path "gitlab-qa-run-*/**/rspec-*.xml"
115
- # Back-compatibility until we migrate all GITLAB_QA_PRODUCTION_ACCESS_TOKEN to QA_REPORT_RESULT_TOKEN.
116
- # See https://gitlab.com/gitlab-org/quality/engineering-productivity/team/-/issues/175#note_1281196581 for context.
117
- - export GITLAB_QA_ACCESS_TOKEN="${QA_REPORT_RESULT_TOKEN:-$GITLAB_QA_PRODUCTION_ACCESS_TOKEN}"
118
- - |
119
- if [ "$TOP_UPSTREAM_SOURCE_REF" == $TOP_UPSTREAM_DEFAULT_BRANCH ] || [[ "$TOP_UPSTREAM_SOURCE_JOB" == https://ops.gitlab.net* ]]; then
120
- 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;
121
- fi
122
- - exit $test_run_exit_code
123
-
124
- # For jobs that shouldn't report results in issues, e.g., manually run custom jobs
125
- .no-issue-report-script:
126
- script:
127
- - '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"'
128
- - bundle exec exe/gitlab-qa ${QA_SCENARIO:=Test::Instance::Image} ${RELEASE:=$DEFAULT_RELEASE} $GITLAB_QA_OPTIONS -- $QA_TESTS $QA_RSPEC_TAGS $RSPEC_REPORT_OPTS
129
-
130
- # For jobs that provide additional GITLAB_QA_OPTIONS, e.g., jobs that include --omnibus-config
131
- .combined-gitlab-qa-options-script:
132
- script:
133
- - '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"'
134
-
135
- - 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=$?
136
- - bundle exec exe/gitlab-qa-report --update-screenshot-path "gitlab-qa-run-*/**/rspec-*.xml"
137
- # Back-compatibility until we migrate all GITLAB_QA_PRODUCTION_ACCESS_TOKEN to QA_REPORT_RESULT_TOKEN.
138
- # See https://gitlab.com/gitlab-org/quality/engineering-productivity/team/-/issues/175#note_1281196581 for context.
139
- - export GITLAB_QA_ACCESS_TOKEN="${QA_REPORT_RESULT_TOKEN:-$GITLAB_QA_PRODUCTION_ACCESS_TOKEN}"
140
- - |
141
- if [ "$TOP_UPSTREAM_SOURCE_REF" == $TOP_UPSTREAM_DEFAULT_BRANCH ] || [[ "$TOP_UPSTREAM_SOURCE_JOB" == https://ops.gitlab.net* ]]; then
142
- 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;
143
- fi
144
- - exit $test_run_exit_code
145
-
146
- # The Test::Omnibus::Update scenarios require the release to be specified twice, which can't be done dynamically using the `variables` parameter
147
- # So instead we can use this script with two release variables
148
- .update-scenario-script:
149
- script:
150
- - '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"'
151
- - 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=$?
152
- - bundle exec exe/gitlab-qa-report --update-screenshot-path "gitlab-qa-run-*/**/rspec-*.xml"
153
- # Back-compatibility until we migrate all GITLAB_QA_PRODUCTION_ACCESS_TOKEN to QA_REPORT_RESULT_TOKEN.
154
- # See https://gitlab.com/gitlab-org/quality/engineering-productivity/team/-/issues/175#note_1281196581 for context.
155
- - export GITLAB_QA_ACCESS_TOKEN="${QA_REPORT_RESULT_TOKEN:-$GITLAB_QA_PRODUCTION_ACCESS_TOKEN}"
156
- - |
157
- if [ "$TOP_UPSTREAM_SOURCE_REF" == $TOP_UPSTREAM_DEFAULT_BRANCH ] || [[ "$TOP_UPSTREAM_SOURCE_JOB" == https://ops.gitlab.net* ]]; then
158
- 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;
159
- fi
160
- - exit $test_run_exit_code
161
-
162
- .high-capacity:
163
- tags:
164
- - e2e
165
-
166
- .rspec-report-opts:
167
- variables:
168
- FILE_SAFE_JOB_NAME: $(echo $CI_JOB_NAME | sed 's/[ /]/_/g')
169
- 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'
170
-
171
- .quarantine:
172
- allow_failure: true
173
- variables:
174
- QA_RSPEC_TAGS: "--tag quarantine"
175
-
176
- generate_test_session:
177
- stage: report
178
- rules:
179
- - if: '$TOP_UPSTREAM_SOURCE_JOB !=null && $TOP_UPSTREAM_SOURCE_JOB !="" && $TOP_UPSTREAM_SOURCE_REF == $TOP_UPSTREAM_DEFAULT_BRANCH'
180
- when: always
181
- - if: '$TOP_UPSTREAM_SOURCE_JOB =~ /\Ahttps:\/\/ops.gitlab.net\//'
182
- when: always
183
- artifacts:
184
- when: always
185
- expire_in: 10d
186
- paths:
187
- - REPORT_ISSUE_URL
188
- script:
189
- # Back-compatibility until we migrate all GITLAB_QA_PRODUCTION_ACCESS_TOKEN to QA_TEST_SESSION_TOKEN.
190
- # See https://gitlab.com/gitlab-org/quality/engineering-productivity/team/-/issues/175#note_1281240424 for context.
191
- - export GITLAB_QA_ACCESS_TOKEN="${QA_TEST_SESSION_TOKEN:-$GITLAB_QA_PRODUCTION_ACCESS_TOKEN}"
192
- - bundle exec exe/gitlab-qa-report --generate-test-session "gitlab-qa-run-*/**/rspec-*.json" --project "$QA_TESTCASE_SESSIONS_PROJECT"
193
-
194
- relate_test_failures:
195
- stage: report
196
- rules:
197
- - if: '$DISABLE_RELATING_FAILURE_ISSUES != null && $DISABLE_RELATING_FAILURE_ISSUES != ""'
198
- when: never
199
- - if: '$TOP_UPSTREAM_SOURCE_JOB !=null && $TOP_UPSTREAM_SOURCE_JOB !="" && $TOP_UPSTREAM_SOURCE_REF == $TOP_UPSTREAM_DEFAULT_BRANCH'
200
- when: always
201
- - if: '$TOP_UPSTREAM_SOURCE_JOB =~ /\Ahttps:\/\/ops.gitlab.net\//'
202
- when: always
203
- variables:
204
- QA_FAILURES_REPORTING_PROJECT: "gitlab-org/gitlab"
205
- QA_FAILURES_MAX_DIFF_RATIO: "0.15"
206
- # The --dry-run can be set to modify the behavior of `exe/gitlab-qa-report --relate-failure-issue` without releasing a new gem version.
207
- QA_FAILURES_REPORTER_OPTIONS: ""
208
- script:
209
- # Back-compatibility until we migrate all GITLAB_QA_PRODUCTION_ACCESS_TOKEN to QA_REPORT_RESULT_TOKEN.
210
- # See https://gitlab.com/gitlab-org/quality/engineering-productivity/team/-/issues/175#note_1281196581 for context.
211
- - export GITLAB_QA_ACCESS_TOKEN="${QA_REPORT_RESULT_TOKEN:-$GITLAB_QA_PRODUCTION_ACCESS_TOKEN}"
212
- - 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
213
-
214
- .notify_slack:
215
- image: alpine
216
- stage: notify
217
- dependencies: ['generate_test_session']
218
- cache: {}
219
- before_script:
220
- - apk update && apk add git curl bash
221
-
222
- notify_slack:
223
- extends:
224
- - .notify_slack
225
- rules:
226
- - if: '$TOP_UPSTREAM_SOURCE_JOB !=null && $TOP_UPSTREAM_SOURCE_JOB !="" && $NOTIFY_CHANNEL !=null && $NOTIFY_CHANNEL !=""'
227
- when: on_failure
228
- - if: '$TOP_UPSTREAM_SOURCE_JOB !=null && $TOP_UPSTREAM_SOURCE_JOB !="" && $TOP_UPSTREAM_SOURCE_REF == $TOP_UPSTREAM_DEFAULT_BRANCH'
229
- when: on_failure
230
- script:
231
- - export RELEASE=${TOP_UPSTREAM_SOURCE_REF:-$RELEASE}
232
- - echo "NOTIFY_CHANNEL is ${NOTIFY_CHANNEL:=qa-$TOP_UPSTREAM_SOURCE_REF}"
233
- - echo "RELEASE is ${RELEASE}"
234
- - echo "CI_PIPELINE_URL is $CI_PIPELINE_URL"
235
- - echo "TOP_UPSTREAM_SOURCE_JOB is $TOP_UPSTREAM_SOURCE_JOB"
236
- - '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'
237
-
238
- generate-allure-report:
239
- extends: .generate-allure-report-base
240
- stage: report
241
- variables:
242
- ALLURE_RESULTS_GLOB: gitlab-qa-run-*/**/allure-results/*
243
- cache:
244
- policy: pull
245
- before_script:
246
- - export STORAGE_CREDENTIALS=$QA_ALLURE_REPORT_GCS_CREDENTIALS
247
- - export GITLAB_AUTH_TOKEN=$GITLAB_QA_MR_ALLURE_REPORT_TOKEN
248
- # Set allure variables for merge request comment based on pipeline source
249
- - export ALLURE_MERGE_REQUEST_IID=${TOP_UPSTREAM_MERGE_REQUEST_IID:-$CI_MERGE_REQUEST_IID}
250
- - export ALLURE_PROJECT_PATH=${TOP_UPSTREAM_SOURCE_PROJECT:-$CI_MERGE_REQUEST_PROJECT_PATH}
251
- - export ALLURE_COMMIT_SHA=${TOP_UPSTREAM_SOURCE_SHA:-$CI_MERGE_REQUEST_SOURCE_BRANCH_SHA}
252
- rules:
253
- # Don't run report generation on release pipelines
254
- - if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab-qa" && $RELEASE == null'
255
- changes: ["lib/**/version.rb"]
256
- when: never
257
- - if: '$CI_COMMIT_TAG'
258
- when: never
259
- - if: '$ALLURE_JOB_NAME'
260
- when: always
261
-
262
- generate-knapsack-report:
263
- extends: .generate-knapsack-report-base
264
- image:
265
- name: ${QA_IMAGE}
266
- stage: report
267
-
268
- include:
269
- - local: .gitlab/ci/rules.gitlab-ci.yml
270
- - project: 'gitlab-org/quality/pipeline-common'
271
- file:
272
- - '/ci/allure-report.yml'
273
- - '/ci/knapsack-report.yml'
@@ -1,22 +0,0 @@
1
- ee:chaos:
2
- extends:
3
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
4
- - .test
5
- - .high-capacity
6
- - .ee-variables
7
- - .rspec-report-opts
8
- variables:
9
- QA_SCENARIO: "Test::Integration::Chaos"
10
- QA_RSPEC_TAGS: "--tag chaos"
11
-
12
- ee:chaos-quarantine:
13
- extends:
14
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
15
- - .test
16
- - .high-capacity
17
- - .ee-variables
18
- - .quarantine
19
- - .rspec-report-opts
20
- variables:
21
- QA_SCENARIO: "Test::Integration::Chaos"
22
- QA_RSPEC_TAGS: "--tag quarantine --tag chaos"
@@ -1,24 +0,0 @@
1
- ee:cloud-activation:
2
- extends:
3
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
4
- - .test
5
- - .high-capacity
6
- - .ee-variables
7
- - .rspec-report-opts
8
- - .combined-gitlab-qa-options-script
9
- variables:
10
- QA_RSPEC_TAGS: "--tag cloud_activation"
11
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --seed-db license*.rb"
12
-
13
- ee:cloud-activation-quarantine:
14
- extends:
15
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
16
- - .test
17
- - .high-capacity
18
- - .ee-variables
19
- - .quarantine
20
- - .rspec-report-opts
21
- - .combined-gitlab-qa-options-script
22
- variables:
23
- QA_RSPEC_TAGS: "--tag cloud_activation"
24
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --seed-db license*.rb"
@@ -1,21 +0,0 @@
1
- ce:custom-parallel:
2
- extends:
3
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
4
- - .test
5
- - .high-capacity
6
- - .rspec-report-opts
7
- - .no-issue-report-script
8
- - .ce-variables
9
- allow_failure: true
10
- parallel: 10
11
-
12
- ee:custom-parallel:
13
- extends:
14
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
15
- - .test
16
- - .high-capacity
17
- - .ee-variables
18
- - .rspec-report-opts
19
- - .no-issue-report-script
20
- allow_failure: true
21
- parallel: 10
@@ -1,27 +0,0 @@
1
- ce:decomposition_multiple_db:
2
- extends:
3
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
4
- - .rules:ce-never-when-qa-tests-specified
5
- - .test
6
- - .high-capacity
7
- - .ce-variables
8
- - .rspec-report-opts
9
- - .combined-gitlab-qa-options-script
10
- parallel: 5
11
- variables:
12
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config decomposition_multiple_db"
13
- GITLAB_ALLOW_SEPARATE_CI_DATABASE: "true"
14
-
15
- ee:decomposition_multiple_db:
16
- extends:
17
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
18
- - .rules:ee-never-when-qa-tests-specified
19
- - .test
20
- - .ee-variables
21
- - .high-capacity
22
- - .rspec-report-opts
23
- - .combined-gitlab-qa-options-script
24
- parallel: 5
25
- variables:
26
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config decomposition_multiple_db"
27
- GITLAB_ALLOW_SEPARATE_CI_DATABASE: "true"
@@ -1,25 +0,0 @@
1
- ce:decomposition_single_db:
2
- extends:
3
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
4
- - .rules:ce-never-when-qa-tests-specified
5
- - .test
6
- - .high-capacity
7
- - .ce-variables
8
- - .rspec-report-opts
9
- - .combined-gitlab-qa-options-script
10
- parallel: 5
11
- variables:
12
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config decomposition_single_db"
13
-
14
- ee:decomposition_single_db:
15
- extends:
16
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
17
- - .rules:ee-never-when-qa-tests-specified
18
- - .test
19
- - .ee-variables
20
- - .high-capacity
21
- - .rspec-report-opts
22
- - .combined-gitlab-qa-options-script
23
- parallel: 5
24
- variables:
25
- GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config decomposition_single_db"
@@ -1,18 +0,0 @@
1
- ee-previous-to-ce:update:
2
- script:
3
- - bundle exec exe/gitlab-qa Test::Omnibus::Update EE CE -- $RSPEC_REPORT_OPTS
4
- extends:
5
- - .rules:only-qa-never-when-triggered-by-feature-flag-definition-change
6
- - .test
7
- - .high-capacity
8
- - .rspec-report-opts
9
-
10
- ee-previous-to-ce:update-quarantine:
11
- script:
12
- - bundle exec exe/gitlab-qa Test::Omnibus::Update EE CE -- --tag quarantine --tag ~orchestrated $RSPEC_REPORT_OPTS
13
- extends:
14
- - .rules:only-qa-never-when-triggered-by-feature-flag-definition-change
15
- - .test
16
- - .high-capacity
17
- - .quarantine
18
- - .rspec-report-opts
@@ -1,20 +0,0 @@
1
- ee:elasticsearch:
2
- extends:
3
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
4
- - .test
5
- - .high-capacity
6
- - .ee-variables
7
- - .rspec-report-opts
8
- variables:
9
- QA_SCENARIO: "Test::Integration::Elasticsearch"
10
-
11
- ee:elasticsearch-quarantine:
12
- extends:
13
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
14
- - .test
15
- - .high-capacity
16
- - .ee-variables
17
- - .quarantine
18
- - .rspec-report-opts
19
- variables:
20
- QA_SCENARIO: "Test::Integration::Elasticsearch"
@@ -1,18 +0,0 @@
1
- ee:geo:
2
- extends:
3
- - .test
4
- - .ee-variables
5
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
6
- - .rspec-report-opts
7
- variables:
8
- QA_SCENARIO: "Test::Integration::Geo"
9
-
10
- ee:geo-quarantine:
11
- extends:
12
- - .test
13
- - .ee-variables
14
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
15
- - .quarantine
16
- - .rspec-report-opts
17
- variables:
18
- QA_SCENARIO: "Test::Integration::Geo"
@@ -1,41 +0,0 @@
1
- ce:gitaly-cluster:
2
- extends:
3
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
4
- - .test
5
- - .high-capacity
6
- - .ce-variables
7
- - .rspec-report-opts
8
- variables:
9
- QA_SCENARIO: "Test::Integration::GitalyCluster"
10
-
11
- ce:gitaly-cluster-quarantine:
12
- extends:
13
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
14
- - .test
15
- - .high-capacity
16
- - .ce-variables
17
- - .quarantine
18
- - .rspec-report-opts
19
- variables:
20
- QA_SCENARIO: "Test::Integration::GitalyCluster"
21
-
22
- ee:gitaly-cluster:
23
- extends:
24
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
25
- - .test
26
- - .high-capacity
27
- - .ee-variables
28
- - .rspec-report-opts
29
- variables:
30
- QA_SCENARIO: "Test::Integration::GitalyCluster"
31
-
32
- ee:gitaly-cluster-quarantine:
33
- extends:
34
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
35
- - .test
36
- - .high-capacity
37
- - .ee-variables
38
- - .quarantine
39
- - .rspec-report-opts
40
- variables:
41
- QA_SCENARIO: "Test::Integration::GitalyCluster"
@@ -1,19 +0,0 @@
1
- ce:gitlab_pages:
2
- extends:
3
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
4
- - .test
5
- - .high-capacity
6
- - .ce-variables
7
- - .rspec-report-opts
8
- variables:
9
- QA_SCENARIO: "Test::Integration::GitlabPages"
10
-
11
- ee:gitlab_pages:
12
- extends:
13
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
14
- - .test
15
- - .high-capacity
16
- - .ee-variables
17
- - .rspec-report-opts
18
- variables:
19
- QA_SCENARIO: "Test::Integration::GitlabPages"
@@ -1,20 +0,0 @@
1
- ee:group_saml:
2
- extends:
3
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
4
- - .test
5
- - .high-capacity
6
- - .ee-variables
7
- - .rspec-report-opts
8
- variables:
9
- QA_SCENARIO: "Test::Integration::GroupSAML"
10
-
11
- ee:group_saml-quarantine:
12
- extends:
13
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
14
- - .test
15
- - .high-capacity
16
- - .ee-variables
17
- - .quarantine
18
- - .rspec-report-opts
19
- variables:
20
- QA_SCENARIO: "Test::Integration::GroupSAML"
@@ -1,55 +0,0 @@
1
- ce:instance-parallel:
2
- extends:
3
- - .rules:ce-never-when-qa-tests-specified
4
- - .test
5
- - .high-capacity
6
- - .ce-variables
7
- - .rspec-report-opts
8
- parallel: 5
9
-
10
- ee:instance-parallel:
11
- extends:
12
- - .rules:ee-never-when-qa-tests-specified
13
- - .test
14
- - .high-capacity
15
- - .ee-variables
16
- - .rspec-report-opts
17
- parallel: 5
18
-
19
- ce:instance:
20
- extends:
21
- - .rules:ce-never-when-qa-tests-not-specified
22
- - .test
23
- - .high-capacity
24
- - .ce-variables
25
- - .rspec-report-opts
26
-
27
- ce:instance-quarantine:
28
- extends:
29
- - .rules:ce-qa
30
- - .test
31
- - .high-capacity
32
- - .ce-variables
33
- - .quarantine
34
- - .rspec-report-opts
35
- variables:
36
- QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
37
-
38
- ee:instance:
39
- extends:
40
- - .rules:ee-never-when-qa-tests-not-specified
41
- - .test
42
- - .high-capacity
43
- - .ee-variables
44
- - .rspec-report-opts
45
-
46
- ee:instance-quarantine:
47
- extends:
48
- - .rules:ee-qa
49
- - .test
50
- - .high-capacity
51
- - .ee-variables
52
- - .quarantine
53
- - .rspec-report-opts
54
- variables:
55
- QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
@@ -1,41 +0,0 @@
1
- ce:instance_saml:
2
- extends:
3
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
4
- - .test
5
- - .high-capacity
6
- - .ce-variables
7
- - .rspec-report-opts
8
- variables:
9
- QA_SCENARIO: "Test::Integration::InstanceSAML"
10
-
11
- ce:instance_saml-quarantine:
12
- extends:
13
- - .rules:ce-never-when-triggered-by-feature-flag-definition-change
14
- - .test
15
- - .high-capacity
16
- - .ce-variables
17
- - .quarantine
18
- - .rspec-report-opts
19
- variables:
20
- QA_SCENARIO: "Test::Integration::InstanceSAML"
21
-
22
- ee:instance_saml:
23
- extends:
24
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
25
- - .test
26
- - .high-capacity
27
- - .ee-variables
28
- - .rspec-report-opts
29
- variables:
30
- QA_SCENARIO: "Test::Integration::InstanceSAML"
31
-
32
- ee:instance_saml-quarantine:
33
- extends:
34
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
35
- - .test
36
- - .high-capacity
37
- - .ee-variables
38
- - .quarantine
39
- - .rspec-report-opts
40
- variables:
41
- QA_SCENARIO: "Test::Integration::InstanceSAML"
@@ -1,14 +0,0 @@
1
- ee:integrations:
2
- extends:
3
- - .rules:ee-never-when-triggered-by-feature-flag-definition-change
4
- - .test
5
- - .high-capacity
6
- - .ee-variables
7
- - .rspec-report-opts
8
- variables:
9
- QA_SCENARIO: "Test::Integration::Integrations"
10
-
11
- ee:integrations-quarantine:
12
- extends:
13
- - ee:integrations
14
- - .quarantine