summaryrefslogtreecommitdiff
path: root/danger
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-07-12 12:09:39 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2021-07-12 12:09:39 +0000
commitf81141c25d0dd79de8c07559bf268cb6e0d287d3 (patch)
treea0f700b90845f738cc2037cbbfb7a980c36137ac /danger
parent12de063de4663766a43d6c3e0883a686d66ab401 (diff)
downloadgitlab-ce-f81141c25d0dd79de8c07559bf268cb6e0d287d3.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'danger')
-rw-r--r--danger/gitaly/Dangerfile22
1 files changed, 22 insertions, 0 deletions
diff --git a/danger/gitaly/Dangerfile b/danger/gitaly/Dangerfile
new file mode 100644
index 00000000000..59e55845c83
--- /dev/null
+++ b/danger/gitaly/Dangerfile
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+
+TEMPLATE_MESSAGE = <<~MSG
+This merge request requires coordination with gitaly deployments.
+Before merging this merge request we should verify that gitaly
+running in production already implements the new gRPC interface
+included here.
+
+Failing to do so will introduce a [non backward compatible
+change](https://docs.gitlab.com/ee/development/multi_version_compatibility.html)
+during canary depoyment that can cause an incident.
+
+1. Identify the gitaly MR introducing the new interface
+1. Verify that the environment widget contains a `gprd` deployment
+MSG
+
+changed_lines = helper.changed_lines('Gemfile.lock')
+if changed_lines.any? { |line| line =~ /^\+\s+gitaly \(/ }
+ warn 'Changing gitaly gem can cause a multi-version incompatibility incident'
+
+ markdown(TEMPLATE_MESSAGE)
+end