gitlab-qa 5.3.0 → 5.4.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/.gitlab-ci.yml +0 -38
- data/docs/what_tests_can_be_run.md +0 -49
- data/lib/gitlab/qa.rb +0 -1
- data/lib/gitlab/qa/report/results_in_issues.rb +9 -1
- data/lib/gitlab/qa/runtime/env.rb +0 -12
- data/lib/gitlab/qa/version.rb +1 -1
- metadata +2 -3
- data/lib/gitlab/qa/scenario/test/integration/oauth.rb +0 -57
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6c05160ceef2a5c1f1cb655a1a0e00dafe3fc741c83cf3720cceaf5c052e99e6
|
|
4
|
+
data.tar.gz: c734271a54bd03542af38490299bf88d9f9feb1038862852c4b3ae9fd2bb4955
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b71209010fc236f2907dc7cb03cccc3761ecc28b65ca698503f05f24503ac8963cb3018288c301f6e78dff1a11d41cc315600f84c6bbc74ed02ea67b13efec0f
|
|
7
|
+
data.tar.gz: df6c7202be25a0dc0d6e0f8c0283313d4bd38f374ad62e0e66403be5be066471e779e45481d683c76b5267eaa4bbba330ff49f38898a38d5c89aee9b59ef9eed
|
data/.gitlab-ci.yml
CHANGED
|
@@ -693,44 +693,6 @@ ee:object_storage-quarantine:
|
|
|
693
693
|
variables:
|
|
694
694
|
QA_SCENARIO: "Test::Integration::ObjectStorage"
|
|
695
695
|
|
|
696
|
-
ce:oauth:
|
|
697
|
-
extends:
|
|
698
|
-
- .test
|
|
699
|
-
- .high-capacity
|
|
700
|
-
- .ce-qa
|
|
701
|
-
- .rspec-report-opts
|
|
702
|
-
variables:
|
|
703
|
-
QA_SCENARIO: "Test::Integration::OAuth"
|
|
704
|
-
|
|
705
|
-
ce:oauth-quarantine:
|
|
706
|
-
extends:
|
|
707
|
-
- .test
|
|
708
|
-
- .high-capacity
|
|
709
|
-
- .ce-qa
|
|
710
|
-
- .quarantine
|
|
711
|
-
- .rspec-report-opts
|
|
712
|
-
variables:
|
|
713
|
-
QA_SCENARIO: "Test::Integration::OAuth"
|
|
714
|
-
|
|
715
|
-
ee:oauth:
|
|
716
|
-
extends:
|
|
717
|
-
- .test
|
|
718
|
-
- .high-capacity
|
|
719
|
-
- .ee-qa
|
|
720
|
-
- .rspec-report-opts
|
|
721
|
-
variables:
|
|
722
|
-
QA_SCENARIO: "Test::Integration::OAuth"
|
|
723
|
-
|
|
724
|
-
ee:oauth-quarantine:
|
|
725
|
-
extends:
|
|
726
|
-
- .test
|
|
727
|
-
- .high-capacity
|
|
728
|
-
- .ee-qa
|
|
729
|
-
- .quarantine
|
|
730
|
-
- .rspec-report-opts
|
|
731
|
-
variables:
|
|
732
|
-
QA_SCENARIO: "Test::Integration::OAuth"
|
|
733
|
-
|
|
734
696
|
ee:packages:
|
|
735
697
|
extends:
|
|
736
698
|
- .test
|
|
@@ -74,14 +74,8 @@ For more details on the internals, please read the
|
|
|
74
74
|
* `QA_SLOW_CONNECTION_LATENCY_MS` - the additional latency (in ms) of the simulated slow connection (default 2000 ms).
|
|
75
75
|
* `QA_SLOW_CONNECTION_THROUGHPUT_KBPS` - the maximum throughput (in kbps) of the simulated slow connection (default 32 kbps).
|
|
76
76
|
* `QA_SKIP_PULL` - set to `true` to skip pulling docker images (e.g., to use one you built locally).
|
|
77
|
-
* `GITHUB_OAUTH_APP_ID` - Client ID for GitHub OAuth app. See https://docs.gitlab.com/ce/integration/github.html for steps to generate this token.
|
|
78
|
-
* `GITHUB_OAUTH_APP_SECRET` - Client Secret for GitHub OAuth app. See https://docs.gitlab.com/ce/integration/github.html for steps to generate this token.
|
|
79
77
|
* `GITHUB_USERNAME` - Username for authenticating with GitHub.
|
|
80
78
|
* `GITHUB_PASSWORD` - Password for authenticating with GitHub.
|
|
81
|
-
* `GITLAB_QA_1P_EMAIL` - Email address for authenticating into 1Password
|
|
82
|
-
* `GITLAB_QA_1P_PASSWORD` - Password for authenticating into 1Password.
|
|
83
|
-
* `GITLAB_QA_1P_SECRET` - Secret for authenticating into 1Password.
|
|
84
|
-
* `GITLAB_QA_1P_GITHUB_UUID` - UUID for GitHub item in GitLab-QA 1Password vault.
|
|
85
79
|
* `GITLAB_QA_LOOP_RUNNER_MINUTES` - Minutes to run and repeat a spec while using the '--loop' option; default value is 1 minute.
|
|
86
80
|
* `CI_SERVER_PERSONAL_ACCESS_TOKEN` - Personal access token of the server that is running the CI pipeline. This is used for pulling CI_RUNNER information in certain tests.
|
|
87
81
|
|
|
@@ -387,49 +381,6 @@ $ export EE_LICENSE=$(cat /path/to/Geo.gitlab_license)
|
|
|
387
381
|
$ gitlab-qa Test::Integration::InstanceSAML EE
|
|
388
382
|
```
|
|
389
383
|
|
|
390
|
-
### `Test::Integration::OAuth CE|EE|<full image address>`
|
|
391
|
-
|
|
392
|
-
This tests that users can sign in to GitLab instance using external OAuth services.
|
|
393
|
-
|
|
394
|
-
The tests currently integrate with the following OAuth service providers:
|
|
395
|
-
* GitHub
|
|
396
|
-
|
|
397
|
-
To run tests against the GitLab containers, a GitLab QA (`gitlab/gitlab-qa`)
|
|
398
|
-
container is spun up and tests are run from it by running the
|
|
399
|
-
`Test::Integration::OAuth` scenario (located under [`gitlab-org/gitlab-ce@qa/qa/scenario/test/integration/oauth.rb`](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/qa/qa/scenario/test/integration/oauth.rb) in the GitLab CE project).
|
|
400
|
-
|
|
401
|
-
**Required environment variables:**
|
|
402
|
-
|
|
403
|
-
- [For EE only] `EE_LICENSE`: A valid EE license.
|
|
404
|
-
- `GITHUB_OAUTH_APP_ID`: Client ID for GitHub OAuth app. This can be found in the shared 1Password vault.
|
|
405
|
-
- `GITHUB_OAUTH_APP_SECRET`: Client Secret for GitHub OAuth app. This can be found in the shared 1Password vault.
|
|
406
|
-
- `GITHUB_USERNAME`: Username for authenticating with GitHub. This can be found in the shared 1Password vault.
|
|
407
|
-
- `GITHUB_PASSWORD`: Password for authenticating with GitHub. This can be found in the shared 1Password vault.
|
|
408
|
-
- `GITLAB_QA_1P_EMAIL`: Email address for authenticating into 1Password for GitLab-QA vault. This can be found in the shared 1Password vault.
|
|
409
|
-
- `GITLAB_QA_1P_PASSWORD`: Password for authenticating into 1Password for GitLab-QA vault. This can be found in the shared 1Password vault.
|
|
410
|
-
- `GITLAB_QA_1P_SECRET`: Secret for authenticating into 1Password. This can be found in the GitLab-QA 1Password vault.
|
|
411
|
-
- `GITLAB_QA_1P_GITHUB_UUID`: UUID for GitHub item in GitLab-QA 1Password vault. This can be found in the GitLab-QA 1Password vault.
|
|
412
|
-
|
|
413
|
-
Example:
|
|
414
|
-
|
|
415
|
-
```
|
|
416
|
-
$ export GITHUB_OAUTH_APP_ID=your_github_oauth_client_id
|
|
417
|
-
$ export GITHUB_OAUTH_APP_SECRET=your_github_oauth_client_secret
|
|
418
|
-
$ export GITHUB_USERNAME=your_github_username
|
|
419
|
-
$ export GITHUB_PASSWORD=your_github_password
|
|
420
|
-
$ export GITLAB_QA_1P_EMAIL=1password_email
|
|
421
|
-
$ export GITLAB_QA_1P_PASSWORD=1password_password
|
|
422
|
-
$ export GITLAB_QA_1P_SECRET=1password_secret
|
|
423
|
-
$ export GITLAB_QA_1P_GITHUB_UUID=1password_gihub_item_uuid
|
|
424
|
-
|
|
425
|
-
$ gitlab-qa Test::Integration::OAuth CE
|
|
426
|
-
|
|
427
|
-
# For EE
|
|
428
|
-
$ export EE_LICENSE=$(cat /path/to/gitlab_license)
|
|
429
|
-
|
|
430
|
-
$ gitlab-qa Test::Integration::OAuth EE
|
|
431
|
-
```
|
|
432
|
-
|
|
433
384
|
### `Test::Integration::Mattermost CE|EE|<full image address>`
|
|
434
385
|
|
|
435
386
|
This tests that a GitLab instance works as expected when enabling the embedded
|
data/lib/gitlab/qa.rb
CHANGED
|
@@ -46,7 +46,6 @@ module Gitlab
|
|
|
46
46
|
autoload :Mattermost, 'gitlab/qa/scenario/test/integration/mattermost'
|
|
47
47
|
autoload :Kubernetes, 'gitlab/qa/scenario/test/integration/kubernetes'
|
|
48
48
|
autoload :ObjectStorage, 'gitlab/qa/scenario/test/integration/object_storage'
|
|
49
|
-
autoload :OAuth, 'gitlab/qa/scenario/test/integration/oauth'
|
|
50
49
|
autoload :Packages, 'gitlab/qa/scenario/test/integration/packages'
|
|
51
50
|
autoload :Praefect, 'gitlab/qa/scenario/test/integration/praefect'
|
|
52
51
|
autoload :Elasticsearch, 'gitlab/qa/scenario/test/integration/elasticsearch'
|
|
@@ -177,7 +177,14 @@ module Gitlab
|
|
|
177
177
|
end
|
|
178
178
|
|
|
179
179
|
def failure_summary
|
|
180
|
-
":x: ~\"#{pipeline}::failed\"
|
|
180
|
+
summary = [":x: ~\"#{pipeline}::failed\""]
|
|
181
|
+
summary << "~\"quarantine\"" if quarantine_job?
|
|
182
|
+
summary << "in job `#{Runtime::Env.ci_job_name}` in #{Runtime::Env.ci_job_url}"
|
|
183
|
+
summary.join(' ')
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
def quarantine_job?
|
|
187
|
+
Runtime::Env.ci_job_name&.include?('quarantine')
|
|
181
188
|
end
|
|
182
189
|
|
|
183
190
|
def new_note_matches_discussion?(note, discussion)
|
|
@@ -196,6 +203,7 @@ module Gitlab
|
|
|
196
203
|
labels = issue.labels
|
|
197
204
|
labels.delete_if { |label| label.start_with?("#{pipeline}::") }
|
|
198
205
|
labels << (failures(test).empty? ? "#{pipeline}::passed" : "#{pipeline}::failed")
|
|
206
|
+
quarantine_job? ? labels << "quarantine" : labels.delete("quarantine")
|
|
199
207
|
|
|
200
208
|
Gitlab.edit_issue(project, issue.iid, labels: labels)
|
|
201
209
|
end
|
|
@@ -51,8 +51,6 @@ module Gitlab
|
|
|
51
51
|
'GITLAB_QA_PASSWORD_1' => :gitlab_qa_password_1,
|
|
52
52
|
'GITLAB_QA_USERNAME_2' => :gitlab_qa_username_2,
|
|
53
53
|
'GITLAB_QA_PASSWORD_2' => :gitlab_qa_password_2,
|
|
54
|
-
'GITHUB_OAUTH_APP_ID' => :github_oauth_app_id,
|
|
55
|
-
'GITHUB_OAUTH_APP_SECRET' => :github_oauth_app_secret,
|
|
56
54
|
'GITHUB_USERNAME' => :github_username,
|
|
57
55
|
'GITHUB_PASSWORD' => :github_password,
|
|
58
56
|
'KNAPSACK_GENERATE_REPORT' => :knapsack_generate_report,
|
|
@@ -68,10 +66,6 @@ module Gitlab
|
|
|
68
66
|
'GITLAB_CI' => :gitlab_ci,
|
|
69
67
|
'QA_SKIP_PULL' => :qa_skip_pull,
|
|
70
68
|
'ELASTIC_URL' => :elastic_url,
|
|
71
|
-
'GITLAB_QA_1P_EMAIL' => :gitlab_qa_1p_email,
|
|
72
|
-
'GITLAB_QA_1P_PASSWORD' => :gitlab_qa_1p_password,
|
|
73
|
-
'GITLAB_QA_1P_SECRET' => :gitlab_qa_1p_secret,
|
|
74
|
-
'GITLAB_QA_1P_GITHUB_UUID' => :gitlab_qa_1p_github_uuid,
|
|
75
69
|
'GITLAB_QA_LOOP_RUNNER_MINUTES' => :gitlab_qa_loop_runner_minutes,
|
|
76
70
|
'MAILHOG_HOSTNAME' => :mailhog_hostname,
|
|
77
71
|
'SLACK_QA_CHANNEL' => :slack_qa_channel,
|
|
@@ -168,12 +162,6 @@ module Gitlab
|
|
|
168
162
|
raise ArgumentError, "Please provide GITLAB_QA_DEV_ACCESS_TOKEN"
|
|
169
163
|
end
|
|
170
164
|
|
|
171
|
-
def require_oauth_environment!
|
|
172
|
-
%w[GITHUB_OAUTH_APP_ID GITHUB_OAUTH_APP_SECRET GITHUB_USERNAME GITHUB_PASSWORD GITLAB_QA_1P_EMAIL GITLAB_QA_1P_PASSWORD GITLAB_QA_1P_SECRET GITLAB_QA_1P_GITHUB_UUID].each do |env_key|
|
|
173
|
-
raise ArgumentError, "Environment variable #{env_key} must be set to run OAuth specs" unless ENV.key?(env_key)
|
|
174
|
-
end
|
|
175
|
-
end
|
|
176
|
-
|
|
177
165
|
def require_slack_qa_channel!
|
|
178
166
|
return unless ENV['SLACK_QA_CHANNEL'].to_s.strip.empty?
|
|
179
167
|
|
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: 5.
|
|
4
|
+
version: 5.4.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-03-
|
|
11
|
+
date: 2020-03-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: climate_control
|
|
@@ -282,7 +282,6 @@ files:
|
|
|
282
282
|
- lib/gitlab/qa/scenario/test/integration/ldap_no_tls.rb
|
|
283
283
|
- lib/gitlab/qa/scenario/test/integration/ldap_tls.rb
|
|
284
284
|
- lib/gitlab/qa/scenario/test/integration/mattermost.rb
|
|
285
|
-
- lib/gitlab/qa/scenario/test/integration/oauth.rb
|
|
286
285
|
- lib/gitlab/qa/scenario/test/integration/object_storage.rb
|
|
287
286
|
- lib/gitlab/qa/scenario/test/integration/packages.rb
|
|
288
287
|
- lib/gitlab/qa/scenario/test/integration/praefect.rb
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
require 'yaml'
|
|
2
|
-
|
|
3
|
-
module Gitlab
|
|
4
|
-
module QA
|
|
5
|
-
module Scenario
|
|
6
|
-
module Test
|
|
7
|
-
module Integration
|
|
8
|
-
class OAuth < Scenario::Template
|
|
9
|
-
attr_reader :gitlab_name
|
|
10
|
-
|
|
11
|
-
def initialize
|
|
12
|
-
@gitlab_name = 'gitlab-oauth'
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def perform(release, *rspec_args)
|
|
16
|
-
Runtime::Env.require_oauth_environment!
|
|
17
|
-
release = Release.new(release)
|
|
18
|
-
|
|
19
|
-
Component::Gitlab.perform do |gitlab|
|
|
20
|
-
gitlab.release = release
|
|
21
|
-
gitlab.network = 'test'
|
|
22
|
-
gitlab.name = gitlab_name
|
|
23
|
-
|
|
24
|
-
gitlab.omnibus_config = <<~OMNIBUS
|
|
25
|
-
gitlab_rails['omniauth_enabled'] = true;
|
|
26
|
-
gitlab_rails['omniauth_allow_single_sign_on'] = ['github'];
|
|
27
|
-
gitlab_rails['omniauth_block_auto_created_users'] = false;
|
|
28
|
-
gitlab_rails['omniauth_providers'] = [
|
|
29
|
-
{
|
|
30
|
-
name: 'github',
|
|
31
|
-
app_id: '$GITHUB_OAUTH_APP_ID',
|
|
32
|
-
app_secret: '$GITHUB_OAUTH_APP_SECRET',
|
|
33
|
-
url: 'https://github.com/',
|
|
34
|
-
verify_ssl: false,
|
|
35
|
-
args: { scope: 'user:email' }
|
|
36
|
-
}
|
|
37
|
-
];
|
|
38
|
-
OMNIBUS
|
|
39
|
-
|
|
40
|
-
gitlab.instance do
|
|
41
|
-
puts 'Running OAuth specs!'
|
|
42
|
-
|
|
43
|
-
Component::Specs.perform do |specs|
|
|
44
|
-
specs.suite = 'Test::Integration::OAuth'
|
|
45
|
-
specs.release = release
|
|
46
|
-
specs.network = gitlab.network
|
|
47
|
-
specs.args = [gitlab.address, *rspec_args]
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
end
|