gitlab-qa 4.19.3 → 4.20.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitlab-ci.yml +38 -0
- data/docs/what_tests_can_be_run.md +1 -0
- data/lib/gitlab/qa.rb +1 -0
- data/lib/gitlab/qa/component/specs.rb +3 -2
- data/lib/gitlab/qa/runtime/env.rb +1 -0
- data/lib/gitlab/qa/scenario/test/instance/repository_storage.rb +42 -0
- data/lib/gitlab/qa/version.rb +1 -1
- 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: 066aa882ca586d0186ec53fb1cb7e55276a5081280993568e681c73ffa760bfb
|
4
|
+
data.tar.gz: 11b473e0b82f5842de908b43dad5699dcdd07fd2d444228548bdd7b21cde2639
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d9298cbb9e265a96d9f969919992920046f8566452af76252008b2ae7500350965168844bf7bca0d9632163ad34b457dc21b623912b32091f8c6c683932dcf54
|
7
|
+
data.tar.gz: b7cc0ebfd6b6c35085ab94ada285238e68b5577318d16b559fbb2c28b884d9e9135093749627d7fd02a27543ab4d343a26616cc694027146ab9b5997b0bfb6e9
|
data/.gitlab-ci.yml
CHANGED
@@ -248,6 +248,44 @@ ee:relative_url-quarantine:
|
|
248
248
|
- .quarantine
|
249
249
|
- .rspec-report-opts
|
250
250
|
|
251
|
+
ce:repository_storage:
|
252
|
+
script:
|
253
|
+
- exe/gitlab-qa Test::Instance::RepositoryStorage ${RELEASE:=CE} -- $RSPEC_REPORT_OPTS
|
254
|
+
extends:
|
255
|
+
- .test
|
256
|
+
- .high-capacity
|
257
|
+
- .ce-qa
|
258
|
+
- .rspec-report-opts
|
259
|
+
|
260
|
+
ce:repository_storage-quarantine:
|
261
|
+
script:
|
262
|
+
- exe/gitlab-qa Test::Instance::RepositoryStorage ${RELEASE:=CE} -- --tag quarantine $RSPEC_REPORT_OPTS
|
263
|
+
extends:
|
264
|
+
- .test
|
265
|
+
- .high-capacity
|
266
|
+
- .ce-qa
|
267
|
+
- .quarantine
|
268
|
+
- .rspec-report-opts
|
269
|
+
|
270
|
+
ee:repository_storage:
|
271
|
+
script:
|
272
|
+
- exe/gitlab-qa Test::Instance::RepositoryStorage ${RELEASE:=EE} -- $RSPEC_REPORT_OPTS
|
273
|
+
extends:
|
274
|
+
- .test
|
275
|
+
- .high-capacity
|
276
|
+
- .ee-qa
|
277
|
+
- .rspec-report-opts
|
278
|
+
|
279
|
+
ee:repository_storage-quarantine:
|
280
|
+
script:
|
281
|
+
- exe/gitlab-qa Test::Instance::RepositoryStorage ${RELEASE:=EE} -- --tag quarantine $RSPEC_REPORT_OPTS
|
282
|
+
extends:
|
283
|
+
- .test
|
284
|
+
- .high-capacity
|
285
|
+
- .ee-qa
|
286
|
+
- .quarantine
|
287
|
+
- .rspec-report-opts
|
288
|
+
|
251
289
|
ce:image:
|
252
290
|
script:
|
253
291
|
- exe/gitlab-qa Test::Omnibus::Image ${RELEASE:=CE}
|
@@ -61,6 +61,7 @@ For more details on the internals, please read the
|
|
61
61
|
for failing tests will be saved (default: `/tmp/gitlab-qa`)
|
62
62
|
* `DOCKER_HOST` - Docker host to run tests against (default: `http://localhost`)
|
63
63
|
* `CHROME_HEADLESS` - when running locally, set to `false` to allow Chrome tests to be visible - watch your tests being run
|
64
|
+
* `QA_ADDITIONAL_REPOSITORY_STORAGE` - the name of additional, non-default storage to be used with tests tagged `repository_storage`, run via the `Test::Instance::RepositoryStorage` scenario
|
64
65
|
* `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"
|
65
66
|
* `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.
|
66
67
|
* `QA_LOG_PATH` - path to output debug logging to. If not set logging will be output to STDOUT
|
data/lib/gitlab/qa.rb
CHANGED
@@ -18,6 +18,7 @@ module Gitlab
|
|
18
18
|
autoload :DeploymentBase, 'gitlab/qa/scenario/test/instance/deployment_base'
|
19
19
|
autoload :Image, 'gitlab/qa/scenario/test/instance/image'
|
20
20
|
autoload :RelativeUrl, 'gitlab/qa/scenario/test/instance/relative_url'
|
21
|
+
autoload :RepositoryStorage, 'gitlab/qa/scenario/test/instance/repository_storage'
|
21
22
|
autoload :Staging, 'gitlab/qa/scenario/test/instance/staging'
|
22
23
|
autoload :Production, 'gitlab/qa/scenario/test/instance/production'
|
23
24
|
autoload :Smoke, 'gitlab/qa/scenario/test/instance/smoke'
|
@@ -8,11 +8,12 @@ module Gitlab
|
|
8
8
|
# the `qa/` directory located in GitLab CE / EE repositories.
|
9
9
|
#
|
10
10
|
class Specs < Scenario::Template
|
11
|
-
attr_accessor :suite, :release, :network, :args, :volumes
|
11
|
+
attr_accessor :suite, :release, :network, :args, :volumes, :env
|
12
12
|
|
13
13
|
def initialize
|
14
14
|
@docker = Docker::Engine.new
|
15
15
|
@volumes = {}
|
16
|
+
@env = {}
|
16
17
|
end
|
17
18
|
|
18
19
|
def perform # rubocop:disable Metrics/AbcSize
|
@@ -36,7 +37,7 @@ module Gitlab
|
|
36
37
|
@docker.run(release.qa_image, release.qa_tag, suite, *args) do |command|
|
37
38
|
command << "-t --rm --net=#{network || 'bridge'}"
|
38
39
|
|
39
|
-
Runtime::Env.variables.each do |key, value|
|
40
|
+
env.merge(Runtime::Env.variables).each do |key, value|
|
40
41
|
command.env(key, value)
|
41
42
|
end
|
42
43
|
|
@@ -35,6 +35,7 @@ module Gitlab
|
|
35
35
|
'CLOUDSDK_CORE_PROJECT' => :cloudsdk_core_project,
|
36
36
|
'GCLOUD_REGION' => :gcloud_region,
|
37
37
|
'SIGNUP_DISABLED' => :signup_disabled,
|
38
|
+
'QA_ADDITIONAL_REPOSITORY_STORAGE' => :qa_additional_repository_storage,
|
38
39
|
'QA_COOKIES' => :qa_cookie,
|
39
40
|
'QA_DEBUG' => :qa_debug,
|
40
41
|
'QA_LOG_PATH' => :qa_log_path,
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module Gitlab
|
2
|
+
module QA
|
3
|
+
module Scenario
|
4
|
+
module Test
|
5
|
+
module Instance
|
6
|
+
class RepositoryStorage < Image
|
7
|
+
def perform(release, *rspec_args)
|
8
|
+
Component::Gitlab.perform do |gitlab|
|
9
|
+
gitlab.release = Release.new(release)
|
10
|
+
gitlab.name = 'gitlab'
|
11
|
+
gitlab.network = 'test'
|
12
|
+
gitlab.omnibus_config = <<~OMNIBUS
|
13
|
+
git_data_dirs({
|
14
|
+
'default' => {
|
15
|
+
'path' => '/var/opt/gitlab/git-data/repositories/default'
|
16
|
+
},
|
17
|
+
'secondary' => {
|
18
|
+
'path' => '/var/opt/gitlab/git-data/repositories/secondary'
|
19
|
+
}
|
20
|
+
});
|
21
|
+
OMNIBUS
|
22
|
+
|
23
|
+
rspec_args << "--" unless rspec_args.include?('--')
|
24
|
+
rspec_args << %w[--tag repository_storage]
|
25
|
+
|
26
|
+
gitlab.instance do
|
27
|
+
Component::Specs.perform do |specs|
|
28
|
+
specs.suite = 'Test::Instance::All'
|
29
|
+
specs.release = gitlab.release
|
30
|
+
specs.network = gitlab.network
|
31
|
+
specs.args = [gitlab.address, *rspec_args]
|
32
|
+
specs.env = { 'QA_ADDITIONAL_REPOSITORY_STORAGE' => 'secondary' }
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
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: 4.
|
4
|
+
version: 4.20.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Grzegorz Bizon
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-02-
|
11
|
+
date: 2020-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: climate_control
|
@@ -207,6 +207,7 @@ files:
|
|
207
207
|
- lib/gitlab/qa/scenario/test/instance/preprod.rb
|
208
208
|
- lib/gitlab/qa/scenario/test/instance/production.rb
|
209
209
|
- lib/gitlab/qa/scenario/test/instance/relative_url.rb
|
210
|
+
- lib/gitlab/qa/scenario/test/instance/repository_storage.rb
|
210
211
|
- lib/gitlab/qa/scenario/test/instance/smoke.rb
|
211
212
|
- lib/gitlab/qa/scenario/test/instance/staging.rb
|
212
213
|
- lib/gitlab/qa/scenario/test/integration/elasticsearch.rb
|