gitlab-qa 7.18.1 → 7.21.1

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: 5b05f451b8f3fef95132c1392719b6e20d777c495778df260ca340af2db4dc21
4
- data.tar.gz: ebea6af07ab05c224982347a5d71c2ccfd31e0eaede1fa40a27c2fae65bc3da8
3
+ metadata.gz: 9d0474bbb165c8eb249d43ecaf01951a84cb6afe3e2acaae1277f8a5ef69cec1
4
+ data.tar.gz: 5fc154945416823b3ae095c88f41166eddf41896ec2c4be7d7a1c734d179b1a8
5
5
  SHA512:
6
- metadata.gz: 2724c38eb788f497af697dd743618ed13b45873e9b9da8937943489146a517cb6d067bf7d8354d77f4349fa8b19b35118e99919eba4ff43b39f8e2de24668035
7
- data.tar.gz: b93d8f4055d6a9b6d897202da7f413a181293fc25b49aa30709976fd4d1da0e86bc2e4976f73b738f539de1a0e6438247bd8df814c7d853a05eb18d1c0243812
6
+ metadata.gz: 86d3bd714931d4868e053629ba7fe65307e77e5199356fe3e85d23647023eccbcf76be49398c2f0a74c47348b6f3e7df57c10b12f3636c6587fd7f2175c203a0
7
+ data.tar.gz: d62d1eec5495a1fa420bdcdf0c95ba3222800519962871669ff2b4dad1f6046fe9d91f7413a397a75c66e405b7c10b19c200f378448b3ab37d5aee7c0c3110fb
data/.gitlab-ci.yml CHANGED
@@ -21,9 +21,6 @@ default:
21
21
  - bundle version
22
22
  - bundle config path vendor
23
23
  - bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check
24
- - if [ -n "$TRIGGERED_USER" ] && [ -n "$TRIGGER_SOURCE" ]; then
25
- echo "Pipeline triggered by $TRIGGERED_USER at $TRIGGER_SOURCE";
26
- fi
27
24
  - export LANG=C.UTF-8
28
25
 
29
26
  workflow:
@@ -98,7 +95,11 @@ rspec:
98
95
  .combined-gitlab-qa-options-script:
99
96
  script:
100
97
  - 'echo "Running: bundle exec exe/gitlab-qa ${QA_SCENARIO:=Test::Instance::Image} ${RELEASE:=$DEFAULT_RELEASE} $GITLAB_QA_OPTIONS_COMBINED -- $QA_TESTS $QA_RSPEC_TAGS $RSPEC_REPORT_OPTS"'
