gitlab-qa 7.27.1 → 7.27.2
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.
- checksums.yaml +4 -4
- data/.gitlab/ci/jobs/base.gitlab-ci.yml +5 -11
- data/.gitlab/ci/jobs/ci_decomposition.gitlab-ci.yml +2 -0
- data/.gitlab-ci.yml +8 -3
- data/docs/what_tests_can_be_run.md +0 -17
- data/lib/gitlab/qa/component/gitlab.rb +1 -0
- data/lib/gitlab/qa/report/test_result.rb +7 -0
- data/lib/gitlab/qa/runtime/omnibus_configurations/object_storage.rb +8 -10
- data/lib/gitlab/qa/scenario/test/integration/registry_with_cdn.rb +1 -0
- data/lib/gitlab/qa/version.rb +1 -1
- data/lib/gitlab/qa.rb +0 -1
- data/scripts/generate-qa-jobs.rb +0 -1
- metadata +2 -4
- data/.gitlab/ci/jobs/actioncable.gitlab-ci.yml +0 -41
- data/lib/gitlab/qa/scenario/test/integration/actioncable.rb +0 -34
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 888a15b623b94cf6a072af7edf18d11952ff971a661d1fd4d154b28a627c9509
|
4
|
+
data.tar.gz: c5e6cb25a0ecda8f4237186249ec44b246254df78b26e1372569500c00901c6c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 17a2b9f2863cf42a36f5e72e39a90b17ad00367be81ec2f5e61b35299086e470f227d46c5e1b186abb52c49bab82d6289010a0e4e1410f74d51e779a1cfadec0
|
7
|
+
data.tar.gz: cfb21124fbd588d157ce8f93fb83300fdb521ddfbfde2e1fd4853aa966cf418075607496671aa5a739656d33acead7524e607076945b305279fa4db94d61a80c
|
@@ -245,14 +245,12 @@ generate-allure-report:
|
|
245
245
|
cache:
|
246
246
|
policy: pull
|
247
247
|
before_script:
|
248
|
-
# Override allure variables for upstream triggers
|
249
|
-
# Override default before script and don't push cache
|
250
248
|
- export STORAGE_CREDENTIALS=$QA_ALLURE_REPORT_GCS_CREDENTIALS
|
251
249
|
- export GITLAB_AUTH_TOKEN=$GITLAB_QA_MR_ALLURE_REPORT_TOKEN
|
252
|
-
|
253
|
-
- export ALLURE_MERGE_REQUEST_IID=$TOP_UPSTREAM_MERGE_REQUEST_IID
|
254
|
-
- export
|
255
|
-
- export
|
250
|
+
# Set allure variables for merge request comment based on pipeline source
|
251
|
+
- export ALLURE_MERGE_REQUEST_IID=${TOP_UPSTREAM_MERGE_REQUEST_IID:-$CI_MERGE_REQUEST_IID}
|
252
|
+
- export ALLURE_PROJECT_PATH=${TOP_UPSTREAM_SOURCE_PROJECT:-$CI_MERGE_REQUEST_PROJECT_PATH}
|
253
|
+
- export ALLURE_COMMIT_SHA=${TOP_UPSTREAM_SOURCE_SHA:-$CI_MERGE_REQUEST_SOURCE_BRANCH_SHA}
|
256
254
|
rules:
|
257
255
|
# Don't run report generation on release pipelines
|
258
256
|
- if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab-qa" && $RELEASE == null'
|
@@ -260,11 +258,7 @@ generate-allure-report:
|
|
260
258
|
when: never
|
261
259
|
- if: '$CI_COMMIT_TAG'
|
262
260
|
when: never
|
263
|
-
- if: '$
|
264
|
-
variables:
|
265
|
-
ALLURE_JOB_NAME: gitlab-qa
|
266
|
-
when: always
|
267
|
-
- if: '$TOP_UPSTREAM_SOURCE_PROJECT != null && $TOP_UPSTREAM_SOURCE_PROJECT != "" && $TOP_UPSTREAM_SOURCE_SHA != null && $TOP_UPSTREAM_SOURCE_SHA != ""'
|
261
|
+
- if: '$ALLURE_JOB_NAME'
|
268
262
|
when: always
|
269
263
|
|
270
264
|
generate-knapsack-report:
|
@@ -10,6 +10,7 @@ ce:ci_decomposition:
|
|
10
10
|
parallel: 5
|
11
11
|
variables:
|
12
12
|
GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config ci_decomposition"
|
13
|
+
allow_failure: true # https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/1329
|
13
14
|
|
14
15
|
ee:ci_decomposition:
|
15
16
|
extends:
|
@@ -23,3 +24,4 @@ ee:ci_decomposition:
|
|
23
24
|
parallel: 5
|
24
25
|
variables:
|
25
26
|
GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --omnibus-config ci_decomposition"
|
27
|
+
allow_failure: true # https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/1329
|
data/.gitlab-ci.yml
CHANGED
@@ -25,12 +25,18 @@ workflow:
|
|
25
25
|
rules:
|
26
26
|
# For merge requests, create a pipeline.
|
27
27
|
- if: '$CI_MERGE_REQUEST_IID'
|
28
|
+
variables:
|
29
|
+
ALLURE_JOB_NAME: gitlab-qa
|
28
30
|
# For the default branch, create a pipeline (this includes on schedules, pushes, merges, etc.).
|
29
31
|
- if: '$CI_COMMIT_BRANCH == "master"'
|
30
|
-
|
31
|
-
|
32
|
+
variables:
|
33
|
+
ALLURE_JOB_NAME: gitlab-qa
|
32
34
|
# For triggers from GitLab MR pipelines (and pipelines from other projects), create a pipeline
|
33
35
|
- if: '$CI_PIPELINE_SOURCE == "pipeline"'
|
36
|
+
variables:
|
37
|
+
ALLURE_JOB_NAME: package-and-qa
|
38
|
+
# For tags, create a pipeline.
|
39
|
+
- if: '$CI_COMMIT_TAG'
|
34
40
|
# When using Run pipeline button in the GitLab UI, from the project’s CI/CD > Pipelines section, create a pipeline.
|
35
41
|
- if: '$CI_PIPELINE_SOURCE == "web"'
|
36
42
|
|
@@ -94,7 +100,6 @@ generate-jobs:
|
|
94
100
|
- bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS --tag repository_storage
|
95
101
|
- bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS --tag packages
|
96
102
|
- bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS --tag integrations
|
97
|
-
- bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS --tag actioncable
|
98
103
|
- bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS --tag mtls
|
99
104
|
- bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS --tag jira
|
100
105
|
- bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS --tag can_use_large_setup
|
@@ -651,23 +651,6 @@ $ export EE_LICENSE=$(cat /path/to/GitLab.gitlab_license)
|
|
651
651
|
$ gitlab-qa Test::Integration::Jira EE
|
652
652
|
```
|
653
653
|
|
654
|
-
### `Test::Integration::Actioncable CE|EE|<full image address>`
|
655
|
-
|
656
|
-
This tests the real-time assignees feature by setting
|
657
|
-
`actioncable['enable'] = true` in the Omnibus configuration
|
658
|
-
before starting the GitLab container.
|
659
|
-
|
660
|
-
To run tests against the GitLab container, a GitLab QA (`gitlab/gitlab-qa`)
|
661
|
-
container is spun up and tests are run from it by running the
|
662
|
-
`Test::Instance::All` scenario with the `--tag actioncable` RSpec parameter,
|
663
|
-
which runs only the tests with `:actioncable` metadata.
|
664
|
-
|
665
|
-
Example:
|
666
|
-
|
667
|
-
```
|
668
|
-
$ gitlab-qa Test::Integration::Actioncable CE
|
669
|
-
```
|
670
|
-
|
671
654
|
### `Test::Integration::Integrations CE|<full image address>`
|
672
655
|
|
673
656
|
This scenario is intended to test the different integrations that a GitLab instance can offer, such as WebHooks to an external service, Jenkins, etc.
|
@@ -176,6 +176,7 @@ module Gitlab
|
|
176
176
|
|
177
177
|
self.exec_commands += seed_admin_token_command if seed_admin_token
|
178
178
|
self.exec_commands += seed_test_data_command if seed_db
|
179
|
+
self.exec_commands += Runtime::Scenario.omnibus_exec_commands
|
179
180
|
|
180
181
|
Runtime::Logger.info("Running exec_commands...")
|
181
182
|
exec_commands.flatten.uniq.each { |command| @docker.exec(name, command) }
|
@@ -114,6 +114,9 @@ module Gitlab
|
|
114
114
|
line.include?(File.basename(report['file_path']))
|
115
115
|
end
|
116
116
|
|
117
|
+
exception['message'].gsub!(/(private_token=)[\w-]+/, '********')
|
118
|
+
exception['message_lines'].each { |line| line.gsub!(/(private_token=)([\w-]+)/, '********') }
|
119
|
+
|
117
120
|
{
|
118
121
|
'message' => "#{exception['class']}: #{exception['message']}",
|
119
122
|
'message_lines' => exception['message_lines'],
|
@@ -145,6 +148,7 @@ module Gitlab
|
|
145
148
|
|
146
149
|
private
|
147
150
|
|
151
|
+
# rubocop:disable Metrics/AbcSize
|
148
152
|
def failures_from_exceptions
|
149
153
|
failures = report.search('failure')
|
150
154
|
return [] if failures.empty?
|
@@ -155,12 +159,15 @@ module Gitlab
|
|
155
159
|
line.include?(File.basename(report['file']))
|
156
160
|
end
|
157
161
|
|
162
|
+
exception['message'].gsub!(/(private_token=)[\w-]+/, '********')
|
163
|
+
|
158
164
|
{
|
159
165
|
'message' => "#{exception['type']}: #{exception['message']}",
|
160
166
|
'stacktrace' => trace.slice(0..spec_file_first_index).join("\n")
|
161
167
|
}
|
162
168
|
end
|
163
169
|
end
|
170
|
+
# rubocop:enable Metrics/AbcSize
|
164
171
|
end
|
165
172
|
end
|
166
173
|
end
|
@@ -5,21 +5,19 @@ module Gitlab
|
|
5
5
|
module Runtime
|
6
6
|
module OmnibusConfigurations
|
7
7
|
class ObjectStorage < Default
|
8
|
-
TYPES = %w[artifacts external_diffs lfs uploads packages dependency_proxy].freeze
|
8
|
+
TYPES = %w[artifacts external_diffs lfs uploads packages dependency_proxy terraform_state pages].freeze
|
9
9
|
|
10
10
|
def configuration
|
11
|
-
TYPES.each_with_object(+'') do |object_type, omnibus|
|
11
|
+
config = TYPES.each_with_object(+'') do |object_type, omnibus|
|
12
12
|
omnibus << <<~OMNIBUS
|
13
|
-
gitlab_rails['#{object_type}
|
14
|
-
gitlab_rails['#{object_type}_storage_path'] = '/var/opt/gitlab/gitlab-rails/shared/#{object_type}'
|
15
|
-
gitlab_rails['#{object_type}_object_store_enabled'] = true
|
16
|
-
gitlab_rails['#{object_type}_object_store_remote_directory'] = '#{object_type}-bucket'
|
17
|
-
gitlab_rails['#{object_type}_object_store_background_upload'] = false
|
18
|
-
gitlab_rails['#{object_type}_object_store_direct_upload'] = true
|
19
|
-
gitlab_rails['#{object_type}_object_store_proxy_download'] = true
|
20
|
-
gitlab_rails['#{object_type}_object_store_connection'] = #{minio.to_config}
|
13
|
+
gitlab_rails['object_store']['objects']['#{object_type}']['bucket'] = '#{object_type}-bucket'
|
21
14
|
OMNIBUS
|
22
15
|
end
|
16
|
+
config << <<~OMNIBUS
|
17
|
+
gitlab_rails['object_store']['enabled'] = true
|
18
|
+
gitlab_rails['object_store']['proxy_download'] = true
|
19
|
+
gitlab_rails['object_store']['connection'] = #{minio.to_config}
|
20
|
+
OMNIBUS
|
23
21
|
end
|
24
22
|
|
25
23
|
def prepare
|
@@ -13,6 +13,7 @@ module Gitlab
|
|
13
13
|
gitlab.release = release
|
14
14
|
gitlab.network = 'test'
|
15
15
|
gitlab.name = 'gitlab'
|
16
|
+
gitlab.seed_admin_token = false
|
16
17
|
sign_url_key_path = gitlab.copy_key_file('GOOGLE_CDN_SIGNURL_KEY')
|
17
18
|
cdn_gcloud_path = gitlab.copy_key_file('GOOGLE_CDN_JSON_KEY')
|
18
19
|
|
data/lib/gitlab/qa/version.rb
CHANGED
data/lib/gitlab/qa.rb
CHANGED
@@ -55,7 +55,6 @@ module Gitlab
|
|
55
55
|
end
|
56
56
|
|
57
57
|
module Integration
|
58
|
-
autoload :Actioncable, 'gitlab/qa/scenario/test/integration/actioncable'
|
59
58
|
autoload :Geo, 'gitlab/qa/scenario/test/integration/geo'
|
60
59
|
autoload :LDAP, 'gitlab/qa/scenario/test/integration/ldap'
|
61
60
|
autoload :LDAPNoTLS, 'gitlab/qa/scenario/test/integration/ldap_no_tls'
|
data/scripts/generate-qa-jobs.rb
CHANGED
@@ -34,7 +34,6 @@ class GenerateQAJobs
|
|
34
34
|
jobs.concat(load_yml_contents('object_storage_registry_tls')) if should_run?('test_integration_registrytls')
|
35
35
|
jobs.concat(load_yml_contents('registry')) if should_run?('test_integration_registry')
|
36
36
|
jobs.concat(load_yml_contents('packages')) if should_run?('test_instance_all_packages')
|
37
|
-
jobs.concat(load_yml_contents('actioncable')) if should_run?('test_instance_all_actioncable')
|
38
37
|
jobs.concat(load_yml_contents('elasticsearch')) if should_run?('test_integration_elasticsearch')
|
39
38
|
jobs.concat(load_yml_contents('praefect')) if should_run?('test_instance_all')
|
40
39
|
jobs.concat(load_yml_contents('gitaly_cluster')) if should_run?('test_instance_all')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitlab-qa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.27.
|
4
|
+
version: 7.27.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GitLab Quality
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-05-
|
11
|
+
date: 2022-05-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: climate_control
|
@@ -218,7 +218,6 @@ files:
|
|
218
218
|
- ".dockerignore"
|
219
219
|
- ".gitignore"
|
220
220
|
- ".gitlab-ci.yml"
|
221
|
-
- ".gitlab/ci/jobs/actioncable.gitlab-ci.yml"
|
222
221
|
- ".gitlab/ci/jobs/base.gitlab-ci.yml"
|
223
222
|
- ".gitlab/ci/jobs/ci_decomposition.gitlab-ci.yml"
|
224
223
|
- ".gitlab/ci/jobs/cloud_activation.gitlab-ci.yml"
|
@@ -364,7 +363,6 @@ files:
|
|
364
363
|
- lib/gitlab/qa/scenario/test/instance/staging_geo.rb
|
365
364
|
- lib/gitlab/qa/scenario/test/instance/staging_ref.rb
|
366
365
|
- lib/gitlab/qa/scenario/test/instance/staging_ref_geo.rb
|
367
|
-
- lib/gitlab/qa/scenario/test/integration/actioncable.rb
|
368
366
|
- lib/gitlab/qa/scenario/test/integration/client_ssl.rb
|
369
367
|
- lib/gitlab/qa/scenario/test/integration/elasticsearch.rb
|
370
368
|
- lib/gitlab/qa/scenario/test/integration/geo.rb
|
@@ -1,41 +0,0 @@
|
|
1
|
-
ce:actioncable:
|
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::Actioncable"
|
10
|
-
|
11
|
-
ce:actioncable-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::Actioncable"
|
21
|
-
|
22
|
-
ee:actioncable:
|
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::Actioncable"
|
31
|
-
|
32
|
-
ee:actioncable-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::Actioncable"
|
@@ -1,34 +0,0 @@
|
|
1
|
-
module Gitlab
|
2
|
-
module QA
|
3
|
-
module Scenario
|
4
|
-
module Test
|
5
|
-
module Integration
|
6
|
-
class Actioncable < Scenario::Template
|
7
|
-
def perform(release, *rspec_args)
|
8
|
-
Component::Gitlab.perform do |gitlab|
|
9
|
-
gitlab.release = QA::Release.new(release)
|
10
|
-
gitlab.name = 'gitlab-actioncable'
|
11
|
-
gitlab.network = 'test'
|
12
|
-
gitlab.omnibus_configuration << "actioncable['enable'] = true"
|
13
|
-
|
14
|
-
gitlab.instance do
|
15
|
-
Runtime::Logger.info('Running actioncable specs!')
|
16
|
-
|
17
|
-
rspec_args << "--" unless rspec_args.include?('--')
|
18
|
-
rspec_args << %w[--tag actioncable]
|
19
|
-
|
20
|
-
Component::Specs.perform do |specs|
|
21
|
-
specs.suite = 'Test::Instance::All'
|
22
|
-
specs.release = gitlab.release
|
23
|
-
specs.network = gitlab.network
|
24
|
-
specs.args = [gitlab.address, *rspec_args]
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|