gitlab-qa 7.31.0 → 7.34.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.
- 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
|