gitlab-qa 3.0.1 → 3.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6bf71cde5fe8fd87db4bcd8b13638c710bd77be238a15569c7a0e8794319c361
4
- data.tar.gz: 63e82bc93eafed386924bf7c66ab91f67b49b8d26f2dda5ac8a34c47cbc84779
3
+ metadata.gz: c43864e3afe1ee61964bdcd2e81646278adb110e183d21e9c3bae0deea67d1f1
4
+ data.tar.gz: 022cb5a101dc79f9cbca06b4b661acf7fdc45882fdb4754be507175f919a4187
5
5
  SHA512:
6
- metadata.gz: bf7e5745d3e082ad7a00521e0c7b1cbc68c742064d3e5cb04422b6a7ab56bfa1a08c625019876a4aa6b7142101257d971f7f3a8cb05d7c20655383ae05f0323b
7
- data.tar.gz: 073ff4e869d2d86a517e8642e25c446712e0a04e660142ac3f8662d98f61562e5f3b498836098b91eaa19ceeaed73d20ad008297b5826c81a9997d98f2a88530
6
+ metadata.gz: ef47922f60046f4df91bfeb758d4dd2aa345dd11c1cd2422f0096917549e6bf674a00a46f99c2c500a5688b1c1b742d9ba3fa08cf946ddcd29fc9152015c7a45
7
+ data.tar.gz: 89fed700c3848962272bf6bf04dee329f9296a89df986403fe7e099b1fa0418e832da36945269e397ef8819265a39a61c1a45b18cef69457fbcf5f5c1df6a977
@@ -41,6 +41,11 @@ For more details on the internals, please read the
41
41
  * `GITLAB_ADMIN_USERNAME` - Admin username to use when adding a license
42
42
  * `GITLAB_ADMIN_PASSWORD` - Admin password to use when adding a license
43
43
  * `GITLAB_SANDBOX_NAME` - The sandbox group name the test suite is going to use (default: `gitlab-qa-sandbox`)
44
+ * `GITLAB_QA_ACCESS_TOKEN` - A valid personal access token with the `api` scope.
45
+ This is used for API access during tests, and is used in the
46
+ [`Test::Instance::Staging`](#testinstancestaging) scenario to retrieve the
47
+ version that staging is currently running. An existing token that is valid on
48
+ staging can be found in the shared 1Password vault.
44
49
  * `EE_LICENSE` - Enterprise Edition license
45
50
  * `QA_ARTIFACTS_DIR` - Path to a directory where artifacts (logs and screenshots)
46
51
  for failing tests will be saved (default: `/tmp/gitlab-qa`)
@@ -435,6 +440,14 @@ by setting `QA_COOKIES=gitlab_canary=true`. This adds a cookie
435
440
  to all web requests which will result in them being routed
436
441
  to the canary fleet.
437
442
 
443
+ ### `Test::Instance::Preprod`
444
+
445
+ This scenario functions the same as `Test::Instance::Staging`
446
+ but will run tests against [`pre.gitlab.com`](https://pre.gitlab.com).
447
+
448
+ Note that [`pre.gitlab.com`](https://pre.gitlab.com) is used as an Interim
449
+ Performance Testbed and [will be replaced with the actual testbed in the future](https://gitlab.com/groups/gitlab-com/gl-infra/-/epics/60).
450
+
438
451
  ### `Test::Instance::Smoke`
439
452
 
440
453
  This scenario will run a limited amount of tests selected from the test suite tagged by `:smoke`.
data/lib/gitlab/qa.rb CHANGED
@@ -20,6 +20,7 @@ module Gitlab
20
20
  autoload :Staging, 'qa/scenario/test/instance/staging'
21
21
  autoload :Production, 'qa/scenario/test/instance/production'
22
22
  autoload :Smoke, 'qa/scenario/test/instance/smoke'
23
+ autoload :Preprod, 'qa/scenario/test/instance/preprod'
23
24
  end
24
25
 
25
26
  module Omnibus
@@ -57,6 +58,7 @@ module Gitlab
57
58
  autoload :Staging, 'qa/component/staging'
58
59
  autoload :Production, 'qa/component/production'
59
60
  autoload :Minio, 'qa/component/minio'
61
+ autoload :Preprod, 'qa/component/preprod'
60
62
  end
61
63
 
62
64
  module Docker
@@ -0,0 +1,13 @@
1
+ require 'net/http'
2
+ require 'json'
3
+ require 'uri'
4
+
5
+ module Gitlab
6
+ module QA
7
+ module Component
8
+ class Preprod < Staging
9
+ ADDRESS = 'https://pre.gitlab.com'.freeze
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,37 @@
1
+ module Gitlab
2
+ module QA
3
+ module Scenario
4
+ module Test
5
+ module Instance
6
+ ##
7
+ # Run test suite against pre.gitlab.com
8
+ #
9
+ class Preprod < Scenario::Template
10
+ def perform(*rspec_args)
11
+ Runtime::Env.require_no_license!
12
+
13
+ release = Component::Preprod.release
14
+
15
+ if release.dev_gitlab_org?
16
+ Docker::Command.execute(
17
+ [
18
+ 'login',
19
+ '--username gitlab-qa-bot',
20
+ %(--password "#{Runtime::Env.dev_access_token_variable}"),
21
+ Release::DEV_REGISTRY
22
+ ]
23
+ )
24
+ end
25
+
26
+ Component::Specs.perform do |specs|
27
+ specs.suite = 'Test::Instance::All'
28
+ specs.release = release
29
+ specs.args = [Component::Preprod::ADDRESS, *rspec_args]
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -1,5 +1,5 @@
1
1
  module Gitlab
2
2
  module QA
3
- VERSION = '3.0.1'.freeze
3
+ VERSION = '3.1.0'.freeze
4
4
  end
5
5
  end
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: 3.0.1
4
+ version: 3.1.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: 2019-03-27 00:00:00.000000000 Z
11
+ date: 2019-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: climate_control
@@ -153,6 +153,7 @@ files:
153
153
  - lib/gitlab/qa/component/internet_tunnel.rb
154
154
  - lib/gitlab/qa/component/ldap.rb
155
155
  - lib/gitlab/qa/component/minio.rb
156
+ - lib/gitlab/qa/component/preprod.rb
156
157
  - lib/gitlab/qa/component/production.rb
157
158
  - lib/gitlab/qa/component/saml.rb
158
159
  - lib/gitlab/qa/component/specs.rb
@@ -167,6 +168,7 @@ files:
167
168
  - lib/gitlab/qa/scenario/template.rb
168
169
  - lib/gitlab/qa/scenario/test/instance/any.rb
169
170
  - lib/gitlab/qa/scenario/test/instance/image.rb
171
+ - lib/gitlab/qa/scenario/test/instance/preprod.rb
170
172
  - lib/gitlab/qa/scenario/test/instance/production.rb
171
173
  - lib/gitlab/qa/scenario/test/instance/relative_url.rb
172
174
  - lib/gitlab/qa/scenario/test/instance/smoke.rb
@@ -208,7 +210,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
208
210
  - !ruby/object:Gem::Version
209
211
  version: '0'
210
212
  requirements: []
211
- rubygems_version: 3.0.2
213
+ rubygems_version: 3.0.3
212
214
  signing_key:
213
215
  specification_version: 4
214
216
  summary: Integration tests for GitLab