gitlab-qa 7.31.0 → 7.34.0
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 +0 -1
- data/.gitlab/ci/jobs/cloud_activation.gitlab-ci.yml +2 -2
- data/Gemfile.lock +1 -1
- data/docs/what_tests_can_be_run.md +2 -1
- data/lib/gitlab/qa/report/test_result.rb +1 -1
- data/lib/gitlab/qa/runtime/logger.rb +1 -1
- data/lib/gitlab/qa/scenario/test/integration/gitaly_cluster.rb +49 -27
- data/lib/gitlab/qa/test_logger.rb +2 -1
- data/lib/gitlab/qa/version.rb +1 -1
- data/support/data/license_usage_seed.rb +1 -0
- 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: 917c47b2fbead3c77db3cd6c441995a8324ed73735262542dcd94de854022a35
|
4
|
+
data.tar.gz: 7785db11c9eb0f1f7ff2ecf32b16b8fd95ad9bab9391711f2d0af05a7e903153
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c509e252f4bd1e7d405d517920e306e2cdf5233cd73a5fbf25a878cbb863a7c21e5fedb007c8ef461f7e34e1899b27ff989d92182c427575a125f4c99a39de9d
|
7
|
+
data.tar.gz: 9011ddab65c7c0218ed49a5cbd2cdaa26f2b2ce013eb005d9ba63ee067ce18306bf8475861156ca52d7e2272cc9c94588ac86016e90e7901ecdac94d4e2f6cbf
|
@@ -11,7 +11,7 @@ ee:cloud-activation:
|
|
11
11
|
- .combined-gitlab-qa-options-script
|
12
12
|
variables:
|
13
13
|
QA_RSPEC_TAGS: "--tag cloud_activation"
|
14
|
-
GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --
|
14
|
+
GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --seed-db license*.rb"
|
15
15
|
|
16
16
|
ee:cloud-activation-quarantine:
|
17
17
|
before_script:
|
@@ -27,4 +27,4 @@ ee:cloud-activation-quarantine:
|
|
27
27
|
- .combined-gitlab-qa-options-script
|
28
28
|
variables:
|
29
29
|
QA_RSPEC_TAGS: "--tag cloud_activation"
|
30
|
-
GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --
|
30
|
+
GITLAB_QA_OPTIONS_COMBINED: "$GITLAB_QA_OPTIONS --seed-db license*.rb"
|
data/Gemfile.lock
CHANGED
@@ -68,7 +68,8 @@ All environment variables used by GitLab QA should be defined in [`lib/gitlab/qa
|
|
68
68
|
| `QA_PRAEFECT_REPOSITORY_STORAGE` |- | The name of repository storage using Praefect. Note: Admin access is required to change repository storage. | No|
|
69
69
|
| `QA_COOKIES` |- | Optionally set to "cookie1=value;cookie2=value" in order to add a cookie to every request. This can be used to set the canary cookie by setting it to "gitlab_canary=true". | No|
|
70
70
|
| `QA_DEBUG` |- | Set to `true` to verbosely log page object actions. Note: if enabled be aware that sensitive data might be logged. If an input element has a QA selector with `password` in the name, data entered into the input element will be masked. If the element doesn't have `password` in its name it won't be masked. | No|
|
71
|
-
| `
|
71
|
+
| `QA_LOG_LEVEL` | `info` | Logging level to use for gitlab-qa output and qa tests output | No|
|
72
|
+
| `QA_LOG_PATH` | `QA_ARTIFACTS_DIR` | Path to output debug logging to. | No|
|
72
73
|
| `QA_CAN_TEST_GIT_PROTOCOL_V2` | `true` | Set to `false` to skip tests that require Git protocol v2 if your environment doesn't support it. | No|
|
73
74
|
| `QA_CAN_TEST_ADMIN_FEATURES` | `true` | Set to `false` to skip tests that require admin access. | No|
|
74
75
|
| `QA_CAN_TEST_PRAEFECT` | `true` | Set to `false` to skip tests that require Praefect to be running. | No|
|
@@ -115,7 +115,7 @@ module Gitlab
|
|
115
115
|
end
|
116
116
|
|
117
117
|
exception['message'].gsub!(/(private_token=)[\w-]+/, '********')
|
118
|
-
exception['message_lines'].each { |line| line.gsub!(/(private_token=)([\w-]+)/, '********') }
|
118
|
+
Array(exception['message_lines']).each { |line| line.gsub!(/(private_token=)([\w-]+)/, '********') }
|
119
119
|
|
120
120
|
{
|
121
121
|
'message' => "#{exception['class']}: #{exception['message']}",
|
@@ -16,7 +16,7 @@ module Gitlab
|
|
16
16
|
log_path = Env.log_path
|
17
17
|
::FileUtils.mkdir_p(log_path) unless File.exist?(log_path)
|
18
18
|
|
19
|
-
TestLogger.logger(level: Env.
|
19
|
+
TestLogger.logger(level: Env.log_level, path: log_path)
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
@@ -20,28 +20,14 @@ module Gitlab
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def perform(release, *rspec_args)
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
sql.run_psql '-d template1 -c "CREATE DATABASE praefect_production OWNER postgres"'
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
praefect_node = Component::Gitlab.new.tap do |praefect|
|
36
|
-
praefect.release = QA::Release.new(release)
|
37
|
-
praefect.name = @praefect_node_name
|
38
|
-
praefect.network = @network
|
39
|
-
praefect.skip_availability_check = true
|
40
|
-
praefect.seed_admin_token = false
|
41
|
-
|
42
|
-
praefect.omnibus_configuration << praefect_omnibus_configuration
|
43
|
-
|
44
|
-
praefect.instance(skip_teardown: true)
|
23
|
+
# The postgres container starts in seconds so not essential to parallelize it
|
24
|
+
# This also ensure that the docker network is created here, avoiding any potential race conditions later
|
25
|
+
# if the gitaly-cluster and GitLab containers attempt to create a network in parallel
|
26
|
+
@sql_node = postgres
|
27
|
+
|
28
|
+
gitaly_cluster = Thread.new do
|
29
|
+
Thread.current.abort_on_exception = true
|
30
|
+
start_gitaly_cluster(release)
|
45
31
|
end
|
46
32
|
|
47
33
|
Component::Gitlab.perform do |gitlab|
|
@@ -51,6 +37,8 @@ module Gitlab
|
|
51
37
|
|
52
38
|
gitlab.omnibus_configuration << gitlab_omnibus_configuration
|
53
39
|
gitlab.instance do
|
40
|
+
# Wait for gitaly cluster to finish booting, before attempting to run specs
|
41
|
+
gitaly_cluster.join
|
54
42
|
Runtime::Logger.info('Running Gitaly Cluster specs!')
|
55
43
|
|
56
44
|
if @tag
|
@@ -68,15 +56,25 @@ module Gitlab
|
|
68
56
|
end
|
69
57
|
end
|
70
58
|
ensure
|
71
|
-
praefect_node&.teardown
|
72
|
-
sql_node&.teardown
|
73
|
-
gitaly_primary_node&.teardown
|
74
|
-
gitaly_secondary_node&.teardown
|
75
|
-
gitaly_tertiary_node&.teardown
|
59
|
+
@praefect_node&.teardown
|
60
|
+
@sql_node&.teardown
|
61
|
+
@gitaly_primary_node&.teardown
|
62
|
+
@gitaly_secondary_node&.teardown
|
63
|
+
@gitaly_tertiary_node&.teardown
|
76
64
|
end
|
77
65
|
|
78
66
|
private
|
79
67
|
|
68
|
+
def start_gitaly_cluster(release)
|
69
|
+
Runtime::Logger.info("Starting Gitaly Cluster")
|
70
|
+
@gitaly_primary_node = gitaly(@primary_node_name, release)
|
71
|
+
@gitaly_secondary_node = gitaly(@secondary_node_name, release)
|
72
|
+
@gitaly_tertiary_node = gitaly(@tertiary_node_name, release)
|
73
|
+
|
74
|
+
@praefect_node = praefect(@praefect_node_name, release)
|
75
|
+
Runtime::Logger.info("Gitaly Cluster Ready")
|
76
|
+
end
|
77
|
+
|
80
78
|
def disable_other_services
|
81
79
|
<<~OMNIBUS
|
82
80
|
postgresql['enable'] = false;
|
@@ -191,6 +189,30 @@ module Gitlab
|
|
191
189
|
OMNIBUS
|
192
190
|
end
|
193
191
|
|
192
|
+
def praefect(name, release)
|
193
|
+
Component::Gitlab.new.tap do |praefect|
|
194
|
+
praefect.release = QA::Release.new(release)
|
195
|
+
praefect.name = name
|
196
|
+
praefect.network = @network
|
197
|
+
praefect.skip_availability_check = true
|
198
|
+
praefect.seed_admin_token = false
|
199
|
+
|
200
|
+
praefect.omnibus_configuration << praefect_omnibus_configuration
|
201
|
+
|
202
|
+
praefect.instance(skip_teardown: true)
|
203
|
+
end
|
204
|
+
end
|
205
|
+
|
206
|
+
def postgres
|
207
|
+
Component::PostgreSQL.new.tap do |sql|
|
208
|
+
sql.name = @database
|
209
|
+
sql.network = @network
|
210
|
+
sql.instance(skip_teardown: true) do
|
211
|
+
sql.run_psql '-d template1 -c "CREATE DATABASE praefect_production OWNER postgres"'
|
212
|
+
end
|
213
|
+
end
|
214
|
+
end
|
215
|
+
|
194
216
|
def gitaly(name, release)
|
195
217
|
Component::Gitlab.new.tap do |gitaly|
|
196
218
|
gitaly.release = QA::Release.new(release)
|
@@ -68,12 +68,13 @@ module Gitlab
|
|
68
68
|
|
69
69
|
# Log message prefix
|
70
70
|
#
|
71
|
+
# @note when outputted, the date will be formatted as "Jun 07 2022 11:30:00 UTC"
|
71
72
|
# @param [DateTime] date
|
72
73
|
# @param [String] source
|
73
74
|
# @param [String] severity
|
74
75
|
# @return [String]
|
75
76
|
def message_prefix(date, source, severity)
|
76
|
-
"[
|
77
|
+
"[#{date.strftime('%h %d %Y %H:%M:%S %Z')} (#{source})] #{severity.ljust(5)} -- "
|
77
78
|
end
|
78
79
|
end
|
79
80
|
end
|
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: 7.
|
4
|
+
version: 7.34.0
|
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-06-
|
11
|
+
date: 2022-06-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: climate_control
|