gitlab-qa 7.27.1 → 7.27.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|