gitlab-qa 14.21.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_with_smtp.rb +1 -1
- data/lib/gitlab/qa/scenario/test/integration/mtls.rb +37 -42
- data/lib/gitlab/qa/version.rb +1 -1
- data/rubocop/cop/gitlab/dangerous_interpolation.rb +0 -2
- 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: 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
|
|
@@ -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
@@ -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
|