gitlab-qa 9.1.1 → 10.0.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.
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