diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-10-19 21:07:43 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-10-19 21:07:43 +0300 |
commit | 1e1012d3d28c426637eecc0909c415fe2c8b7c3a (patch) | |
tree | d230780752bb3b98cf4f3ede1c6f8e98c9a238c7 /danger | |
parent | 3c55affa6684311ca73bc4e3d3bfb17b7541f63b (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'danger')
-rw-r--r-- | danger/gitaly/Dangerfile | 29 | ||||
-rw-r--r-- | danger/rubocop/Dangerfile | 5 |
2 files changed, 25 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') diff --git a/danger/rubocop/Dangerfile b/danger/rubocop/Dangerfile index a53847199db..41131241691 100644 --- a/danger/rubocop/Dangerfile +++ b/danger/rubocop/Dangerfile @@ -1,5 +1,10 @@ # frozen_string_literal: true +# Danger should not comment when inline disables are added in the following files. +no_suggestions_for_extensions = %w[.md] + helper.all_changed_files.each do |filename| + next if filename.end_with?(*no_suggestions_for_extensions) + rubocop.add_suggestions_for(filename) end |