summaryrefslogtreecommitdiff
path: root/danger/database/Dangerfile
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2018-05-21 18:41:21 +0200
committerRémy Coutable <remy@rymai.me>2018-07-11 11:52:01 +0200
commit5679837cd412c2fb7911dcb33c19e89d8a787db0 (patch)
treefe9984ff05042df9ec0fc6de59e85171e337866d /danger/database/Dangerfile
parentd2ea56a87026de92f31bbcfb360748fcf766b835 (diff)
downloadgitlab-ce-5679837cd412c2fb7911dcb33c19e89d8a787db0.tar.gz
Start to use Danger for automating MR reviews
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'danger/database/Dangerfile')
-rw-r--r--danger/database/Dangerfile16
1 files changed, 16 insertions, 0 deletions
diff --git a/danger/database/Dangerfile b/danger/database/Dangerfile
new file mode 100644
index 00000000000..136dcef7972
--- /dev/null
+++ b/danger/database/Dangerfile
@@ -0,0 +1,16 @@
+# rubocop:disable Style/SignalException
+
+db_schema_updated = !git.modified_files.grep(%r{\A(ee/)?(db/(geo/)?(post_)?migrate)/}).empty?
+migration_created = !git.added_files.grep(%r{\A(db/(post_)?migrate)/}).empty?
+geo_migration_created = !git.added_files.grep(%r{\Aee/(db/geo/(post_)?migrate)/}).empty?
+
+if (migration_created || geo_migration_created) && !db_schema_updated
+ msg = ["New migrations were added but #{gitlab.html_link("db/schema.rb")}"]
+ msg << "(nor #{gitlab.html_link("ee/db/geo/schema.rb")})" if geo_migration_created
+ msg << "wasn't. Usually, when adding new migrations, #{gitlab.html_link("db/schema.rb")}"
+ msg << "(and #{gitlab.html_link("ee/db/geo/schema.rb")})" if geo_migration_created
+ msg << "should be updated too (unless your migrations are data migrations and your"
+ msg << "migration isn't the most recent one)."
+
+ warn msg.join(" ")
+end