Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'danger/gitaly/Dangerfile')
-rw-r--r--danger/gitaly/Dangerfile29
1 files changed, 20 insertions, 9 deletions
diff --git a/danger/gitaly/Dangerfile b/danger/gitaly/Dangerfile
index d7ff8d6446a..228ed3fc192 100644
--- a/danger/gitaly/Dangerfile
+++ b/danger/gitaly/Dangerfile
@@ -1,17 +1,28 @@
# frozen_string_literal: true
GITALY_COORDINATION_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.
+## Changing Gitaly version
-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.
+This merge request requires coordination with Gitaly deployments. You must assert why this change is safe.
-1. Identify the gitaly MR introducing the new interface
-1. Verify that the environment widget contains a `gprd` deployment
+If these two assertions can be made, then this change is safe:
+
+1. No Gitaly definitions that have been removed in the version bump are in use on the Rails side.
+1. No Gitaly definitions that are not yet part of a released version become used without a feature flag.
+
+In general, we can ignore the first assertion because the specs will fail as needed. If a GitLab Rails spec
+exercises a definition that is removed in the new Gitaly version, then that
+spec will fail.
+
+You must confirm the second assertion. Failing to do so will introduce a [non
+backward compatible change](https://docs.gitlab.com/ee/development/multi_version_compatibility.html),
+for example during canary deployment of GitLab.com, which can cause an incident.
+This type of problem can also impact customers performing zero-downtime upgrades.
+Some options:
+
+- This change does not cause Rails to use a new definition.
+- This change causes Rails to use a new definition, but only behind a feature flag which is disabled by default.
+ This feature flag must only be removed in a subsequent release.
MSG
changed_lines = helper.changed_lines('Gemfile.lock')