gitlab-qa 8.3.0 → 8.4.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/Gemfile.lock +1 -1
- data/lib/gitlab/qa/component/specs.rb +14 -6
- data/lib/gitlab/qa/docker/engine.rb +2 -10
- data/lib/gitlab/qa/release.rb +19 -10
- data/lib/gitlab/qa/runtime/env.rb +1 -0
- data/lib/gitlab/qa/scenario/test/instance/deployment_base.rb +0 -5
- 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: 0e196fadefd8ed7eb786eccf7b619ce3173077a85a42039c0e93174c3d468a4e
|
4
|
+
data.tar.gz: 99c644f122bf4c4db3b95032c39d572946597c983d00f6b4bb2949034df39055
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9e458196a7efd87fe5b432ee30bc8bc29bc88d18b3037e0be9ad1fb7beaf14537603ae14d2d6482a6154c990687b71ff25043877c410af55a67e61325c5eef4
|
7
|
+
data.tar.gz: 46803ea55f474a5a2b2b4f145200497f3d7646a11574cd1300ae068289c85da94003ef6d57638aec3d34d46474f80c99eafe6b146dbf331f412c203d745bd360
|
data/Gemfile.lock
CHANGED
@@ -14,8 +14,14 @@ module Gitlab
|
|
14
14
|
|
15
15
|
def initialize
|
16
16
|
@docker = Docker::Engine.new(stream_output: true) # stream test output directly instead of through logger
|
17
|
-
@volumes = {}
|
18
17
|
@env = {}
|
18
|
+
@volumes = {}
|
19
|
+
@default_volumes = { '/var/run/docker.sock' => '/var/run/docker.sock' }
|
20
|
+
return if Runtime::Env.qa_knapsack_report_path.blank?
|
21
|
+
|
22
|
+
@default_volumes[Runtime::Env.qa_knapsack_report_path] = File.join(
|
23
|
+
Docker::Volumes::QA_CONTAINER_WORKDIR, 'knapsack'
|
24
|
+
)
|
19
25
|
end
|
20
26
|
|
21
27
|
def perform
|
@@ -59,12 +65,12 @@ module Gitlab
|
|
59
65
|
command.env(key, value)
|
60
66
|
end
|
61
67
|
|
62
|
-
command.volume(
|
63
|
-
|
68
|
+
command.volume(
|
69
|
+
File.join(Runtime::Env.host_artifacts_dir, name),
|
70
|
+
File.join(Docker::Volumes::QA_CONTAINER_WORKDIR, 'tmp')
|
71
|
+
)
|
64
72
|
|
65
|
-
|
66
|
-
command.volume(to, from)
|
67
|
-
end
|
73
|
+
volumes.to_h.merge(default_volumes).each { |to, from| command.volume(to, from) }
|
68
74
|
|
69
75
|
command.name(name)
|
70
76
|
end
|
@@ -73,6 +79,8 @@ module Gitlab
|
|
73
79
|
|
74
80
|
private
|
75
81
|
|
82
|
+
attr_reader :default_volumes
|
83
|
+
|
76
84
|
def docker_pull_qa_image_if_needed
|
77
85
|
@docker.login(**release.login_params) if release.login_params
|
78
86
|
|
@@ -119,19 +119,11 @@ module Gitlab
|
|
119
119
|
end
|
120
120
|
|
121
121
|
def container_exists?(name)
|
122
|
-
Docker::Command.execute("container
|
123
|
-
rescue Docker::Shellout::StatusError
|
124
|
-
false
|
125
|
-
else
|
126
|
-
true
|
122
|
+
!Docker::Command.execute("container list --all --format '{{.Names}}' --filter name=^#{name}$").empty?
|
127
123
|
end
|
128
124
|
|
129
125
|
def network_exists?(name)
|
130
|
-
Docker::Command.execute("network
|
131
|
-
rescue Docker::Shellout::StatusError
|
132
|
-
false
|
133
|
-
else
|
134
|
-
true
|
126
|
+
!Docker::Command.execute("network list --format '{{.Name}}' --filter name=^#{name}$").empty?
|
135
127
|
end
|
136
128
|
|
137
129
|
def network_create(name)
|
data/lib/gitlab/qa/release.rb
CHANGED
@@ -9,19 +9,19 @@ module Gitlab
|
|
9
9
|
(-qa)?
|
10
10
|
(:(?<tag>.+))?
|
11
11
|
\z
|
12
|
-
/xi
|
12
|
+
/xi.freeze
|
13
13
|
CUSTOM_GITLAB_IMAGE_REGEX = %r{
|
14
14
|
\A
|
15
15
|
(?<image_without_tag>
|
16
|
-
(?<registry>[
|
17
|
-
|
16
|
+
(?<registry>[^/:]+(:(?<port>\d+))?)
|
17
|
+
(?<project>.+)
|
18
18
|
gitlab-
|
19
19
|
(?<edition>ce|ee)
|
20
20
|
)
|
21
21
|
(-qa)?
|
22
22
|
(:(?<tag>.+))?
|
23
23
|
\z
|
24
|
-
}xi
|
24
|
+
}xi.freeze
|
25
25
|
|
26
26
|
# Official dev tag example:
|
27
27
|
# 12.5.4(-rc42)-ee
|
@@ -35,7 +35,7 @@ module Gitlab
|
|
35
35
|
\A
|
36
36
|
(?<version>\d+\.\d+.\d+(?:-rc\d+)?)-(?<edition>ce|ee)
|
37
37
|
\z
|
38
|
-
/xi
|
38
|
+
/xi.freeze
|
39
39
|
|
40
40
|
# Dev tag example:
|
41
41
|
# 12.1.201906121026-325a6632895.b340d0bd35d
|
@@ -47,9 +47,9 @@ module Gitlab
|
|
47
47
|
# version
|
48
48
|
DEV_TAG_REGEX = /
|
49
49
|
\A
|
50
|
-
(?<version>\d+\.\d+(.\d+)?)\.(?<timestamp>\d+)
|
50
|
+
(?<version>\d+\.\d+(.\d+)?)\.(?<timestamp>\d+)-(?<gitlab_ref>[A-Za-z0-9]+)\.(?<omnibus_ref>[A-Za-z0-9]+)
|
51
51
|
\z
|
52
|
-
/xi
|
52
|
+
/xi.freeze
|
53
53
|
|
54
54
|
DEFAULT_TAG = 'latest'
|
55
55
|
DEFAULT_CANONICAL_TAG = 'nightly'
|
@@ -63,8 +63,9 @@ module Gitlab
|
|
63
63
|
|
64
64
|
def initialize(release)
|
65
65
|
@release = release.to_s.downcase
|
66
|
+
return if valid?
|
66
67
|
|
67
|
-
raise InvalidImageNameError, "The release image name '#{@release}' does not have the expected format."
|
68
|
+
raise InvalidImageNameError, "The release image name '#{@release}' does not have the expected format."
|
68
69
|
end
|
69
70
|
|
70
71
|
def to_s
|
@@ -106,7 +107,14 @@ module Gitlab
|
|
106
107
|
end
|
107
108
|
|
108
109
|
def qa_image
|
109
|
-
|
110
|
+
@qa_image ||= if omnibus_mirror?
|
111
|
+
omnibus_project = image.match(CUSTOM_GITLAB_IMAGE_REGEX)[:project]
|
112
|
+
gitlab_project = "/gitlab-org/gitlab/"
|
113
|
+
|
114
|
+
"#{image.gsub(omnibus_project, gitlab_project)}-qa"
|
115
|
+
else
|
116
|
+
"#{image}-qa"
|
117
|
+
end
|
110
118
|
end
|
111
119
|
|
112
120
|
def project_name
|
@@ -133,7 +141,7 @@ module Gitlab
|
|
133
141
|
if dev_gitlab_org? && (match_data = tag.match(DEV_TAG_REGEX))
|
134
142
|
"#{match_data[:version]}-#{match_data[:gitlab_ref]}"
|
135
143
|
else
|
136
|
-
tag.sub(/[
|
144
|
+
tag.sub(/[-.]([ce]e)(\.(\d+))?\z/, '-\1')
|
137
145
|
end
|
138
146
|
end
|
139
147
|
|
@@ -158,6 +166,7 @@ module Gitlab
|
|
158
166
|
|
159
167
|
[Runtime::Env.gitlab_username, Runtime::Env.qa_access_token]
|
160
168
|
end
|
169
|
+
|
161
170
|
{
|
162
171
|
username: username,
|
163
172
|
password: password,
|
@@ -81,6 +81,7 @@ module Gitlab
|
|
81
81
|
'KNAPSACK_TEST_FILE_PATTERN' => :knapsack_test_file_pattern,
|
82
82
|
'KNAPSACK_TEST_DIR' => :knapsack_test_dir,
|
83
83
|
'QA_KNAPSACK_REPORT_GCS_CREDENTIALS' => :qa_knapsack_report_gcs_credentials,
|
84
|
+
'QA_KNAPSACK_REPORT_PATH' => :qa_knapsack_report_path,
|
84
85
|
'CI' => :ci,
|
85
86
|
'CI_COMMIT_REF_NAME' => :ci_commit_ref_name,
|
86
87
|
'CI_JOB_NAME' => :ci_job_name,
|
@@ -29,7 +29,6 @@ module Gitlab
|
|
29
29
|
specs.suite = @suite
|
30
30
|
specs.release = release
|
31
31
|
specs.args = non_rspec_args.push(*args)
|
32
|
-
specs.volumes[host_knapsack_report_path] = "/home/gitlab/qa/knapsack" if host_knapsack_report_path
|
33
32
|
end
|
34
33
|
end
|
35
34
|
|
@@ -40,10 +39,6 @@ module Gitlab
|
|
40
39
|
def deployment_component
|
41
40
|
raise NotImplementedError, 'Please define the Component for the deployment environment associated with this scenario.'
|
42
41
|
end
|
43
|
-
|
44
|
-
def host_knapsack_report_path
|
45
|
-
ENV["QA_KNAPSACK_REPORT_PATH"]
|
46
|
-
end
|
47
42
|
end
|
48
43
|
end
|
49
44
|
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: 8.
|
4
|
+
version: 8.4.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-08-
|
11
|
+
date: 2022-08-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: climate_control
|