gitlab-qa 6.18.0 → 6.20.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitlab-ci.yml +1 -1
- data/docs/what_tests_can_be_run.md +2 -0
- data/lib/gitlab/qa/component/gitlab.rb +5 -1
- data/lib/gitlab/qa/component/specs.rb +4 -2
- data/lib/gitlab/qa/report/generate_test_session.rb +5 -3
- data/lib/gitlab/qa/report/relate_failure_issue.rb +1 -1
- data/lib/gitlab/qa/runtime/env.rb +6 -1
- data/lib/gitlab/qa/scenario/test/instance/staging.rb +9 -1
- data/lib/gitlab/qa/scenario/test/integration/mtls.rb +2 -0
- data/lib/gitlab/qa/scenario/test/integration/ssh_tunnel.rb +1 -1
- data/lib/gitlab/qa/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c136a0788938d35b97aa2ead0aeb2c1cf49a3d4b88234b84bdc63fca74077f9c
|
4
|
+
data.tar.gz: 3af3761d7ec9c0b454f213a3adaba033d72f9eefa96551a7027d858a6a022c50
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 73fefa1d944152d2792b353ee133846d077ffdae97f706fe20011d6327e82a9a627b301933b814eb214f5206566855c5a212af2bb7b56cee8a845fd3943e29c4
|
7
|
+
data.tar.gz: a4375e5f172c5c578f5fd389d1f3012247688c76b33465e44459581e2b126805a3d85bc851c70755bb4c850e26b3df186d97868a2d7ad37987e822608a412f99
|
data/.gitlab-ci.yml
CHANGED
@@ -1023,7 +1023,7 @@ relate_test_failures:
|
|
1023
1023
|
when: always
|
1024
1024
|
variables:
|
1025
1025
|
QA_FAILURES_REPORTING_PROJECT: "gitlab-org/gitlab"
|
1026
|
-
QA_FAILURES_MAX_DIFF_RATIO: "0.
|
1026
|
+
QA_FAILURES_MAX_DIFF_RATIO: "0.15"
|
1027
1027
|
# The --dry-run can be set to modify the behavior of `exe/gitlab-qa-report --relate-failure-issue` without releasing a new gem version.
|
1028
1028
|
QA_FAILURES_REPORTER_OPTIONS: ""
|
1029
1029
|
script:
|
@@ -84,6 +84,8 @@ All environment variables used by GitLab QA should be defined in [`lib/gitlab/qa
|
|
84
84
|
| `CACHE_NAMESPACE_NAME` | `true` | Cache namespace name for groups. | No|
|
85
85
|
| `DEPLOY_VERSION` |- | The version of GitLab being tested against. | No|
|
86
86
|
| `GITLAB_QA_USER_AGENT` |- | The browser user-agent to use instead of the default Chrome user-agent. | No|
|
87
|
+
| `GEO_FAILOVER` | `false` | Set to `true` when a Geo secondary site has been promoted to a Geo primary site. | No|
|
88
|
+
|
87
89
|
|
88
90
|
## [Supported Remote Grid environment variables](./running_against_remote_grid.md)
|
89
91
|
|
@@ -30,7 +30,6 @@ module Gitlab
|
|
30
30
|
@skip_availability_check = false
|
31
31
|
|
32
32
|
@volumes[GITLAB_CERTIFICATES_PATH] = SSL_PATH
|
33
|
-
@volumes[TRUSTED_CERTIFICATES_PATH] = TRUSTED_PATH
|
34
33
|
|
35
34
|
self.release = 'CE'
|
36
35
|
end
|
@@ -72,6 +71,11 @@ module Gitlab
|
|
72
71
|
def mtls
|
73
72
|
@volumes.delete(GITLAB_CERTIFICATES_PATH)
|
74
73
|
@volumes[GITALY_CERTIFICATES_PATH] = SSL_PATH
|
74
|
+
set_trusted_certificates
|
75
|
+
end
|
76
|
+
|
77
|
+
def set_trusted_certificates
|
78
|
+
@volumes[TRUSTED_CERTIFICATES_PATH] = TRUSTED_PATH
|
75
79
|
end
|
76
80
|
|
77
81
|
def relative_path
|
@@ -17,8 +17,6 @@ module Gitlab
|
|
17
17
|
@docker = Docker::Engine.new
|
18
18
|
@volumes = {}
|
19
19
|
@env = {}
|
20
|
-
|
21
|
-
@volumes[TRUSTED_CERTIFICATES_PATH] = TRUSTED_PATH
|
22
20
|
end
|
23
21
|
|
24
22
|
def perform # rubocop:disable Metrics/AbcSize
|
@@ -67,6 +65,10 @@ module Gitlab
|
|
67
65
|
end
|
68
66
|
end
|
69
67
|
|
68
|
+
def mtls
|
69
|
+
@volumes[TRUSTED_CERTIFICATES_PATH] = TRUSTED_PATH
|
70
|
+
end
|
71
|
+
|
70
72
|
private
|
71
73
|
|
72
74
|
def args_with_flags(args, feature_flag_set)
|
@@ -23,9 +23,11 @@ module Gitlab
|
|
23
23
|
)
|
24
24
|
|
25
25
|
# Workaround for https://gitlab.com/gitlab-org/gitlab/-/issues/295493
|
26
|
-
|
27
|
-
|
28
|
-
|
26
|
+
unless Runtime::Env.qa_issue_url.to_s.empty?
|
27
|
+
gitlab.create_issue_note(
|
28
|
+
iid: issue.iid,
|
29
|
+
note: "/relate #{Runtime::Env.qa_issue_url}")
|
30
|
+
end
|
29
31
|
|
30
32
|
File.write('REPORT_ISSUE_URL', issue.web_url)
|
31
33
|
end
|
@@ -9,7 +9,7 @@ module Gitlab
|
|
9
9
|
module Report
|
10
10
|
# Uses the API to create or update GitLab issues with the results of tests from RSpec report files.
|
11
11
|
class RelateFailureIssue < ReportAsIssue
|
12
|
-
DEFAULT_MAX_DIFF_RATIO_FOR_DETECTION = 0.
|
12
|
+
DEFAULT_MAX_DIFF_RATIO_FOR_DETECTION = 0.15
|
13
13
|
FAILURE_STACKTRACE_REGEX = %r{((.*Failure\/Error:(?<stacktrace>.+))|(?<stacktrace>.+))}m.freeze
|
14
14
|
ISSUE_STACKTRACE_REGEX = /### Stack trace\s*(```)#{FAILURE_STACKTRACE_REGEX}(```)/m.freeze
|
15
15
|
NEW_ISSUE_LABELS = Set.new(%w[QA Quality test failure::investigating priority::2]).freeze
|
@@ -87,7 +87,8 @@ module Gitlab
|
|
87
87
|
'JIRA_ADMIN_PASSWORD' => :jira_admin_password,
|
88
88
|
'CACHE_NAMESPACE_NAME' => :cache_namespace_name,
|
89
89
|
'DEPLOY_VERSION' => :deploy_version,
|
90
|
-
'GITLAB_QA_USER_AGENT' => :gitlab_qa_user_agent
|
90
|
+
'GITLAB_QA_USER_AGENT' => :gitlab_qa_user_agent,
|
91
|
+
'GEO_FAILOVER' => :geo_failover
|
91
92
|
}.freeze
|
92
93
|
|
93
94
|
ENV_VARIABLES.each do |env_name, method_name|
|
@@ -283,6 +284,10 @@ module Gitlab
|
|
283
284
|
enabled?(ENV['QA_SKIP_PULL'], default: false)
|
284
285
|
end
|
285
286
|
|
287
|
+
def geo_failover?
|
288
|
+
enabled?(ENV['GEO_FAILOVER'], default: false)
|
289
|
+
end
|
290
|
+
|
286
291
|
private
|
287
292
|
|
288
293
|
def enabled?(value, default: true)
|
@@ -4,12 +4,20 @@ module Gitlab
|
|
4
4
|
module Test
|
5
5
|
module Instance
|
6
6
|
##
|
7
|
-
# Run test suite against staging.gitlab.com
|
7
|
+
# Run test suite against staging.gitlab.com (or geo.staging.gitlab.com during failover)
|
8
8
|
#
|
9
9
|
class Staging < DeploymentBase
|
10
10
|
def deployment_component
|
11
11
|
Component::Staging
|
12
12
|
end
|
13
|
+
|
14
|
+
def non_rspec_args
|
15
|
+
if Runtime::Env.geo_failover?
|
16
|
+
[deployment_component::GEO_SECONDARY_ADDRESS]
|
17
|
+
else
|
18
|
+
[deployment_component::ADDRESS]
|
19
|
+
end
|
20
|
+
end
|
13
21
|
end
|
14
22
|
end
|
15
23
|
end
|
@@ -34,6 +34,7 @@ module Gitlab
|
|
34
34
|
gitlab.set_accept_insecure_certs
|
35
35
|
gitlab.omnibus_config = gitlab_omnibus
|
36
36
|
gitlab.tls = true
|
37
|
+
gitlab.set_trusted_certificates
|
37
38
|
|
38
39
|
gitlab.instance do
|
39
40
|
puts "Running mTLS specs!"
|
@@ -49,6 +50,7 @@ module Gitlab
|
|
49
50
|
specs.network = gitlab.network
|
50
51
|
specs.args = [gitlab.address, *rspec_args]
|
51
52
|
specs.env = @env
|
53
|
+
specs.mtls
|
52
54
|
end
|
53
55
|
end
|
54
56
|
end
|
@@ -27,7 +27,7 @@ module Gitlab
|
|
27
27
|
nginx['listen_port'] = 80;
|
28
28
|
nginx['listen_https'] = false;
|
29
29
|
# documentation: https://docs.gitlab.com/omnibus/settings/database.html#seed-the-database-fresh-installs-only
|
30
|
-
gitlab_rails['initial_root_password'] = '#{Runtime::Env.require_initial_password}'
|
30
|
+
gitlab_rails['initial_root_password'] = '#{Runtime::Env.require_initial_password!}'
|
31
31
|
|
32
32
|
registry_external_url '#{tunnel_registry.url}';
|
33
33
|
registry_nginx['listen_port'] = 80;
|
data/lib/gitlab/qa/version.rb
CHANGED
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: 6.
|
4
|
+
version: 6.20.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Grzegorz Bizon
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-01-
|
11
|
+
date: 2021-01-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: climate_control
|