From 8246b1d4d98233fd7482c7d283fb59fc6e6df3ed Mon Sep 17 00:00:00 2001
From: librelois <c@elo.tf>
Date: Sun, 19 Jun 2022 15:42:30 +0200
Subject: [PATCH] ci: MR with runtime changes should have a runtime-* milestone

---
 .gitlab-ci.yml          |  2 +-
 scripts/check_labels.sh | 18 +++++++++++++++---
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index eff2a2845..fba75a181 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -34,7 +34,7 @@ check_labels:
     - if: $CI_PIPELINE_SOURCE == "merge_request_event"
     - when: never
   script:
-    - ./scripts/check_labels.sh $CI_MERGE_REQUEST_LABELS
+    - ./scripts/check_labels.sh $CI_MERGE_REQUEST_LABELS $CI_MERGE_REQUEST_MILESTONE
 
 .env:
   image: paritytech/ci-linux:production
diff --git a/scripts/check_labels.sh b/scripts/check_labels.sh
index 7316e1087..8cc8390e7 100755
--- a/scripts/check_labels.sh
+++ b/scripts/check_labels.sh
@@ -6,12 +6,24 @@ RN_LABELS=(
   RN-silent
 )
 
+MR_LABELS=$1
+MR_MILESTONE=$2
+
+echo "Labels: $MR_LABELS"
+echo "Milestone: $MR_MILESTONE"
+
+if [[ "$MR_LABELS" == *"RN-runtime"* ]]; then
+  if [[ "$MR_MILESTONE" != "runtime-"* ]]; then
+    echo "MR with runtime changes should have a runtime-* milestone."
+    exit 1
+  fi
+fi
+
 for RN_LABEL in ${RN_LABELS[@]}; do
-  if [[ "$1" == *"$RN_LABEL"* ]]; then
-    echo "exit 0"
+  if [[ "$MR_LABELS" == *"$RN_LABEL"* ]]; then
     exit 0
   fi
 done
 
-echo "exit 1"
+echo "Every MR should have at least one RN-* label."
 exit 1
-- 
GitLab