summaryrefslogtreecommitdiff
path: root/tooling/danger/stable_branch.rb
diff options
context:
space:
mode:
Diffstat (limited to 'tooling/danger/stable_branch.rb')
-rw-r--r--tooling/danger/stable_branch.rb32
1 files changed, 16 insertions, 16 deletions
diff --git a/tooling/danger/stable_branch.rb b/tooling/danger/stable_branch.rb
index 2d1a4ef0845..65086c8485c 100644
--- a/tooling/danger/stable_branch.rb
+++ b/tooling/danger/stable_branch.rb
@@ -69,7 +69,7 @@ module Tooling
fail PIPELINE_EXPEDITE_ERROR_MESSAGE if has_pipeline_expedite_label?
- status = package_and_test_status
+ status = package_and_test_bridge_and_pipeline_status
if status.nil? || FAILING_PACKAGE_AND_TEST_STATUSES.include?(status) # rubocop:disable Style/GuardClause
fail NEEDS_PACKAGE_AND_TEST_MESSAGE
@@ -91,15 +91,26 @@ module Tooling
!!stable_target_branch && !helper.security_mr?
end
- def package_and_test_status
+ def package_and_test_bridge_and_pipeline_status
mr_head_pipeline_id = gitlab.mr_json.dig('head_pipeline', 'id')
return unless mr_head_pipeline_id
- pipeline = package_and_test_pipeline(mr_head_pipeline_id)
+ bridge = package_and_test_bridge(mr_head_pipeline_id)
- return unless pipeline
+ return unless bridge
- pipeline['status']
+ if bridge['status'] == 'created'
+ bridge['status']
+ else
+ bridge.fetch('downstream_pipeline').fetch('status')
+ end
+ end
+
+ def package_and_test_bridge(mr_head_pipeline_id)
+ gitlab
+ .api
+ .pipeline_bridges(helper.mr_target_project_id, mr_head_pipeline_id)
+ &.find { |bridge| bridge['name'] == 'e2e:package-and-test' }
end
def stable_target_branch
@@ -202,17 +213,6 @@ module Tooling
def version_to_minor_string(version)
"#{version[:major]}.#{version[:minor]}"
end
-
- def package_and_test_pipeline(mr_head_pipeline_id)
- package_and_test_bridge = gitlab
- .api
- .pipeline_bridges(helper.mr_target_project_id, mr_head_pipeline_id)
- &.find { |bridge| bridge['name'] == 'e2e:package-and-test' }
-
- return unless package_and_test_bridge
-
- package_and_test_bridge['downstream_pipeline']
- end
end
end
end