gitlab-qa 14.20.0 → 15.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/docs/run_qa_against_gdk.md +2 -2
- data/docs/what_tests_can_be_run.md +2 -19
- data/lib/gitlab/qa/runtime/env.rb +6 -22
- data/lib/gitlab/qa/runtime/omnibus_configurations/default.rb +1 -1
- data/lib/gitlab/qa/scenario/test/integration/import.rb +123 -25
- data/lib/gitlab/qa/scenario/test/integration/import_with_smtp.rb +30 -0
- data/lib/gitlab/qa/scenario/test/integration/mtls.rb +37 -42
- data/lib/gitlab/qa/version.rb +1 -1
- data/lib/gitlab/qa.rb +2 -1
- data/rubocop/cop/gitlab/dangerous_interpolation.rb +0 -2
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f9382f0cd194cff2449dde64bb2df1726490adedcd2092ba2dbf86f13b29cc61
|
4
|
+
data.tar.gz: 5cd6ade9b04efc469c5f150d7f6d9fb542aa176858dd24be6d5cffb54625d32a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec4030accb53dc9962aa48df455f1f5537fdc5549b94d5c4224f223bbe27d98a1c9fcca1b4381d79053710aac1eb450298f3782c8a2b53902fba865eda4da5ef
|
7
|
+
data.tar.gz: 85f0e1f30d57a5d86f94e612cdfe0c1ccb981ea9e12db6433db433301a7ea6836cfc61a83368d7fdc3d3470b917f67e09ce51c2eb095bb39acd0aad1125a04cf
|
data/Gemfile.lock
CHANGED
data/docs/run_qa_against_gdk.md
CHANGED
@@ -54,11 +54,11 @@ If they do not match, a test will be signed out when it visits a page directly b
|
|
54
54
|
**Note:** When you log into your GDK instance of GitLab for the first time, the root password requires a change.
|
55
55
|
GitLab QA expects the default initial password to be used in tests; see all default values listed in
|
56
56
|
[Supported GitLab environment variables](what_tests_can_be_run.md#supported-gitlab-environment-variables).
|
57
|
-
If you have changed your root password, you must set the `
|
57
|
+
If you have changed your root password, you must set the `GITLAB_ADMIN_PASSWORD` environment
|
58
58
|
variable.
|
59
59
|
|
60
60
|
```shell
|
61
|
-
export
|
61
|
+
export GITLAB_ADMIN_PASSWORD="<GDK root password>"
|
62
62
|
```
|
63
63
|
|
64
64
|
**Note**: If you encounter the following error, you can resolve it by unsetting the Docker host environment variable using the command `unset DOCKER_HOST`:
|
@@ -36,20 +36,8 @@ All environment variables used by GitLab QA should be defined in [`lib/gitlab/qa
|
|
36
36
|
|-----------------------|-----------|-----------------------|----------|
|
37
37
|
| `GITLAB_USERNAME` | `root` | Username to use when signing into GitLab. | Yes|
|
38
38
|
| `GITLAB_PASSWORD` | `5iveL!fe` | Password to use when signing into GitLab. | Yes|
|
39
|
-
| `GITLAB_FORKER_USERNAME`|- | Username to use for forking a project. | Yes|
|
40
|
-
| `GITLAB_FORKER_PASSWORD`|- | Password to use for forking a project. | Yes|
|
41
39
|
| `GITLAB_QA_USERNAME_1` |- | Username available in environments where signup is disabled. | No|
|
42
40
|
| `GITLAB_QA_PASSWORD_1` |- | Password for `GITLAB_QA_USERNAME_1` available in environments where signup is disabled (e.g. staging.gitlab.com). | No|
|
43
|
-
| `GITLAB_QA_USERNAME_2` |- | Another username available in environments where signup is disabled. | No|
|
44
|
-
| `GITLAB_QA_PASSWORD_2` |- | Password for `GITLAB_QA_USERNAME_2` available in environments where signup is disabled (e.g. staging.gitlab.com). | No|
|
45
|
-
| `GITLAB_QA_USERNAME_3` |- | Another username available in environments where signup is disabled. | No|
|
46
|
-
| `GITLAB_QA_PASSWORD_3` |- | Password for `GITLAB_QA_USERNAME_3` available in environments where signup is disabled (e.g. staging.gitlab.com). | No|
|
47
|
-
| `GITLAB_QA_USERNAME_4` |- | Another username available in environments where signup is disabled. | No|
|
48
|
-
| `GITLAB_QA_PASSWORD_4` |- | Password for `GITLAB_QA_USERNAME_4` available in environments where signup is disabled (e.g. staging.gitlab.com). | No|
|
49
|
-
| `GITLAB_QA_USERNAME_5` |- | Another username available in environments where signup is disabled. | No|
|
50
|
-
| `GITLAB_QA_PASSWORD_5` |- | Password for `GITLAB_QA_USERNAME_5` available in environments where signup is disabled (e.g. staging.gitlab.com). | No|
|
51
|
-
| `GITLAB_QA_USERNAME_6` |- | Another username available in environments where signup is disabled. | No|
|
52
|
-
| `GITLAB_QA_PASSWORD_6` |- | Password for `GITLAB_QA_USERNAME_6` available in environments where signup is disabled (e.g. staging.gitlab.com). | No|
|
53
41
|
| `GITLAB_LDAP_USERNAME` |- | LDAP username to use when signing into GitLab. | No|
|
54
42
|
| `GITLAB_LDAP_PASSWORD` |- | LDAP password to use when signing into GitLab. | No|
|
55
43
|
| `GITLAB_ADMIN_USERNAME` |- | Admin username to use when adding a license. | No|
|
@@ -99,7 +87,6 @@ All environment variables used by GitLab QA should be defined in [`lib/gitlab/qa
|
|
99
87
|
| `DEPLOY_VERSION` |- | The version of GitLab being tested against. | No|
|
100
88
|
| `GITLAB_QA_USER_AGENT` |- | The browser user-agent to use instead of the default Chrome user-agent. When set to the appropriate value (stored in 1Password), this allows tests to bypass certain login challenges (e.g., reCAPTCHA and ArkoseLabs). | No|
|
101
89
|
| `GEO_FAILOVER` | `false` | Set to `true` when a Geo secondary site has been promoted to a Geo primary site. | No|
|
102
|
-
| `GITLAB_INITIAL_ROOT_PASSWORD` | `5iveL!fe` | Initial root password for Omnibus installations | No|
|
103
90
|
| `COLORIZED_LOGS` | `false` | Colors GitLab QA and test logs to improve readability | No|
|
104
91
|
| `QA_DOCKER_ADD_HOSTS` |- | Comma separated list of hosts to add to /etc/hosts in docker container | No|
|
105
92
|
| `FIPS` |- | Set to `1` or `true` to indicate that the test is running under FIPS mode | No|
|
@@ -841,10 +828,6 @@ GitLab project).
|
|
841
828
|
|
842
829
|
- `GITLAB_ADMIN_PASSWORD`: The administrator user's password.
|
843
830
|
|
844
|
-
- `GITLAB_QA_USERNAME_X`: The username of a pre-generated test user, where `X` is `1` to `6`.
|
845
|
-
|
846
|
-
- `GITLAB_QA_PASSWORD_X`: The pre-generated test user's password.
|
847
|
-
|
848
831
|
**Optional environment variables:**
|
849
832
|
|
850
833
|
- `GITLAB_QA_DEV_ACCESS_TOKEN`: A valid personal access token for the
|
@@ -966,9 +949,9 @@ to the canary fleet.
|
|
966
949
|
|
967
950
|
**Required by specific tests:**
|
968
951
|
|
969
|
-
- `
|
952
|
+
- `GITLAB_QA_USERNAME_1`: The username of a pre-generated test user.
|
970
953
|
|
971
|
-
- `
|
954
|
+
- `GITLAB_QA_PASSWORD_1`: The pre-generated test user's password.
|
972
955
|
|
973
956
|
**Optional environment variables:**
|
974
957
|
|
@@ -11,6 +11,8 @@ module Gitlab
|
|
11
11
|
extend self
|
12
12
|
using Rainbow
|
13
13
|
|
14
|
+
DEFAULT_ADMIN_PASSWORD = '5iveL!fe'
|
15
|
+
|
14
16
|
# Variables that are used in tests and are passed through to the docker container that executes the tests.
|
15
17
|
# These variables should be listed in /docs/what_tests_can_be_run.md#supported-gitlab-environment-variables
|
16
18
|
# unless they're defined elsewhere (e.g.: https://docs.gitlab.com/ee/ci/variables/predefined_variables.html).
|
@@ -62,7 +64,6 @@ module Gitlab
|
|
62
64
|
'GITLAB_ADMIN_USERNAME' => :admin_username,
|
63
65
|
'GITLAB_FORKER_PASSWORD' => :forker_password,
|
64
66
|
'GITLAB_FORKER_USERNAME' => :forker_username,
|
65
|
-
'GITLAB_INITIAL_ROOT_PASSWORD' => :initial_root_password,
|
66
67
|
'GITLAB_LDAP_PASSWORD' => :ldap_password,
|
67
68
|
'GITLAB_LDAP_USERNAME' => :ldap_username,
|
68
69
|
'GITLAB_PASSWORD' => :user_password,
|
@@ -76,7 +77,6 @@ module Gitlab
|
|
76
77
|
'GITLAB_QA_PASSWORD_2' => :gitlab_qa_password_2,
|
77
78
|
'GITLAB_QA_USER_AGENT' => :gitlab_qa_user_agent,
|
78
79
|
'GITLAB_QA_USERNAME_1' => :gitlab_qa_username_1,
|
79
|
-
'GITLAB_QA_USERNAME_2' => :gitlab_qa_username_2,
|
80
80
|
'GITLAB_SANDBOX_NAME' => :gitlab_sandbox_name,
|
81
81
|
'GITLAB_TLS_CERTIFICATE' => :gitlab_tls_certificate,
|
82
82
|
'GITLAB_URL' => :gitlab_url,
|
@@ -187,6 +187,10 @@ module Gitlab
|
|
187
187
|
qa_variables.merge(defined_variables)
|
188
188
|
end
|
189
189
|
|
190
|
+
def admin_password
|
191
|
+
ENV['GITLAB_ADMIN_PASSWORD'] || DEFAULT_ADMIN_PASSWORD
|
192
|
+
end
|
193
|
+
|
190
194
|
# Variables that should be masked
|
191
195
|
#
|
192
196
|
# @return [Array] the values of the variables that should be masked
|
@@ -231,10 +235,6 @@ module Gitlab
|
|
231
235
|
env_var_name_if_defined('GITLAB_QA_DEV_ACCESS_TOKEN')
|
232
236
|
end
|
233
237
|
|
234
|
-
def initial_root_password
|
235
|
-
env_var_value_if_defined('GITLAB_INITIAL_ROOT_PASSWORD') || '5iveL!fe'
|
236
|
-
end
|
237
|
-
|
238
238
|
def host_artifacts_dir
|
239
239
|
@host_artifacts_dir ||= File.join(
|
240
240
|
env_var_value_if_defined('QA_ARTIFACTS_DIR') || '/tmp/gitlab-qa', Runtime::Env.run_id
|
@@ -333,22 +333,6 @@ module Gitlab
|
|
333
333
|
raise ArgumentError, "Please provide CLOUD_CONNECTOR_BASE_URL"
|
334
334
|
end
|
335
335
|
|
336
|
-
def require_initial_password!
|
337
|
-
return unless env_var_value_if_defined('GITLAB_INITIAL_ROOT_PASSWORD').to_s.strip.empty?
|
338
|
-
|
339
|
-
raise(
|
340
|
-
ArgumentError,
|
341
|
-
"Environment variable GITLAB_INITIAL_ROOT_PASSWORD must be provided to set an initial root password."
|
342
|
-
)
|
343
|
-
end
|
344
|
-
|
345
|
-
def override_default_password!
|
346
|
-
require_initial_password!
|
347
|
-
|
348
|
-
ENV['GITLAB_PASSWORD'] = initial_root_password
|
349
|
-
ENV['GITLAB_ADMIN_PASSWORD'] = initial_root_password
|
350
|
-
end
|
351
|
-
|
352
336
|
def skip_pull?
|
353
337
|
enabled?(env_var_value_if_defined('QA_SKIP_PULL'), default: false)
|
354
338
|
end
|
@@ -12,7 +12,7 @@ module Gitlab
|
|
12
12
|
gitlab_rails['gitlab_default_theme'] = 10 # Light Red Theme
|
13
13
|
gitlab_rails['gitlab_disable_animations'] = true # Disable animations
|
14
14
|
gitlab_rails['application_settings_cache_seconds'] = 0 # Settings cache expiry
|
15
|
-
gitlab_rails['initial_root_password'] = '#{Runtime::Env.
|
15
|
+
gitlab_rails['initial_root_password'] = '#{Runtime::Env.admin_password}' # Initial root password
|
16
16
|
OMNIBUS
|
17
17
|
end
|
18
18
|
|
@@ -15,19 +15,41 @@ module Gitlab
|
|
15
15
|
class Import < Scenario::Template
|
16
16
|
def initialize
|
17
17
|
@network = Runtime::Env.docker_network
|
18
|
-
|
19
|
-
@
|
20
|
-
@
|
21
|
-
|
22
|
-
|
23
|
-
|
18
|
+
|
19
|
+
@source_gitlab = new_gitlab_instance
|
20
|
+
@target_gitlab = new_gitlab_instance
|
21
|
+
@mock_server = new_mock_server
|
22
|
+
@mail_hog_server = new_mail_hog_server
|
23
|
+
@spec_suite = 'Test::Integration::Import'
|
24
|
+
end
|
25
|
+
|
26
|
+
attr_reader :source_gitlab, :target_gitlab, :mock_server, :network, :spec_suite, :mail_hog_server
|
27
|
+
|
28
|
+
def configure_omnibus(gitlab, mail_hog)
|
29
|
+
raise NotImplementedError
|
24
30
|
end
|
25
31
|
|
26
|
-
|
32
|
+
# Import tests that spins up two gitlab instances
|
33
|
+
#
|
34
|
+
# @example
|
35
|
+
# perform(gitlab-ee, gitlab-ee:17.4.0-ee.0)
|
36
|
+
# => will perform import from gitlab-ee:17.4.0-ee.0 to gitlab-ee
|
37
|
+
#
|
38
|
+
# @param [String] target_release target gitlab instance version release docker image(default)
|
39
|
+
# @param [String] source_release source gitlab instance version, if its not passed takes the target release as default
|
40
|
+
# @param [Array] *rspec_args rspec arguments
|
41
|
+
# @return [void]
|
42
|
+
def perform(target_release, source_release = nil, *rspec_args)
|
43
|
+
# When source_release isn't actually passed but RSpec args arg passed with `-- rspec_args...`,
|
44
|
+
# source_release is wrongly set to `--`, so we fix that here.
|
45
|
+
if source_release == "--"
|
46
|
+
rspec_args.prepend('--')
|
47
|
+
source_release = nil
|
48
|
+
end
|
27
49
|
|
28
|
-
|
50
|
+
source_release = target_release if source_release.nil?
|
29
51
|
start_mock_server
|
30
|
-
start_gitlab_instances(
|
52
|
+
start_gitlab_instances(source_release, target_release)
|
31
53
|
|
32
54
|
run_specs(rspec_args)
|
33
55
|
ensure
|
@@ -38,6 +60,45 @@ module Gitlab
|
|
38
60
|
|
39
61
|
private
|
40
62
|
|
63
|
+
# Initialize a mailhog instance
|
64
|
+
#
|
65
|
+
# @note this does not start the instance
|
66
|
+
# @return [Gitlab::QA::Component::MailHog] Mailhog instance
|
67
|
+
def new_mail_hog_server
|
68
|
+
Component::MailHog.new.tap do |mail_hog|
|
69
|
+
mail_hog.network = @network
|
70
|
+
mail_hog.set_mailhog_hostname
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
# Check if MailHog server is needed
|
75
|
+
#
|
76
|
+
# @param [Hash] gitlab_instance
|
77
|
+
# @return [Boolean]
|
78
|
+
def mail_hog_server_needed?(gitlab_instance)
|
79
|
+
respond_to?(:orchestrate_mail_hog_server) && gitlab_instance[:name] == "import-target"
|
80
|
+
end
|
81
|
+
|
82
|
+
# Start MailHog server
|
83
|
+
#
|
84
|
+
# @param [Hash] gitlab_instance
|
85
|
+
# @return [void]
|
86
|
+
def start_mail_hog_server(gitlab_instance)
|
87
|
+
configure_omnibus(gitlab_instance[:instance], mail_hog_server)
|
88
|
+
mail_hog_server.start_instance
|
89
|
+
end
|
90
|
+
|
91
|
+
# Initialize a mock server instance
|
92
|
+
#
|
93
|
+
# @note this does not start the instance
|
94
|
+
# @return [Gitlab::QA::Component::MockServer] mock server instance
|
95
|
+
def new_mock_server
|
96
|
+
Component::MockServer.new.tap do |server|
|
97
|
+
server.network = @network
|
98
|
+
server.tls = true
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
41
102
|
# Start mock server instance
|
42
103
|
#
|
43
104
|
# @return [void]
|
@@ -45,25 +106,60 @@ module Gitlab
|
|
45
106
|
mock_server.start_instance
|
46
107
|
end
|
47
108
|
|
48
|
-
#
|
109
|
+
# Initialize a gitlab instance
|
49
110
|
#
|
50
|
-
# @
|
111
|
+
# @note this does not start the instance
|
112
|
+
# @return [Gitlab::QA::Component::Gitlab] gitlab instance
|
113
|
+
def new_gitlab_instance
|
114
|
+
Component::Gitlab.new.tap { |gitlab| gitlab.network = @network }
|
115
|
+
end
|
116
|
+
|
117
|
+
# Setup GitLab instance
|
118
|
+
#
|
119
|
+
# @param [Hash] gitlab_instance
|
51
120
|
# @return [void]
|
52
|
-
def
|
53
|
-
|
54
|
-
|
55
|
-
|
121
|
+
def setup_gitlab_instance(gitlab_instance)
|
122
|
+
gitlab_instance[:instance].tap do |gitlab|
|
123
|
+
configure_gitlab_instance(gitlab, gitlab_instance)
|
124
|
+
start_mail_hog_server(gitlab_instance) if mail_hog_server_needed?(gitlab_instance)
|
125
|
+
gitlab.start_instance
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
# Configure GitLab instance
|
130
|
+
#
|
131
|
+
# @param [Gitlab::QA::Component::Gitlab] gitlab
|
132
|
+
# @param [Hash] gitlab_instance
|
133
|
+
# @return [void]
|
134
|
+
def configure_gitlab_instance(gitlab, gitlab_instance)
|
135
|
+
gitlab.name = gitlab_instance[:name]
|
136
|
+
gitlab.release = gitlab_instance[:release]
|
137
|
+
gitlab.additional_hosts = gitlab_instance[:additional_hosts]
|
138
|
+
gitlab.seed_admin_token = true
|
139
|
+
end
|
140
|
+
|
141
|
+
# Build GitLab instances
|
142
|
+
#
|
143
|
+
# @param [Gitlab::QA::Release] source_release
|
144
|
+
# @param [Gitlab::QA::Release] target_release
|
145
|
+
# @return [Array<Hash>]
|
146
|
+
def build_gitlab_instances(source_release, target_release)
|
147
|
+
[
|
148
|
+
{ instance: source_gitlab, name: "import-source", additional_hosts: [], release: source_release },
|
149
|
+
{ instance: target_gitlab, name: "import-target", additional_hosts: mocked_hosts, release: target_release }
|
56
150
|
]
|
151
|
+
end
|
152
|
+
|
153
|
+
# Start gitlab instance
|
154
|
+
#
|
155
|
+
# @param [Gitlab::QA::Release] source_release
|
156
|
+
# @param [Gitlab::QA::Release] target_release
|
157
|
+
# @return [void]
|
158
|
+
def start_gitlab_instances(source_release, target_release)
|
159
|
+
instances = build_gitlab_instances(source_release, target_release)
|
57
160
|
|
58
161
|
::Parallel.each(instances, in_threads: 2) do |gitlab_instance|
|
59
|
-
gitlab_instance
|
60
|
-
gitlab.name = gitlab_instance[:name]
|
61
|
-
gitlab.release = release
|
62
|
-
gitlab.additional_hosts = gitlab_instance[:additional_hosts]
|
63
|
-
gitlab.seed_admin_token = true
|
64
|
-
|
65
|
-
gitlab.start_instance
|
66
|
-
end
|
162
|
+
setup_gitlab_instance(gitlab_instance)
|
67
163
|
end
|
68
164
|
end
|
69
165
|
|
@@ -71,9 +167,11 @@ module Gitlab
|
|
71
167
|
#
|
72
168
|
# @param [Array] rspec_args
|
73
169
|
# @return [void]
|
74
|
-
def run_specs(rspec_args)
|
170
|
+
def run_specs(rspec_args) # rubocop:disable Metrics/AbcSize
|
171
|
+
Runtime::Logger.info("Running #{spec_suite} specs!")
|
172
|
+
|
75
173
|
Component::Specs.perform do |specs|
|
76
|
-
specs.suite =
|
174
|
+
specs.suite = spec_suite
|
77
175
|
specs.release = target_gitlab.release
|
78
176
|
specs.network = network
|
79
177
|
specs.args = [target_gitlab.address, *rspec_args]
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Gitlab
|
4
|
+
module QA
|
5
|
+
module Scenario
|
6
|
+
module Test
|
7
|
+
module Integration
|
8
|
+
# Scenario type for testing importers with smtp enabled in target gitlab instance
|
9
|
+
class ImportWithSMTP < Import
|
10
|
+
attr_reader :orchestrate_mail_hog_server
|
11
|
+
|
12
|
+
def initialize
|
13
|
+
super
|
14
|
+
@spec_suite = 'Test::Integration::ImportWithSMTP'
|
15
|
+
@orchestrate_mail_hog_server = true
|
16
|
+
end
|
17
|
+
|
18
|
+
def configure_omnibus(gitlab, mail_hog)
|
19
|
+
gitlab.omnibus_configuration << <<~OMNIBUS
|
20
|
+
gitlab_rails['smtp_enable'] = true;
|
21
|
+
gitlab_rails['smtp_address'] = '#{mail_hog.hostname}';
|
22
|
+
gitlab_rails['smtp_port'] = 1025;
|
23
|
+
OMNIBUS
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -16,60 +16,55 @@ module Gitlab
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def perform(release, *rspec_args)
|
19
|
-
|
20
|
-
|
21
|
-
# see https://github.com/moby/moby/issues/18864#issuecomment-167006094
|
22
|
-
# and also api docs https://github.com/moby/moby/blob/master/docs/api/v1.42.yaml#L9932-L9941
|
23
|
-
docker = Docker::Engine.new
|
24
|
-
docker.network_create(@network) unless docker.network_exists?(@network)
|
25
|
-
|
26
|
-
gitaly_thread = Thread.new do
|
27
|
-
Thread.current.abort_on_exception = true
|
28
|
-
@gitaly_node = Component::Gitlab.perform do |gitaly|
|
29
|
-
gitaly.release = QA::Release.new(release)
|
30
|
-
gitaly.name = @gitaly_name
|
31
|
-
gitaly.network = @network
|
32
|
-
gitaly.skip_availability_check = true
|
33
|
-
gitaly.seed_admin_token = false
|
34
|
-
|
35
|
-
gitaly.omnibus_configuration << gitaly_omnibus
|
36
|
-
gitaly.gitaly_tls = true
|
37
|
-
|
38
|
-
gitaly.instance(skip_teardown: true)
|
39
|
-
end
|
40
|
-
end
|
19
|
+
gitaly_node = gitaly_node(release)
|
20
|
+
gitaly_node.instance(skip_teardown: true)
|
41
21
|
|
42
22
|
Component::Gitlab.perform do |gitlab|
|
43
23
|
gitlab.release = QA::Release.new(release)
|
44
24
|
gitlab.name = @gitlab_name
|
45
25
|
gitlab.network = @network
|
46
|
-
|
47
|
-
gitlab.omnibus_configuration << gitlab_omnibus
|
26
|
+
gitlab.omnibus_configuration << gitlab_omnibus_config
|
48
27
|
gitlab.tls = true
|
49
28
|
|
50
29
|
gitlab.instance do
|
51
|
-
gitaly_thread.join
|
52
30
|
Runtime::Logger.info("Running mTLS specs!")
|
53
|
-
|
54
|
-
if @tag
|
55
|
-
rspec_args << "--" unless rspec_args.include?('--')
|
56
|
-
rspec_args << "--tag" << @tag
|
57
|
-
end
|
58
|
-
|
59
|
-
Component::Specs.perform do |specs|
|
60
|
-
specs.suite = @spec_suite
|
61
|
-
specs.release = gitlab.release
|
62
|
-
specs.network = gitlab.network
|
63
|
-
specs.args = [gitlab.address, *rspec_args]
|
64
|
-
specs.env = @env
|
65
|
-
end
|
31
|
+
run_mtls_specs(gitlab, *rspec_args)
|
66
32
|
end
|
67
33
|
end
|
68
|
-
|
69
|
-
|
34
|
+
gitaly_node.teardown
|
35
|
+
end
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
def gitaly_node(release)
|
40
|
+
Component::Gitlab.new.tap do |gitaly|
|
41
|
+
gitaly.release = QA::Release.new(release)
|
42
|
+
gitaly.name = @gitaly_name
|
43
|
+
gitaly.network = @network
|
44
|
+
gitaly.skip_availability_check = true
|
45
|
+
gitaly.seed_admin_token = false
|
46
|
+
|
47
|
+
gitaly.omnibus_configuration << gitaly_omnibus_config
|
48
|
+
gitaly.gitaly_tls = true
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def run_mtls_specs(gitlab, *rspec_args)
|
53
|
+
if @tag
|
54
|
+
rspec_args << "--" unless rspec_args.include?('--')
|
55
|
+
rspec_args << "--tag" << @tag
|
56
|
+
end
|
57
|
+
|
58
|
+
Component::Specs.perform do |specs|
|
59
|
+
specs.suite = @spec_suite
|
60
|
+
specs.release = gitlab.release
|
61
|
+
specs.network = gitlab.network
|
62
|
+
specs.args = [gitlab.address, *rspec_args]
|
63
|
+
specs.env = @env
|
64
|
+
end
|
70
65
|
end
|
71
66
|
|
72
|
-
def
|
67
|
+
def gitlab_omnibus_config
|
73
68
|
<<~OMNIBUS
|
74
69
|
gitaly['enable'] = false;
|
75
70
|
|
@@ -85,7 +80,7 @@ module Gitlab
|
|
85
80
|
OMNIBUS
|
86
81
|
end
|
87
82
|
|
88
|
-
def
|
83
|
+
def gitaly_omnibus_config
|
89
84
|
<<~OMNIBUS
|
90
85
|
gitaly['configuration'] = {
|
91
86
|
auth: {
|
data/lib/gitlab/qa/version.rb
CHANGED
data/lib/gitlab/qa.rb
CHANGED
@@ -67,7 +67,6 @@ module RuboCop
|
|
67
67
|
'GCLOUD_REGION' => :gcloud_region,
|
68
68
|
'SIGNUP_DISABLED' => :signup_disabled,
|
69
69
|
'GITLAB_QA_USERNAME_1' => :gitlab_qa_username_1,
|
70
|
-
'GITLAB_QA_USERNAME_2' => :gitlab_qa_username_2,
|
71
70
|
'QA_GITHUB_USERNAME' => :qa_github_username,
|
72
71
|
'QA_GITLAB_HOSTNAME' => :qa_gitlab_hostname,
|
73
72
|
'QA_GITLAB_USE_TLS' => :qa_gitlab_use_tls,
|
@@ -107,7 +106,6 @@ module RuboCop
|
|
107
106
|
'CACHE_NAMESPACE_NAME' => :cache_namespace_name,
|
108
107
|
'GITLAB_QA_USER_AGENT' => :gitlab_qa_user_agent,
|
109
108
|
'GEO_FAILOVER' => :geo_failover,
|
110
|
-
'GITLAB_INITIAL_ROOT_PASSWORD' => :initial_root_password,
|
111
109
|
'GITLAB_TLS_CERTIFICATE' => :gitlab_tls_certificate,
|
112
110
|
'AWS_S3_REGION' => :aws_s3_region,
|
113
111
|
'AWS_S3_KEY_ID' => :aws_s3_key_id,
|
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:
|
4
|
+
version: 15.0.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: 2024-
|
11
|
+
date: 2024-12-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: climate_control
|
@@ -470,6 +470,7 @@ files:
|
|
470
470
|
- lib/gitlab/qa/scenario/test/integration/gitlab_pages.rb
|
471
471
|
- lib/gitlab/qa/scenario/test/integration/group_saml.rb
|
472
472
|
- lib/gitlab/qa/scenario/test/integration/import.rb
|
473
|
+
- lib/gitlab/qa/scenario/test/integration/import_with_smtp.rb
|
473
474
|
- lib/gitlab/qa/scenario/test/integration/instance_saml.rb
|
474
475
|
- lib/gitlab/qa/scenario/test/integration/integrations.rb
|
475
476
|
- lib/gitlab/qa/scenario/test/integration/jira.rb
|