101
- - bundle exec exe/gitlab-qa ${QA_SCENARIO:=Test::Instance::Image} ${RELEASE:=$DEFAULT_RELEASE} $GITLAB_QA_OPTIONS_COMBINED -- $QA_TESTS $QA_RSPEC_TAGS $RSPEC_REPORT_OPTS
98
+ - bundle exec exe/gitlab-qa ${QA_SCENARIO:=Test::Instance::Image} ${RELEASE:=$DEFAULT_RELEASE} $GITLAB_QA_OPTIONS_COMBINED -- $QA_TESTS $QA_RSPEC_TAGS $RSPEC_REPORT_OPTS || test_run_exit_code=$?
99
+ - bundle exec exe/gitlab-qa-report --update-screenshot-path "gitlab-qa-run-*/**/rspec-*.xml"
100
+ - export GITLAB_QA_ACCESS_TOKEN="$GITLAB_QA_PRODUCTION_ACCESS_TOKEN"
101
+ - if [ "$TOP_UPSTREAM_SOURCE_REF" == $TOP_UPSTREAM_DEFAULT_BRANCH ] || [[ "$TOP_UPSTREAM_SOURCE_JOB" == https://ops.gitlab.net* ]]; then exe/gitlab-qa-report --report-results "gitlab-qa-run-*/**/rspec-*.json" --test-case-project "$QA_TESTCASES_REPORTING_PROJECT" --results-issue-project "$QA_TEST_RESULTS_ISSUES_PROJECT" || true; fi
102
+ - exit $test_run_exit_code
102
103
 
103
104
  # The Test::Omnibus::Update scenarios require the release to be specified twice, which can't be done dynamically using the `variables` parameter
104
105
  # So instead we can use this script with two release variables
@@ -1212,7 +1213,6 @@ ee:large-setup:
1212
1213
  ee:cloud-activation:
1213
1214
  before_script:
1214
1215
  - unset EE_LICENSE
1215
- - unset GITLAB_QA_FORMLESS_LOGIN_TOKEN
1216
1216
  - !reference [default, before_script]
1217
1217
  extends:
1218
1218
  - .rules:ee-never-when-triggered-by-feature-flag-definition-change
@@ -1221,12 +1221,11 @@ ee:cloud-activation:
1221
1221
  - .ee-variables
1222
1222
  - .rspec-report-opts
1223
1223
  variables:
1224
- QA_SCENARIO: "Test::Integration::CloudActivation"
1224
+ QA_RSPEC_TAGS: "--tag cloud_activation"
1225
1225
 
1226
1226
  ee:cloud-activation-quarantine:
1227
1227
  before_script:
1228
1228
  - unset EE_LICENSE
1229
- - unset GITLAB_QA_FORMLESS_LOGIN_TOKEN
1230
1229
  - !reference [default, before_script]
1231
1230
  extends:
1232
1231
  - .rules:ee-never-when-triggered-by-feature-flag-definition-change
@@ -1236,7 +1235,7 @@ ee:cloud-activation-quarantine:
1236
1235
  - .quarantine
1237
1236
  - .rspec-report-opts
1238
1237
  variables:
1239
- QA_SCENARIO: "Test::Integration::CloudActivation"
1238
+ QA_RSPEC_TAGS: "--tag cloud_activation"
1240
1239
 
1241
1240
  # This job requires the `GITLAB_QA_ACCESS_TOKEN` and `GITLAB_QA_DEV_ACCESS_TOKEN`
1242
1241
  # variable to be passed when triggered.
@@ -12,7 +12,7 @@ module Gitlab
12
12
  class Gitlab < Base
13
13
  extend Forwardable
14
14
 
15
- attr_reader :release, :omnibus_configuration
15
+ attr_reader :release, :omnibus_configuration, :omnibus_gitlab_rails_env
16
16
  attr_accessor :tls, :skip_availability_check, :runner_network
17
17
  attr_writer :name, :relative_path
18
18
 
@@ -29,6 +29,7 @@ module Gitlab
29
29
  super
30
30
 
31
31
  @skip_availability_check = false
32
+ @omnibus_gitlab_rails_env = {}
32
33
 
33
34
  @volumes[GITLAB_CERTIFICATES_PATH] = SSL_PATH
34
35
  @volumes[AUTHORITY_CERTIFICATES_PATH] = TRUSTED_PATH
@@ -41,7 +42,14 @@ module Gitlab
41
42
  def set_formless_login_token
42
43
  return if Runtime::Env.gitlab_qa_formless_login_token.to_s.strip.empty?
43
44
 
44
- @omnibus_configuration << "gitlab_rails['env'] = { 'GITLAB_QA_FORMLESS_LOGIN_TOKEN' => '#{Runtime::Env.gitlab_qa_formless_login_token}' }"
45
+ @omnibus_gitlab_rails_env['GITLAB_QA_FORMLESS_LOGIN_TOKEN'] = Runtime::Env.gitlab_qa_formless_login_token
46
+ end
47
+
48
+ def set_license_mode
49
+ return unless Runtime::Env.test_license_mode?
50
+
51
+ @omnibus_gitlab_rails_env['GITLAB_LICENSE_MODE'] = 'test'
52
+ @omnibus_gitlab_rails_env['CUSTOMER_PORTAL_URL'] = 'https://customers.staging.gitlab.com'
45
53
  end
46
54
 
47
55
  def elastic_url=(url)
@@ -95,6 +103,9 @@ module Gitlab
95
103
 
96
104
  def prepare_gitlab_omnibus_config
97
105
  set_formless_login_token
106
+ set_license_mode
107
+
108
+ @omnibus_configuration << "gitlab_rails['env'] = #{@omnibus_gitlab_rails_env}" unless omnibus_gitlab_rails_env.empty?
98
109
  end
99
110
 
100
111
  def start # rubocop:disable Metrics/AbcSize
@@ -0,0 +1,174 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'tempfile'
4
+
5
+ module Gitlab
6
+ module QA
7
+ module Component
8
+ # Component to collect docker metrics
9
+ #
10
+ class Telegraf < Base
11
+ DOCKER_IMAGE = 'telegraf'
12
+ DOCKER_IMAGE_TAG = '1.21-alpine'
13
+ LOG_DIR = '/etc/telegraf/log'
14
+
15
+ def initialize
16
+ super
17
+
18
+ @name = DOCKER_IMAGE
19
+ @host_log_dir = "#{Runtime::Env.host_artifacts_dir}/#{@name}"
20
+ @environment = Runtime::Env.variables.slice(
21
+ 'QA_INFLUXDB_TOKEN',
22
+ 'QA_INFLUXDB_URL',
23
+ 'QA_RUN_TYPE',
24
+ 'CI_JOB_NAME',
25
+ 'CI_PIPELINE_ID'
26
+ )
27
+ end
28
+
29
+ attr_reader :name, :host_log_dir, :telegraf_config
30
+
31
+ # Start container
32
+ #
33
+ # @return [void]
34
+ def start
35
+ docker.run(image: image, tag: tag) do |command|
36
+ set_command_args(command)
37
+ set_volumes(command)
38
+ set_environment(command)
39
+ end
40
+ end
41
+
42
+ # Run prepare commands
43
+ #
44
+ # @return [void]
45
+ def prepare
46
+ @telegraf_config = File.open("#{Dir.mktmpdir(nil, ENV['CI_BUILDS_DIR'])}/telegraf.conf", 'w') do |file|
47
+ file.write(config)
48
+ file.path
49
+ end
50
+ FileUtils.mkdir_p(host_log_dir)
51
+
52
+ prepare_docker_image
53
+ prepare_docker_container
54
+ end
55
+
56
+ # Run teardown
57
+ #
58
+ # @return [void]
59
+ def teardown
60
+ return unless run_telegraf?
61
+
62
+ super
63
+ end
64
+
65
+ private
66
+
67
+ # Set custom run command arguments
68
+ #
69
+ # @param [Docker::Command] command
70
+ # @return [void]
71
+ def set_command_args(command)
72
+ command << '-d'
73
+ command << "--name #{name}"
74
+ command << "--user root"
75
+ command << "--entrypoint telegraf"
76
+ end
77
+
78
+ # Set volumes
79
+ #
80
+ # @param [Docker::Command] command
81
+ # @return [void]
82
+ def set_volumes(command)
83
+ command.volume(host_log_dir, LOG_DIR)
84
+ command.volume('/var/run/docker.sock', '/var/run/docker.sock')
85
+ command.volume(telegraf_config, '/etc/telegraf/telegraf.conf', :ro)
86
+ end
87
+
88
+ # Set environment variables
89
+ #
90
+ # @param [Docker::Command] command
91
+ # @return [void]
92
+ def set_environment(command)
93
+ environment.each { |k, v| command.env(k, v) }
94
+ end
95
+
96
+ # Run main entrypoint
97
+ #
98
+ # @return [void]
99
+ def instance_no_teardown
100
+ if run_telegraf?
101
+ super
102
+ else
103
+ Runtime::Logger.debug("Skipping starting telegraf container!")
104
+ yield self if block_given?
105
+ end
106
+ end
107
+
108
+ # Should telegraf be started
109
+ #
110
+ # Run only on CI and skip if metrics explicitly disabled, run_type not set or influx params missing
111
+ #
112
+ # @return [Boolean]
113
+ def run_telegraf?
114
+ Runtime::Env.ci && Runtime::Env.qa_export_test_metrics? && Runtime::Env.qa_run_type && !missing_influx_config?
115
+ end
116
+
117
+ # Influxdb config params missing
118
+ #
119
+ # @return [Boolean]
120
+ def missing_influx_config?
121
+ environment.slice('QA_INFLUXDB_TOKEN', 'QA_INFLUXDB_URL').any? { |_k, v| v.blank? }
122
+ end
123
+
124
+ # Telegraf configuration
125
+ #
126
+ # @return [String]
127
+ def config
128
+ <<~CONFIG
129
+ [global_tags]
130
+ run_type = "${QA_RUN_TYPE}"
131
+ pipeline_id = "${CI_PIPELINE_ID}"
132
+ job_name = "${CI_JOB_NAME}"
133
+
134
+ [agent]
135
+ interval = "1s"
136
+ round_interval = true
137
+ metric_batch_size = 1000
138
+ metric_buffer_limit = 10000
139
+ collection_jitter = "0s"
140
+ flush_interval = "10s"
141
+ flush_jitter = "0s"
142
+ precision = ""
143
+ debug = true
144
+ logtarget = "file"
145
+ logfile = "#{LOG_DIR}/telegraf.log"
146
+ hostname = ""
147
+ omit_hostname = false
148
+
149
+ [[outputs.influxdb_v2]]
150
+ urls = ["${QA_INFLUXDB_URL}"]
151
+ token = "${QA_INFLUXDB_TOKEN}"
152
+ organization = "gitlab-qa"
153
+ bucket = "test-env-stats"
154
+
155
+ [[inputs.docker]]
156
+ endpoint = "unix:///var/run/docker.sock"
157
+ gather_services = false
158
+ container_names = []
159
+ source_tag = false
160
+ container_name_include = []
161
+ container_name_exclude = ["#{name}"]
162
+ timeout = "5s"
163
+ perdevice = false
164
+ perdevice_include = []
165
+ total = true
166
+ total_include = ["cpu", "blkio", "network"]
167
+ docker_label_include = []
168
+ docker_label_exclude = []
169
+ CONFIG
170
+ end
171
+ end
172
+ end
173
+ end
174
+ end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'erb'
4
+ require 'date'
4
5
 
5
6
  module Gitlab
6
7
  module QA
@@ -24,7 +25,7 @@ module Gitlab
24
25
  end
25
26
 
26
27
  issue = gitlab.create_issue(
27
- title: "Test session report | #{pipeline}",
28
+ title: "#{Time.now.strftime('%Y-%m-%d')} Test session report | #{pipeline}",
28
29
  description: generate_description(tests),
29
30
  labels: ['Quality', 'QA', 'triage report', pipeline_name_label]
30
31
  )
@@ -122,7 +122,7 @@ module Gitlab
122
122
  "found:canary.staging.gitlab.com"
123
123
  when 'preprod'
124
124
  'found:pre.gitlab.com'
125
- when 'staging-orchestrated', 'nightly', QA::Runtime::Env.default_branch, 'staging-ref', 'release'
125
+ when 'nightly', QA::Runtime::Env.default_branch, 'staging-ref', 'release'
126
126
  "found:#{pipeline}"
127
127
  else
128
128
  raise "No `found:*` label for the `#{pipeline}` pipeline!"
@@ -117,6 +117,10 @@ module Gitlab
117
117
  def error_and_stack_trace(text)
118
118
  text.strip[/Error:(.*)/m, 1].to_s
119
119
  end
120
+
121
+ def updated_description(issue, test)
122
+ new_issue_description(test)
123
+ end
120
124
  end
121
125
  end
122
126
  end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'erb'
4
+
3
5
  module Gitlab
4
6
  module QA
5
7
  module Report
@@ -59,7 +61,28 @@ module Gitlab
59
61
  end
60
62
 
61
63
  def new_issue_description(test)
62
- "#{super}#{TEST_CASE_RESULTS_SECTION_TEMPLATE}"
64
+ "#{super}\n\n#{execution_graph_section(test)}"
65
+ end
66
+
67
+ def execution_graph_section(test)
68
+ formatted_title = ERB::Util.url_encode(test.name)
69
+
70
+ <<~MKDOWN.strip
71
+ ### Executions
72
+
73
+ package-and-qa:
74
+ <img src="https://dashboards.quality.gitlab.net/render/d-solo/cW0UMgv7k/spec-health?orgId=1&var-run_type=package-and-qa&var-name=#{formatted_title}&panelId=4&width=1000&height=500" />
75
+ MKDOWN
76
+ end
77
+
78
+ def updated_description(testcase, test)
79
+ historical_results_section = testcase.description.match(/### DO NOT EDIT BELOW THIS LINE[\s\S]+/)
80
+
81
+ "#{new_issue_description(test)}\n\n#{historical_results_section}"
82
+ end
83
+
84
+ def issue_title_needs_updating?(testcase, test)
85
+ super || !testcase.description.include?(execution_graph_section(test)) && !%w[canary production preprod release].include?(pipeline)
63
86
  end
64
87
  end
65
88
  end
@@ -47,9 +47,14 @@ module Gitlab
47
47
  end
48
48
 
49
49
  def update_issue_title(issue, test)
50
- warn(%(#{issue_type} title needs to be updated from '#{issue.title.strip}' to '#{title_from_test(test)}'))
50
+ old_title = issue.title.strip
51
+ new_title = title_from_test(test)
51
52
 
52
- gitlab.edit_issue(iid: issue.iid, options: { title: title_from_test(test) })
53
+ warn(%(#{issue_type} title needs to be updated from '#{old_title}' to '#{new_title}'))
54
+
55
+ new_description = updated_description(issue, test)
56
+
57
+ gitlab.edit_issue(iid: issue.iid, options: { title: new_title, description: new_description })
53
58
  end
54
59
 
55
60
  private
@@ -62,16 +62,17 @@ module Gitlab
62
62
  args = remove_gitlab_qa_args(args)
63
63
 
64
64
  if args.size >= 1
65
+ scenario = Scenario.const_get(args.shift)
66
+
65
67
  load_omnibus_configurations
68
+ load_telegraf(scenario)
66
69
 
67
70
  begin
68
71
  @active_configurators.compact.each do |configurator|
69
72
  configurator.instance(skip_teardown: true)
70
73
  end
71
74
 
72
- Scenario
73
- .const_get(args.shift)
74
- .perform(*args)
75
+ scenario.perform(*args)
75
76
  ensure
76
77
  @active_configurators.compact.each(&:teardown)
77
78
  end
@@ -100,6 +101,18 @@ module Gitlab
100
101
  end.compact
101
102
  end
102
103
 
104
+ # Start telegraf agent for metrics collection
105
+ #
106
+ # Do not load when running against external instance
107
+ #
108
+ # @param [Class] scenario
109
+ # @return [void]
110
+ def self.load_telegraf(scenario)
111
+ return if scenario <= Scenario::Test::Instance::DeploymentBase || scenario == Scenario::Test::Instance::Any
112
+
113
+ @active_configurators << Component::Telegraf.new
114
+ end
115
+
103
116
  def self.load_omnibus_configurations
104
117
  # OmnibusConfiguration::Test => --test
105
118
  # OmnibusConfiguration::HelloThere => --hello_there
@@ -142,16 +142,12 @@ module Gitlab
142
142
  end
143
143
 
144
144
  def variables
145
- vars = {}
146
-
147
- ENV_VARIABLES.each do |name, attribute|
145
+ ENV_VARIABLES.each_with_object({}) do |(name, attribute), vars|
148
146
  # Variables that are overridden in the environment take precedence
149
147
  # over the defaults specified by the QA runtime.
150
148
  value = env_var_name_if_defined(name) || send(attribute) # rubocop:disable GitlabSecurity/PublicSend
151
149
  vars[name] = value if value
152
150
  end
153
-
154
- vars
155
151
  end
156
152
 
157
153
  def debug?
@@ -179,15 +175,7 @@ module Gitlab
179
175
  end
180
176
 
181
177
  def pipeline_from_project_name
182
- if ci_project_name.to_s.start_with?('gitlab-qa')
183
- if env_var_value_if_defined('TOP_UPSTREAM_SOURCE_JOB').to_s.start_with?('https://ops.gitlab.net')
184
- 'staging-orchestrated'
185
- else
186
- QA::Runtime::Env.default_branch
187
- end
188
- else
189
- ci_project_name
190
- end
178
+ ci_project_name.to_s.start_with?('gitlab-qa') ? QA::Runtime::Env.default_branch : ci_project_name
191
179
  end
192
180
 
193
181
  def run_id
@@ -310,6 +298,14 @@ module Gitlab
310
298
  enabled?(env_var_value_if_defined('GEO_FAILOVER'), default: false)
311
299
  end
312
300
 
301
+ def test_license_mode?
302
+ enabled?(env_var_value_if_defined('TEST_LICENSE_MODE'), default: false)
303
+ end
304
+
305
+ def qa_export_test_metrics?
306
+ enabled?(env_var_value_if_defined('QA_EXPORT_TEST_METRICS'), default: true)
307
+ end
308
+
313
309
  private
314
310
 
315
311
  def enabled?(value, default: true)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Gitlab
4
4
  module QA
5
- VERSION = '7.18.1'
5
+ VERSION = '7.21.1'
6
6
  end
7
7
  end
data/lib/gitlab/qa.rb CHANGED
@@ -74,7 +74,6 @@ module Gitlab
74
74
  autoload :Registry, 'gitlab/qa/scenario/test/integration/registry'
75
75
  autoload :RegistryTLS, 'gitlab/qa/scenario/test/integration/registry_tls'
76
76
  autoload :ServicePingDisabled, 'gitlab/qa/scenario/test/integration/service_ping_disabled'
77
- autoload :CloudActivation, 'gitlab/qa/scenario/test/integration/cloud_activation'
78
77
  end
79
78
 
80
79
  module Sanity
@@ -100,6 +99,7 @@ module Gitlab
100
99
  autoload :MailHog, 'gitlab/qa/component/mail_hog'
101
100
  autoload :Jira, 'gitlab/qa/component/jira'
102
101
  autoload :PostgreSQL, 'gitlab/qa/component/postgresql'
102
+ autoload :Telegraf, 'gitlab/qa/component/telegraf'
103
103
  end
104
104
 
105
105
  module Support
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.18.1
4
+ version: 7.21.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitLab Quality
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-01-21 00:00:00.000000000 Z
11
+ date: 2022-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: climate_control
@@ -256,6 +256,7 @@ files:
256
256
  - lib/gitlab/qa/component/specs.rb
257
257
  - lib/gitlab/qa/component/staging.rb
258
258
  - lib/gitlab/qa/component/staging_ref.rb
259
+ - lib/gitlab/qa/component/telegraf.rb
259
260
  - lib/gitlab/qa/docker/command.rb
260
261
  - lib/gitlab/qa/docker/engine.rb
261
262
  - lib/gitlab/qa/docker/shellout.rb
@@ -310,7 +311,6 @@ files:
310
311
  - lib/gitlab/qa/scenario/test/instance/staging_ref.rb
311
312
  - lib/gitlab/qa/scenario/test/integration/actioncable.rb
312
313
  - lib/gitlab/qa/scenario/test/integration/client_ssl.rb
313
- - lib/gitlab/qa/scenario/test/integration/cloud_activation.rb
314
314
  - lib/gitlab/qa/scenario/test/integration/elasticsearch.rb
315
315
  - lib/gitlab/qa/scenario/test/integration/geo.rb
316
316
  - lib/gitlab/qa/scenario/test/integration/gitaly_cluster.rb
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Gitlab
4
- module QA
5
- module Scenario
6
- module Test
7
- module Integration
8
- class CloudActivation < Scenario::Template
9
- def perform(release, *rspec_args)
10
- Component::Gitlab.perform do |gitlab|
11
- gitlab.release = release
12
- gitlab.network = 'test'
13
-
14
- gitlab.omnibus_configuration << <<~OMNIBUS
15
- gitlab_rails['env'] = { 'GITLAB_LICENSE_MODE' => 'test', 'CUSTOMER_PORTAL_URL' => 'https://customers.staging.gitlab.com' }
16
- OMNIBUS
17
-
18
- gitlab.instance do
19
- rspec_args << "--" unless rspec_args.include?('--')
20
- rspec_args << %w[--tag cloud_activation]
21
-
22
- Component::Specs.perform do |specs|
23
- specs.suite = 'Test::Instance::All'
24
- specs.release = gitlab.release
25
- specs.network = gitlab.network
26
- specs.args = [gitlab.address, *rspec_args]
27
- end
28
- end
29
- end
30
- end
31
- end
32
- end
33
- end
34
- end
35
- end
36
- end