From fee7036394c881aa5a1f9851b3531267104e8c1d Mon Sep 17 00:00:00 2001
From: Robert Speicher <rspeicher@gmail.com>
Date: Thu, 4 Apr 2019 13:26:01 +0200
Subject: [PATCH] Exempt release automation MRs from Danger rules

---
 Dangerfile                  | 33 ++++++++++++++++++---------------
 lib/gitlab/danger/helper.rb |  5 +++++
 2 files changed, 23 insertions(+), 15 deletions(-)

diff --git a/Dangerfile b/Dangerfile
index 95dd48aae9e74..3e8cb456003cc 100644
--- a/Dangerfile
+++ b/Dangerfile
@@ -1,16 +1,19 @@
 danger.import_plugin('danger/plugins/helper.rb')
-danger.import_dangerfile(path: 'danger/metadata')
-danger.import_dangerfile(path: 'danger/changes_size')
-danger.import_dangerfile(path: 'danger/changelog')
-danger.import_dangerfile(path: 'danger/specs')
-danger.import_dangerfile(path: 'danger/gemfile')
-danger.import_dangerfile(path: 'danger/database')
-danger.import_dangerfile(path: 'danger/documentation')
-danger.import_dangerfile(path: 'danger/frozen_string')
-danger.import_dangerfile(path: 'danger/commit_messages')
-danger.import_dangerfile(path: 'danger/duplicate_yarn_dependencies')
-danger.import_dangerfile(path: 'danger/prettier')
-danger.import_dangerfile(path: 'danger/eslint')
-danger.import_dangerfile(path: 'danger/roulette')
-danger.import_dangerfile(path: 'danger/single_codebase')
-danger.import_dangerfile(path: 'danger/gitlab_ui_wg')
+
+unless helper.release_automation?
+  danger.import_dangerfile(path: 'danger/metadata')
+  danger.import_dangerfile(path: 'danger/changes_size')
+  danger.import_dangerfile(path: 'danger/changelog')
+  danger.import_dangerfile(path: 'danger/specs')
+  danger.import_dangerfile(path: 'danger/gemfile')
+  danger.import_dangerfile(path: 'danger/database')
+  danger.import_dangerfile(path: 'danger/documentation')
+  danger.import_dangerfile(path: 'danger/frozen_string')
+  danger.import_dangerfile(path: 'danger/commit_messages')
+  danger.import_dangerfile(path: 'danger/duplicate_yarn_dependencies')
+  danger.import_dangerfile(path: 'danger/prettier')
+  danger.import_dangerfile(path: 'danger/eslint')
+  danger.import_dangerfile(path: 'danger/roulette')
+  danger.import_dangerfile(path: 'danger/single_codebase')
+  danger.import_dangerfile(path: 'danger/gitlab_ui_wg')
+end
diff --git a/lib/gitlab/danger/helper.rb b/lib/gitlab/danger/helper.rb
index ac65cf7480842..d347f3c13a410 100644
--- a/lib/gitlab/danger/helper.rb
+++ b/lib/gitlab/danger/helper.rb
@@ -7,6 +7,7 @@
 module Gitlab
   module Danger
     module Helper
+      RELEASE_TOOLS_BOT = 'gitlab-release-tools-bot'
       ROULETTE_DATA_URL = URI.parse('https://about.gitlab.com/roulette.json').freeze
 
       # Returns a list of all files that have been added, modified or renamed.
@@ -40,6 +41,10 @@ def ee?
         ENV['CI_PROJECT_NAME'] == 'gitlab-ee' || File.exist?('../../CHANGELOG-EE.md')
       end
 
+      def release_automation?
+        gitlab.mr_author == RELEASE_TOOLS_BOT
+      end
+
       def project_name
         ee? ? 'gitlab-ee' : 'gitlab-ce'
       end
-- 
GitLab