From 956262a182e8610d779a9dca3e2b184d9aa6f38b Mon Sep 17 00:00:00 2001
From: Gavin Wood <gavin@parity.io>
Date: Tue, 23 Mar 2021 12:10:03 +0100
Subject: [PATCH] Fix CI for new labels (#8432)

* Fix up CI/CD for the new labels.

* New labels.

* Fix labels

* Fix labels

* Fix accidental change
---
 substrate/.maintain/github/check_labels.sh  | 17 +++++++++--------
 substrate/.maintain/gitlab/check_runtime.sh |  2 --
 substrate/docs/CONTRIBUTING.adoc            | 17 +++++++++++++----
 3 files changed, 22 insertions(+), 14 deletions(-)

diff --git a/substrate/.maintain/github/check_labels.sh b/substrate/.maintain/github/check_labels.sh
index ea4547ac917..7b0aed9fe73 100755
--- a/substrate/.maintain/github/check_labels.sh
+++ b/substrate/.maintain/github/check_labels.sh
@@ -25,17 +25,18 @@ releasenotes_labels=(
 )
 
 criticality_labels=(
-  'C1-low'
-  'C3-medium'
-  'C7-high'
-  'C9-critical'
+  'C1-low 📌'
+  'C3-medium 📣'
+  'C7-high ❗️'
+  'C9-critical ‼️'
 )
 
 audit_labels=(
-  'D1-trivial'
-  'D1-audited👍'
-  'D5-nicetohaveaudit⚠️'
-  'D9-needsaudit👮'
+  'D1-audited 👍'
+  'D2-notlive 💤'
+  'D3-trivial 🧸'
+  'D5-nicetohaveaudit ⚠️'
+  'D9-needsaudit 👮'
 )
 
 echo "[+] Checking release notes (B) labels"
diff --git a/substrate/.maintain/gitlab/check_runtime.sh b/substrate/.maintain/gitlab/check_runtime.sh
index 3b0b1ad1076..af392e1b7d1 100755
--- a/substrate/.maintain/gitlab/check_runtime.sh
+++ b/substrate/.maintain/gitlab/check_runtime.sh
@@ -66,8 +66,6 @@ sub_spec_version="$(git diff "tags/release...${CI_COMMIT_SHA}" "${VERSIONS_FILE}
 if [ "${add_spec_version}" != "${sub_spec_version}" ]
 then
 
-	github_label "D2-breaksapi"
-
 	boldcat <<-EOT
 
 		changes to the runtime sources and changes in the spec version.
diff --git a/substrate/docs/CONTRIBUTING.adoc b/substrate/docs/CONTRIBUTING.adoc
index 6262ed9086a..c0f43f01f41 100644
--- a/substrate/docs/CONTRIBUTING.adoc
+++ b/substrate/docs/CONTRIBUTING.adoc
@@ -35,12 +35,21 @@ A PR needs to be reviewed and approved by project maintainers unless:
 
 *Process:*
 
-. Please tag each PR with exactly one `A`, `B` and `C` label at the minimum.
+. Please tag each PR with exactly one `A`, `B`, `C` and `D` label at the minimum.
 . Once a PR is ready for review please add the https://github.com/paritytech/substrate/pulls?q=is%3Apr+is%3Aopen+label%3AA0-pleasereview[`A0-pleasereview`] label. Generally PRs should sit with this label for 48 hours in order to garner feedback. It may be merged before if all relevant parties had a look at it.
 . If the first review is not an approval, swap `A0-pleasereview` to any label `[A3, A7]` to indicate that the PR has received some feedback, but needs further work. For example. https://github.com/paritytech/substrate/labels/A3-inprogress[`A3-inprogress`] is a general indicator that the PR is work in progress and https://github.com/paritytech/substrate/labels/A4-gotissues[`A4-gotissues`] means that it has significant problems that need fixing. Once the work is done, change the label back to `A0-pleasereview`. You might end up swapping a few times back and forth to climb up the A label group. Once a PR is https://github.com/paritytech/substrate/labels/A8-mergeoncegreen[`A8-mergeoncegreen`], it is ready to merge.
-. PRs must be tagged with respect to _release notes_ with https://github.com/paritytech/substrate/labels/B0-silent[`B0-silent`] and `B1-..`. The former indicates that no changes should be mentioned in any release notes. The latter indicates that the changes should be reported in the corresponding release note
-. PRs that break the external API must be tagged with https://github.com/paritytech/substrate/labels/D2-breaksapi[`D2-breaksapi`], when it changes the FRAME or consensus of running system with https://github.com/paritytech/substrate/labels/B3-breaksconsensus[`B3-breaksconsensus`].
-. PRs should be labeled with their release importance via the `C1-C9`.
+. PRs must be tagged with their release notes requirements via the `B1-B9` labels.
+. PRs must be tagged with their release importance via the `C1-C9` labels.
+. PRs must be tagged with their audit requirements via the `D1-D9` labels.
+. PRs that must be backported to a stable branch must be tagged with https://github.com/paritytech/substrate/labels/E1-runtimemigration[`E0-patchthis`].
+. PRs that introduce runtime migrations must be tagged with https://github.com/paritytech/substrate/labels/E1-runtimemigration[`E1-runtimemigration`].
+. PRs that introduce irreversible database migrations must be tagged with https://github.com/paritytech/substrate/labels/E2-databasemigration[`E2-databasemigration`].
+. PRs that add host functions must be tagged with with https://github.com/paritytech/substrate/labels/E4-newhostfunctions[`E4-newhostfunctions`].
+. PRs that break the external API must be tagged with https://github.com/paritytech/substrate/labels/E5-breaksapi[`E5-breaksapi`].
+. PRs that materially change the FRAME/runtime semantics must be tagged with https://github.com/paritytech/substrate/labels/E6-transactionversion[`E6-transactionversion`].
+. PRs that change the mechanism for block authoring in a backwards-incompatible way must be tagged with https://github.com/paritytech/substrate/labels/E7-breaksauthoring[`E7-breaksauthoring`].
+. PRs that "break everything" must be tagged with https://github.com/paritytech/substrate/labels/E8-breakseverything[`E8-breakseverything`].
+. PRs that block a new release must be tagged with https://github.com/paritytech/substrate/labels/E9-blocker%20%E2%9B%94%EF%B8%8F[`E9-blocker`].
 . PRs should be categorized into projects.
 . No PR should be merged until all reviews' comments are addressed and CI is successful.
 
-- 
GitLab