gitlab-qa 14.21.0 → 15.0.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/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
|