gitlab-qa 7.25.0 → 7.25.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitlab/ci/jobs/actioncable.gitlab-ci.yml +41 -0
- data/.gitlab/ci/jobs/base.gitlab-ci.yml +281 -0
- data/.gitlab/ci/jobs/cloud_activation.gitlab-ci.yml +30 -0
- data/.gitlab/ci/jobs/custom_parallel.gitlab-ci.yml +21 -0
- data/.gitlab/ci/jobs/ee_previous_to_ce_update.gitlab-ci.yml +18 -0
- data/.gitlab/ci/jobs/elasticsearch.gitlab-ci.yml +20 -0
- data/.gitlab/ci/jobs/geo.gitlab-ci.yml +18 -0
- data/.gitlab/ci/jobs/gitaly_cluster.gitlab-ci.yml +45 -0
- data/.gitlab/ci/jobs/group_saml.gitlab-ci.yml +20 -0
- data/.gitlab/ci/jobs/instance.gitlab-ci.yml +55 -0
- data/.gitlab/ci/jobs/instance_saml.gitlab-ci.yml +41 -0
- data/.gitlab/ci/jobs/integrations.gitlab-ci.yml +14 -0
- data/.gitlab/ci/jobs/jira.gitlab-ci.yml +41 -0
- data/.gitlab/ci/jobs/large_setup.gitlab-ci.yml +19 -0
- data/.gitlab/ci/jobs/ldap_no_server.gitlab-ci.yml +20 -0
- data/.gitlab/ci/jobs/ldap_no_tls.gitlab-ci.yml +41 -0
- data/.gitlab/ci/jobs/ldap_tls.gitlab-ci.yml +41 -0
- data/.gitlab/ci/jobs/mattermost.gitlab-ci.yml +41 -0
- data/.gitlab/ci/jobs/mtls.gitlab-ci.yml +17 -0
- data/.gitlab/ci/jobs/object_storage.gitlab-ci.yml +49 -0
- data/.gitlab/ci/jobs/object_storage_aws.gitlab-ci.yml +25 -0
- data/.gitlab/ci/jobs/object_storage_gcs.gitlab-ci.yml +23 -0
- data/.gitlab/ci/jobs/object_storage_registry_tls.gitlab-ci.yml +41 -0
- data/.gitlab/ci/jobs/omnibus_image.gitlab-ci.yml +15 -0
- data/.gitlab/ci/jobs/omnibus_upgrade.gitlab-ci.yml +28 -0
- data/.gitlab/ci/jobs/packages.gitlab-ci.yml +25 -0
- data/.gitlab/ci/jobs/praefect.gitlab-ci.yml +71 -0
- data/.gitlab/ci/jobs/registry.gitlab-ci.yml +41 -0
- data/.gitlab/ci/jobs/registry_with_cdn.gitlab-ci.yml +43 -0
- data/.gitlab/ci/jobs/relative_url.gitlab-ci.yml +65 -0
- data/.gitlab/ci/jobs/repository_storage.gitlab-ci.yml +41 -0
- data/.gitlab/ci/jobs/sanity_framework.gitlab-ci.yml +24 -0
- data/.gitlab/ci/jobs/service_ping_disabled.gitlab-ci.yml +19 -0
- data/.gitlab/ci/jobs/smtp.gitlab-ci.yml +19 -0
- data/.gitlab/ci/jobs/staging.gitlab-ci.yml +10 -0
- data/.gitlab/ci/jobs/update.gitlab-ci.yml +60 -0
- data/.gitlab-ci.yml +37 -38
- data/bin/notify_upstream +98 -0
- data/lib/gitlab/qa/component/base.rb +0 -1
- data/lib/gitlab/qa/report/relate_failure_issue.rb +1 -1
- data/lib/gitlab/qa/runtime/env.rb +1 -1
- data/lib/gitlab/qa/scenario/test/integration/mattermost.rb +5 -1
- data/lib/gitlab/qa/version.rb +1 -1
- data/scripts/generate-qa-jobs.rb +41 -1710
- metadata +39 -3
- data/bin/notify_upstream_commit +0 -61
@@ -0,0 +1,19 @@
|
|
1
|
+
ce:service_ping_disabled:
|
2
|
+
extends:
|
3
|
+
- .rules:ce-never-when-triggered-by-feature-flag-definition-change
|
4
|
+
- .test
|
5
|
+
- .high-capacity
|
6
|
+
- .ce-variables
|
7
|
+
- .rspec-report-opts
|
8
|
+
variables:
|
9
|
+
QA_SCENARIO: "Test::Integration::ServicePingDisabled"
|
10
|
+
|
11
|
+
ee:service_ping_disabled:
|
12
|
+
extends:
|
13
|
+
- .rules:ee-never-when-triggered-by-feature-flag-definition-change
|
14
|
+
- .test
|
15
|
+
- .high-capacity
|
16
|
+
- .ee-variables
|
17
|
+
- .rspec-report-opts
|
18
|
+
variables:
|
19
|
+
QA_SCENARIO: "Test::Integration::ServicePingDisabled"
|
@@ -0,0 +1,19 @@
|
|
1
|
+
ce:smtp:
|
2
|
+
extends:
|
3
|
+
- .rules:ce-never-when-triggered-by-feature-flag-definition-change
|
4
|
+
- .test
|
5
|
+
- .high-capacity
|
6
|
+
- .ce-variables
|
7
|
+
- .rspec-report-opts
|
8
|
+
variables:
|
9
|
+
QA_SCENARIO: "Test::Integration::SMTP"
|
10
|
+
|
11
|
+
ee:smtp:
|
12
|
+
extends:
|
13
|
+
- .rules:ee-never-when-triggered-by-feature-flag-definition-change
|
14
|
+
- .test
|
15
|
+
- .high-capacity
|
16
|
+
- .ee-variables
|
17
|
+
- .rspec-report-opts
|
18
|
+
variables:
|
19
|
+
QA_SCENARIO: "Test::Integration::SMTP"
|
@@ -0,0 +1,10 @@
|
|
1
|
+
staging:
|
2
|
+
script:
|
3
|
+
- unset EE_LICENSE
|
4
|
+
- 'echo "Running: bundle exec exe/gitlab-qa Test::Instance::Staging ${RELEASE:=$DEFAULT_RELEASE} -- $QA_TESTS $QA_RSPEC_TAGS"'
|
5
|
+
- bundle exec exe/gitlab-qa Test::Instance::Staging ${RELEASE:=$DEFAULT_RELEASE} -- $QA_TESTS $QA_RSPEC_TAGS
|
6
|
+
extends:
|
7
|
+
- .rules:only-qa-never-when-triggered-by-feature-flag-definition-change
|
8
|
+
- .test
|
9
|
+
- .high-capacity
|
10
|
+
allow_failure: true
|
@@ -0,0 +1,60 @@
|
|
1
|
+
ce:update-parallel:
|
2
|
+
extends:
|
3
|
+
- .rules:ce-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-specified
|
4
|
+
- .test
|
5
|
+
- .high-capacity
|
6
|
+
- .ce-variables
|
7
|
+
- .rspec-report-opts
|
8
|
+
- .update-scenario-script
|
9
|
+
parallel: 5
|
10
|
+
|
11
|
+
ce:update:
|
12
|
+
extends:
|
13
|
+
- .rules:ce-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-not-specified
|
14
|
+
- .test
|
15
|
+
- .high-capacity
|
16
|
+
- .ce-variables
|
17
|
+
- .rspec-report-opts
|
18
|
+
- .update-scenario-script
|
19
|
+
|
20
|
+
ce:update-quarantine:
|
21
|
+
extends:
|
22
|
+
- .rules:ce-never-when-triggered-by-feature-flag-definition-change
|
23
|
+
- .test
|
24
|
+
- .high-capacity
|
25
|
+
- .ce-variables
|
26
|
+
- .quarantine
|
27
|
+
- .rspec-report-opts
|
28
|
+
- .update-scenario-script
|
29
|
+
variables:
|
30
|
+
QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
|
31
|
+
|
32
|
+
ee:update-parallel:
|
33
|
+
extends:
|
34
|
+
- .rules:ee-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-specified
|
35
|
+
- .test
|
36
|
+
- .high-capacity
|
37
|
+
- .ee-variables
|
38
|
+
- .rspec-report-opts
|
39
|
+
- .update-scenario-script
|
40
|
+
parallel: 10
|
41
|
+
|
42
|
+
ee:update:
|
43
|
+
extends:
|
44
|
+
- .rules:ee-never-when-triggered-by-feature-flag-definition-change-and-never-when-qa-tests-not-specified
|
45
|
+
- .test
|
46
|
+
- .high-capacity
|
47
|
+
- .ee-variables
|
48
|
+
- .rspec-report-opts
|
49
|
+
- .update-scenario-script
|
50
|
+
|
51
|
+
ee:update-quarantine:
|
52
|
+
extends:
|
53
|
+
- .rules:ee-never-when-triggered-by-feature-flag-definition-change
|
54
|
+
- .test
|
55
|
+
- .high-capacity
|
56
|
+
- .ee-variables
|
57
|
+
- .quarantine
|
58
|
+
- .rspec-report-opts
|
59
|
+
variables:
|
60
|
+
QA_RSPEC_TAGS: "--tag quarantine --tag ~orchestrated"
|
data/.gitlab-ci.yml
CHANGED
@@ -49,7 +49,14 @@ prepare:
|
|
49
49
|
stage: generate
|
50
50
|
extends: .rules:never-on-version-change-or-tag
|
51
51
|
script:
|
52
|
-
-
|
52
|
+
- |
|
53
|
+
if [[ $TOP_UPSTREAM_SOURCE_PROJECT == "gitlab-org/gitlab" && -n $TOP_UPSTREAM_SOURCE_REF ]]; then
|
54
|
+
# Replace '\' with '-' and convert to downcase
|
55
|
+
export QA_IMAGE_TAG=$(echo "${TOP_UPSTREAM_SOURCE_REF//\//-}" | tr '[:upper:]' '[:lower:]')
|
56
|
+
else
|
57
|
+
export QA_IMAGE_TAG=master
|
58
|
+
fi
|
59
|
+
- 'echo "QA_IMAGE_TAG=$QA_IMAGE_TAG" >> prep_vars.env'
|
53
60
|
- 'echo $QA_IMAGE_TAG'
|
54
61
|
artifacts:
|
55
62
|
reports:
|
@@ -58,40 +65,6 @@ prepare:
|
|
58
65
|
- prep_vars.env
|
59
66
|
|
60
67
|
generate-jobs:
|
61
|
-
stage: generate
|
62
|
-
extends: .rules:never-on-version-change-or-tag
|
63
|
-
script:
|
64
|
-
# TOP_UPSTREAM_DEFAULT_BRANCH is the default branch name of the original project that triggered a pipeline in this project.
|
65
|
-
- 'export TOP_UPSTREAM_DEFAULT_BRANCH=${TOP_UPSTREAM_DEFAULT_BRANCH:=master} && echo "TOP_UPSTREAM_DEFAULT_BRANCH=$TOP_UPSTREAM_DEFAULT_BRANCH" >> variables.env'
|
66
|
-
- 'echo "RELEASE=$RELEASE" >> variables.env'
|
67
|
-
- 'echo "GITLAB_QA_OPTIONS=$GITLAB_QA_OPTIONS" >> variables.env'
|
68
|
-
- 'echo "QA_TESTS=$QA_TESTS" >> variables.env'
|
69
|
-
- 'echo "KNAPSACK_GENERATE_REPORT=$KNAPSACK_GENERATE_REPORT" >> variables.env'
|
70
|
-
- 'echo "TOP_UPSTREAM_SOURCE_JOB=$TOP_UPSTREAM_SOURCE_JOB" >> variables.env'
|
71
|
-
- 'echo "TOP_UPSTREAM_SOURCE_REF=$TOP_UPSTREAM_SOURCE_REF" >> variables.env'
|
72
|
-
- 'echo "DISABLE_RELATING_FAILURE_ISSUES=$DISABLE_RELATING_FAILURE_ISSUES" >> variables.env'
|
73
|
-
- 'echo "TOP_UPSTREAM_SOURCE_PROJECT=$TOP_UPSTREAM_SOURCE_PROJECT" >> variables.env'
|
74
|
-
- 'echo "TOP_UPSTREAM_SOURCE_SHA=$TOP_UPSTREAM_SOURCE_SHA" >> variables.env'
|
75
|
-
- 'echo "NOTIFY_CHANNEL=$NOTIFY_CHANNEL" >> variables.env'
|
76
|
-
- 'echo "QA_IMAGE=$QA_IMAGE" >> variables.env'
|
77
|
-
- 'echo "EE_LICENSE=$EE_LICENSE" >> variables.env'
|
78
|
-
- 'echo "TOP_UPSTREAM_MERGE_REQUEST_IID=$TOP_UPSTREAM_MERGE_REQUEST_IID" >> variables.env'
|
79
|
-
- 'echo "ALLURE_JOB_NAME=$ALLURE_JOB_NAME" >> variables.env'
|
80
|
-
|
81
|
-
- ./scripts/generate-qa-jobs.rb
|
82
|
-
- cat generated-qa-jobs.yml
|
83
|
-
artifacts:
|
84
|
-
reports:
|
85
|
-
dotenv: variables.env
|
86
|
-
paths:
|
87
|
-
- generated-qa-jobs.yml
|
88
|
-
- variables.env
|
89
|
-
expire_in: 2 days
|
90
|
-
needs:
|
91
|
-
- job: generate-count-example-files
|
92
|
-
artifacts: true
|
93
|
-
|
94
|
-
generate-count-example-files:
|
95
68
|
stage: generate
|
96
69
|
extends: .rules:never-on-version-change-or-tag
|
97
70
|
image:
|
@@ -104,8 +77,9 @@ generate-count-example-files:
|
|
104
77
|
before_script:
|
105
78
|
- cd /home/gitlab/qa
|
106
79
|
script:
|
80
|
+
# Generate count example files
|
107
81
|
- bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS
|
108
|
-
- bundle exec bin/qa Test::Integration::Mattermost http://dummy.test http://mattermost.test --count-examples-only -- $QA_TESTS
|
82
|
+
- bundle exec bin/qa Test::Integration::Mattermost http://dummy.test --mattermost-address http://mattermost.test --count-examples-only -- $QA_TESTS
|
109
83
|
- bundle exec bin/qa Test::Integration::ServicePingDisabled http://dummy.test --count-examples-only -- $QA_TESTS
|
110
84
|
- bundle exec bin/qa QA::EE::Scenario::Test::Geo --count-examples-only --primary-address http://dummy1.test --primary-name gitlab-primary --secondary-address http://dummy2.test --secondary-name gitlab-secondary --without-setup
|
111
85
|
- bundle exec bin/qa Test::Integration::LDAPNoTLS http://dummy.test --count-examples-only -- $QA_TESTS
|
@@ -127,12 +101,37 @@ generate-count-example-files:
|
|
127
101
|
- bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS --tag can_use_large_setup
|
128
102
|
- bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS --tag cloud_activation
|
129
103
|
- bundle exec bin/qa Test::Instance::All http://dummy.test --count-examples-only -- $QA_TESTS --tag object_storage
|
130
|
-
|
131
104
|
- cp -r no_of_examples $CI_PROJECT_DIR
|
105
|
+
|
106
|
+
# TOP_UPSTREAM_DEFAULT_BRANCH is the default branch name of the original project that triggered a pipeline in this project.
|
107
|
+
- 'export TOP_UPSTREAM_DEFAULT_BRANCH=${TOP_UPSTREAM_DEFAULT_BRANCH:=master} && echo "TOP_UPSTREAM_DEFAULT_BRANCH=$TOP_UPSTREAM_DEFAULT_BRANCH" >> variables.env'
|
108
|
+
- 'echo "RELEASE=$RELEASE" >> variables.env'
|
109
|
+
- 'echo "GITLAB_QA_OPTIONS=$GITLAB_QA_OPTIONS" >> variables.env'
|
110
|
+
- 'echo "QA_TESTS=$QA_TESTS" >> variables.env'
|
111
|
+
- 'echo "KNAPSACK_GENERATE_REPORT=$KNAPSACK_GENERATE_REPORT" >> variables.env'
|
112
|
+
- 'echo "TOP_UPSTREAM_SOURCE_JOB=$TOP_UPSTREAM_SOURCE_JOB" >> variables.env'
|
113
|
+
- 'echo "TOP_UPSTREAM_SOURCE_REF=$TOP_UPSTREAM_SOURCE_REF" >> variables.env'
|
114
|
+
- 'echo "DISABLE_RELATING_FAILURE_ISSUES=$DISABLE_RELATING_FAILURE_ISSUES" >> variables.env'
|
115
|
+
- 'echo "TOP_UPSTREAM_SOURCE_PROJECT=$TOP_UPSTREAM_SOURCE_PROJECT" >> variables.env'
|
116
|
+
- 'echo "TOP_UPSTREAM_SOURCE_SHA=$TOP_UPSTREAM_SOURCE_SHA" >> variables.env'
|
117
|
+
- 'echo "NOTIFY_CHANNEL=$NOTIFY_CHANNEL" >> variables.env'
|
118
|
+
- 'echo "QA_IMAGE=$QA_IMAGE" >> variables.env'
|
119
|
+
- 'echo "EE_LICENSE=$EE_LICENSE" >> variables.env'
|
120
|
+
- 'echo "TOP_UPSTREAM_MERGE_REQUEST_IID=$TOP_UPSTREAM_MERGE_REQUEST_IID" >> variables.env'
|
121
|
+
- 'echo "ALLURE_JOB_NAME=$ALLURE_JOB_NAME" >> variables.env'
|
122
|
+
- mv variables.env $CI_PROJECT_DIR
|
123
|
+
|
124
|
+
- cd $CI_PROJECT_DIR
|
125
|
+
- ./scripts/generate-qa-jobs.rb
|
126
|
+
- cat generated-qa-jobs.yml
|
132
127
|
artifacts:
|
128
|
+
reports:
|
129
|
+
dotenv: variables.env
|
133
130
|
paths:
|
131
|
+
- generated-qa-jobs.yml
|
132
|
+
- variables.env
|
134
133
|
- no_of_examples
|
135
|
-
|
134
|
+
expire_in: 2 days
|
136
135
|
|
137
136
|
trigger-generated-jobs:
|
138
137
|
stage: triggers
|
data/bin/notify_upstream
ADDED
@@ -0,0 +1,98 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'gitlab'
|
5
|
+
|
6
|
+
# Default to "Multi-pipeline (from 'gitlab-org/gitlab-qa' 'notify_upstream:*' jobs)" from current project
|
7
|
+
api_token = ENV.fetch('GITLAB_QA_PROJECT_ACCESS_TOKEN') do
|
8
|
+
puts "The $GITLAB_BOT_MULTI_PROJECT_PIPELINE_POLLING_TOKEN variable is deprecated in favor of a dedicated project access token: $GITLAB_QA_PROJECT_ACCESS_TOKEN."
|
9
|
+
puts "See https://gitlab.com/groups/gitlab-org/quality/-/epics/17 for more details."
|
10
|
+
ENV['GITLAB_BOT_MULTI_PROJECT_PIPELINE_POLLING_TOKEN']
|
11
|
+
end
|
12
|
+
|
13
|
+
# Configure credentials to be used with gitlab gem
|
14
|
+
Gitlab.configure do |config|
|
15
|
+
config.endpoint = 'https://gitlab.com/api/v4'
|
16
|
+
config.private_token = api_token
|
17
|
+
end
|
18
|
+
|
19
|
+
class CommitComment
|
20
|
+
UPSTREAM_COMMENT = <<~COMMENT
|
21
|
+
- The [`gitlab-qa-mirror` downstream pipeline](%<pipeline_url>s) for https://gitlab.com/%<project_path>s/-/merge_requests/%<mr_iid>s/diffs?commit_id=%<commit_sha>s %<status_with_icon>s
|
22
|
+
COMMENT
|
23
|
+
IDENTIFIABLE_NOTE_TAG = 'gitlab-qa:upstream-notification-note'
|
24
|
+
|
25
|
+
def self.mr?
|
26
|
+
ENV.key?('TOP_UPSTREAM_SOURCE_PROJECT') &&
|
27
|
+
ENV.key?('TOP_UPSTREAM_MERGE_REQUEST_IID') &&
|
28
|
+
ENV.key?('TOP_UPSTREAM_SOURCE_SHA') &&
|
29
|
+
!ENV['TOP_UPSTREAM_SOURCE_PROJECT'].to_s.empty? &&
|
30
|
+
!ENV['TOP_UPSTREAM_MERGE_REQUEST_IID'].to_s.empty? &&
|
31
|
+
!ENV['TOP_UPSTREAM_SOURCE_SHA'].to_s.empty?
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.post!(status)
|
35
|
+
unless mr?
|
36
|
+
puts "All the 'TOP_UPSTREAM_SOURCE_PROJECT', 'TOP_UPSTREAM_MERGE_REQUEST_IID', and 'TOP_UPSTREAM_SOURCE_SHA' environment variables need to be present. We cannot post a comment on the upstream merge request."
|
37
|
+
return
|
38
|
+
end
|
39
|
+
|
40
|
+
# Look for an existing note
|
41
|
+
upstream_notification_note = Gitlab.merge_request_notes(project_path, mr_iid).auto_paginate.find do |note|
|
42
|
+
note.body.include?(IDENTIFIABLE_NOTE_TAG)
|
43
|
+
end
|
44
|
+
|
45
|
+
if upstream_notification_note
|
46
|
+
Gitlab.edit_merge_request_note(project_path, mr_iid, upstream_notification_note.id, [upstream_notification_note.body, build_comment(status)].join("\n"))
|
47
|
+
else
|
48
|
+
Gitlab.create_merge_request_comment(project_path, mr_iid, "<!-- #{IDENTIFIABLE_NOTE_TAG} -->\n#{build_comment(status)}")
|
49
|
+
end
|
50
|
+
rescue Gitlab::Error::Error => error
|
51
|
+
puts "Ignoring the following error: #{error}"
|
52
|
+
end
|
53
|
+
|
54
|
+
def self.project_path
|
55
|
+
ENV['TOP_UPSTREAM_SOURCE_PROJECT']
|
56
|
+
end
|
57
|
+
|
58
|
+
def self.mr_iid
|
59
|
+
ENV['TOP_UPSTREAM_MERGE_REQUEST_IID']
|
60
|
+
end
|
61
|
+
|
62
|
+
def self.pipeline_url
|
63
|
+
ENV['CI_PIPELINE_URL']
|
64
|
+
end
|
65
|
+
|
66
|
+
def self.commit_sha
|
67
|
+
ENV['TOP_UPSTREAM_SOURCE_SHA']
|
68
|
+
end
|
69
|
+
|
70
|
+
def self.build_comment(status)
|
71
|
+
format(UPSTREAM_COMMENT,
|
72
|
+
project_path: project_path,
|
73
|
+
mr_iid: mr_iid,
|
74
|
+
pipeline_url: pipeline_url,
|
75
|
+
status_with_icon: status_with_icon(status),
|
76
|
+
commit_sha: commit_sha
|
77
|
+
)
|
78
|
+
end
|
79
|
+
|
80
|
+
def self.status_with_icon(status)
|
81
|
+
case status
|
82
|
+
when :success
|
83
|
+
"passed. :white_check_mark:"
|
84
|
+
when :failure
|
85
|
+
"failed! :boom:"
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
def self.post_to_mr(project_id, mr_iid, comment)
|
90
|
+
Gitlab.create_merge_request_comment(project_id, mr_iid, comment)
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
status = ARGV.shift.to_s.strip
|
95
|
+
|
96
|
+
abort "Please provide a status!" if status == ''
|
97
|
+
|
98
|
+
CommitComment.post!(status.to_sym)
|
@@ -47,7 +47,7 @@ module Gitlab
|
|
47
47
|
puts " => Searching issues for test '#{test.name}'..."
|
48
48
|
|
49
49
|
begin
|
50
|
-
issue = find_and_link_issue(test) || create_issue(test)
|
50
|
+
issue = test.quarantine? ? find_and_link_issue(test) : find_and_link_issue(test) || create_issue(test)
|
51
51
|
return unless issue
|
52
52
|
|
53
53
|
update_labels(issue, test)
|
@@ -22,7 +22,11 @@ module Gitlab
|
|
22
22
|
specs.suite = 'Test::Integration::Mattermost'
|
23
23
|
specs.release = gitlab.release
|
24
24
|
specs.network = gitlab.network
|
25
|
-
specs.args = [
|
25
|
+
specs.args = [
|
26
|
+
gitlab.address,
|
27
|
+
"--mattermost-address", mattermost_external_url,
|
28
|
+
*rspec_args
|
29
|
+
]
|
26
30
|
end
|
27
31
|
end
|
28
32
|
end
|