gitlab-qa 7.1.1 → 7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b5123ddb14b12e07dd4dd308c296ab59ea2fbcee5667a746cea01fee670724a5
4
- data.tar.gz: bdb9b30348b58f194a6c5b989708204153c10d79f3493d1ed28e7f28207879dc
3
+ metadata.gz: 90a45272bad7c2502b55c9470d0e02410f24db1b36e8e2aec174f8dc93982775
4
+ data.tar.gz: f6bf58c6f801057533c9dc6078254134bff4087131801cfc69609391c3bba38e
5
5
  SHA512:
6
- metadata.gz: 5ceff844a2112e50ded2f2080a37cf0803e1f6a163a9a89746751ec4437b20d0faeea2ec825db7588ab25bac4c2feef09db08b1813177dd30a1cce63dc8355d0
7
- data.tar.gz: 415df609065a85772c20bdebc860da459fcdcdab61bd12fdfb412af700355fc49101e597c146285cc0e4822f3a4612a75e5368e0180cddeb2a980ca76453f9d0
6
+ metadata.gz: d0a99b85b682ac45ba5d1f7252fe61aad5156a21c7b17a7139f3ed1d7a0ff90e4252c7ccd056a6979857a663e27aa69b5167f79c9fd2ef7113311d93d283fa45
7
+ data.tar.gz: 05c9363dd2fad783a7c162bdbe21924bf763365f5665e35835b468a56400158e6e981e3a3fd0733a3a8915683798cea2c5ff5c429c2edc7fd516dafd15a11f51
data/.gitlab-ci.yml CHANGED
@@ -65,7 +65,7 @@ rspec:
65
65
  .test:
66
66
  stage: test
67
67
  services:
68
- - docker:19.03.0-dind
68
+ - docker:20.10.5-dind
69
69
  tags:
70
70
  - gitlab-org
71
71
  - docker
@@ -370,7 +370,7 @@ ee:update:
370
370
  - .ee-qa
371
371
  - .rspec-report-opts
372
372
  - .knapsack-variables
373
- parallel: 5
373
+ parallel: 10
374
374
 
375
375
  ee:update-quarantine:
376
376
  script:
@@ -775,6 +775,46 @@ ee:packages-quarantine:
775
775
  GITLAB_QA_OPTS: "--omnibus-config packages"
776
776
  QA_RSPEC_TAGS: "--tag quarantine --tag packages"
777
777
 
778
+ ce:registry:
779
+ extends:
780
+ - .test
781
+ - .high-capacity
782
+ - .ce-qa
783
+ - .rspec-report-opts
784
+ allow_failure: true
785
+ variables:
786
+ QA_SCENARIO: "Test::Integration::Registry"
787
+
788
+ ce:registry-quarantine:
789
+ extends:
790
+ - .test
791
+ - .high-capacity
792
+ - .ce-qa
793
+ - .quarantine
794
+ - .rspec-report-opts
795
+ variables:
796
+ QA_SCENARIO: "Test::Integration::Registry"
797
+
798
+ ee:registry:
799
+ extends:
800
+ - .test
801
+ - .high-capacity
802
+ - .ee-qa
803
+ - .rspec-report-opts
804
+ allow_failure: true
805
+ variables:
806
+ QA_SCENARIO: "Test::Integration::Registry"
807
+
808
+ ee:registry-quarantine:
809
+ extends:
810
+ - .test
811
+ - .high-capacity
812
+ - .ee-qa
813
+ - .quarantine
814
+ - .rspec-report-opts
815
+ variables:
816
+ QA_SCENARIO: "Test::Integration::Registry"
817
+
778
818
  ce:actioncable:
779
819
  extends:
780
820
  - .test
@@ -1039,7 +1079,7 @@ relate_test_failures:
1039
1079
 
1040
1080
  .notify_upstream_commit:
1041
1081
  stage: notify
1042
- image: ruby:2.6
1082
+ image: ruby:3.0-alpine
1043
1083
  before_script:
1044
1084
  - gem install gitlab --no-document
1045
1085
 
@@ -73,6 +73,7 @@ All environment variables used by GitLab QA should be defined in [`lib/gitlab/qa
73
73
  | `QA_SLOW_CONNECTION_LATENCY_MS` | `2000` | The additional latency (in ms) of the simulated slow connection. | No|
74
74
  | `QA_SLOW_CONNECTION_THROUGHPUT_KBPS` | `32` | The maximum throughput (in kbps) of the simulated slow connection. | No|
75
75
  | `QA_SKIP_PULL` | `false` | Set to `true` to skip pulling docker images (e.g., to use one you built locally). | No|
76
+ | `QA_GENERATE_ALLURE_REPORT` | `false` | When running on CI, set to `true` to generate allure reports | No|
76
77
  | `GITHUB_USERNAME` |- | Username for authenticating with GitHub. | No|
77
78
  | `GITHUB_PASSWORD` |- | Password for authenticating with GitHub. | No|
78
79
  | `GITLAB_QA_LOOP_RUNNER_MINUTES` | `1` | Minutes to run and repeat a spec while using the '--loop' option; default value is 1 minute. | No|
@@ -87,7 +88,6 @@ All environment variables used by GitLab QA should be defined in [`lib/gitlab/qa
87
88
  | `GEO_FAILOVER` | `false` | Set to `true` when a Geo secondary site has been promoted to a Geo primary site. | No|
88
89
  | `GITLAB_INITIAL_ROOT_PASSWORD` | `5iveL!fe` | Initial root password for Omnibus installations | No|
89
90
 
90
-
91
91
  ## [Supported Remote Grid environment variables](./running_against_remote_grid.md)
92
92
 
93
93
  ## Running tests with a feature flag enabled
data/lib/gitlab/qa.rb CHANGED
@@ -14,6 +14,7 @@ module Gitlab
14
14
  autoload :Default, 'gitlab/qa/runtime/omnibus_configurations/default'
15
15
  autoload :Packages, 'gitlab/qa/runtime/omnibus_configurations/packages'
16
16
  autoload :ObjectStorage, 'gitlab/qa/runtime/omnibus_configurations/object_storage'
17
+ autoload :LicenseMode, 'gitlab/qa/runtime/omnibus_configurations/license_mode'
17
18
  end
18
19
  end
19
20
 
@@ -57,8 +58,6 @@ module Gitlab
57
58
  autoload :InstanceSAML, 'gitlab/qa/scenario/test/integration/instance_saml'
58
59
  autoload :Mattermost, 'gitlab/qa/scenario/test/integration/mattermost'
59
60
  autoload :Kubernetes, 'gitlab/qa/scenario/test/integration/kubernetes'
60
- autoload :ObjectStorage, 'gitlab/qa/scenario/test/integration/object_storage'
61
- autoload :Packages, 'gitlab/qa/scenario/test/integration/packages'
62
61
  autoload :Praefect, 'gitlab/qa/scenario/test/integration/praefect'
63
62
  autoload :Elasticsearch, 'gitlab/qa/scenario/test/integration/elasticsearch'
64
63
  autoload :SMTP, 'gitlab/qa/scenario/test/integration/smtp'
@@ -66,6 +65,7 @@ module Gitlab
66
65
  autoload :Jira, 'gitlab/qa/scenario/test/integration/jira'
67
66
  autoload :SSHTunnel, 'gitlab/qa/scenario/test/integration/ssh_tunnel'
68
67
  autoload :MTLS, 'gitlab/qa/scenario/test/integration/mtls'
68
+ autoload :ClientSSL, 'gitlab/qa/scenario/test/integration/client_ssl'
69
69
  end
70
70
 
71
71
  module Sanity
@@ -65,7 +65,7 @@ module Gitlab
65
65
  end
66
66
 
67
67
  def port
68
- tls ? '443' : '80'
68
+ tls ? '443:443' : '80'
69
69
  end
70
70
 
71
71
  def gitaly_tls
@@ -191,7 +191,9 @@ module Gitlab
191
191
  text = tests_with_same_testcase.map(&:name).uniq.join(', ')
192
192
 
193
193
  if testcase && !passed
194
- "[#{text}](#{testcase})"
194
+ # Workaround for reducing system notes on testcase issues
195
+ # The first regex extracts the link to the issues list page from a link to a single issue show page by removing the issue id.
196
+ "[#{text}](#{testcase.match(%r{[\s\S]+\/[^\/\d]+})}?state=opened&search=#{text}) (testcase_id=#{testcase.match(/\d+/)})"
195
197
  else
196
198
  text
197
199
  end
@@ -54,6 +54,7 @@ module Gitlab
54
54
  'QA_SIMULATE_SLOW_CONNECTION' => :qa_simulate_slow_connection,
55
55
  'QA_SLOW_CONNECTION_LATENCY_MS' => :qa_slow_connection_latency_ms,
56
56
  'QA_SLOW_CONNECTION_THROUGHPUT_KBPS' => :qa_slow_connection_throughput_kbps,
57
+ 'QA_GENERATE_ALLURE_REPORT' => :generate_allure_report,
57
58
  'GITLAB_QA_USERNAME_1' => :gitlab_qa_username_1,
58
59
  'GITLAB_QA_PASSWORD_1' => :gitlab_qa_password_1,
59
60
  'GITLAB_QA_USERNAME_2' => :gitlab_qa_username_2,
@@ -106,7 +107,7 @@ module Gitlab
106
107
  end
107
108
 
108
109
  def default_branch
109
- ENV['QA_DEFAULT_BRANCH'] || 'master'
110
+ ENV['QA_DEFAULT_BRANCH'] || 'main'
110
111
  end
111
112
 
112
113
  def gitlab_availability_timeout
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gitlab
4
+ module QA
5
+ module Runtime
6
+ module OmnibusConfigurations
7
+ class LicenseMode < Default
8
+ def configuration
9
+ <<~OMNIBUS
10
+ gitlab_rails['env'] = { 'GITLAB_LICENSE_MODE' => 'test', 'CUSTOMER_PORTAL_URL' => 'https://customers.stg.gitlab.com' }
11
+ OMNIBUS
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,65 @@
1
+ module Gitlab
2
+ module QA
3
+ module Scenario
4
+ module Test
5
+ module Integration
6
+ class ClientSSL < Scenario::Template
7
+ def initialize
8
+ @gitlab_name = 'gitlab'
9
+ @spec_suite = 'Test::Instance::All'
10
+ @network = 'test'
11
+ @env = {}
12
+ @tag = 'client_ssl'
13
+ end
14
+
15
+ # rubocop:disable Metrics/AbcSize
16
+ def perform(release, *rspec_args)
17
+ Component::Gitlab.perform do |gitlab|
18
+ gitlab.release = QA::Release.new(release)
19
+ gitlab.name = @gitlab_name
20
+ gitlab.network = @network
21
+ gitlab.skip_availability_check = true
22
+
23
+ gitlab.omnibus_configuration << gitlab_omnibus
24
+
25
+ gitlab.tls = true
26
+
27
+ gitlab.instance do
28
+ puts 'Running Client SSL specs!'
29
+
30
+ if @tag
31
+ rspec_args << "--" unless rspec_args.include?('--')
32
+ rspec_args << "--tag" << @tag
33
+ end
34
+
35
+ Component::Specs.perform do |specs|
36
+ specs.suite = @spec_suite
37
+ specs.release = gitlab.release
38
+ specs.network = gitlab.network
39
+ specs.args = [gitlab.address, *rspec_args]
40
+ specs.env = @env
41
+ end
42
+ end
43
+ end
44
+ end
45
+ # rubocop:enable Metrics/AbcSize
46
+
47
+ def gitlab_omnibus
48
+ <<~OMNIBUS
49
+ external_url 'https://#{@gitlab_name}.#{@network}';
50
+ letsencrypt['enable'] = false;
51
+
52
+ nginx['ssl_certificate'] = '/etc/gitlab/ssl/gitlab.test.crt';
53
+ nginx['ssl_certificate_key'] = '/etc/gitlab/ssl/gitlab.test.key';
54
+
55
+ nginx['ssl_verify_client'] = 'on';
56
+ nginx['ssl_client_certificate'] = '/etc/gitlab/authority/ca.pem';
57
+ nginx['ssl_verify_depth'] = '2';
58
+ OMNIBUS
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -109,6 +109,7 @@ module Gitlab
109
109
  praefect['database_sslmode'] = 'disable';
110
110
  praefect['postgres_queue_enabled'] = true;
111
111
  praefect['failover_enabled'] = true;
112
+ praefect['failover_election_strategy'] = 'per_repository';
112
113
  praefect['virtual_storages'] = {
113
114
  'default' => {
114
115
  '#{@primary_node_name}' => {
@@ -23,7 +23,6 @@ module Gitlab
23
23
 
24
24
  gitaly.omnibus_configuration << gitaly_omnibus
25
25
  gitaly.gitaly_tls
26
- gitaly.exec_commands = ['gitlab-ctl status']
27
26
 
28
27
  gitaly.instance do
29
28
  Component::Gitlab.perform do |gitlab|
@@ -33,7 +32,6 @@ module Gitlab
33
32
 
34
33
  gitlab.omnibus_configuration << gitlab_omnibus
35
34
  gitlab.tls = true
36
- gitlab.exec_commands = ['gitlab-ctl status']
37
35
 
38
36
  gitlab.instance do
39
37
  puts "Running mTLS specs!"
@@ -1,5 +1,5 @@
1
1
  module Gitlab
2
2
  module QA
3
- VERSION = '7.1.1'.freeze
3
+ VERSION = '7.4.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: 7.1.1
4
+ version: 7.4.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: 2021-04-13 00:00:00.000000000 Z
11
+ date: 2021-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: climate_control
@@ -277,6 +277,7 @@ files:
277
277
  - lib/gitlab/qa/runtime/env.rb
278
278
  - lib/gitlab/qa/runtime/omnibus_configuration.rb
279
279
  - lib/gitlab/qa/runtime/omnibus_configurations/default.rb
280
+ - lib/gitlab/qa/runtime/omnibus_configurations/license_mode.rb
280
281
  - lib/gitlab/qa/runtime/omnibus_configurations/object_storage.rb
281
282
  - lib/gitlab/qa/runtime/omnibus_configurations/packages.rb
282
283
  - lib/gitlab/qa/runtime/scenario.rb
@@ -298,6 +299,7 @@ files:
298
299
  - lib/gitlab/qa/scenario/test/instance/staging.rb
299
300
  - lib/gitlab/qa/scenario/test/instance/staging_geo.rb
300
301
  - lib/gitlab/qa/scenario/test/integration/actioncable.rb
302
+ - lib/gitlab/qa/scenario/test/integration/client_ssl.rb
301
303
  - lib/gitlab/qa/scenario/test/integration/elasticsearch.rb
302
304
  - lib/gitlab/qa/scenario/test/integration/geo.rb
303
305
  - lib/gitlab/qa/scenario/test/integration/gitaly_cluster.rb