[CI] Add criticality of release to release notes (#1259)

* Enforces presence of C-labels to designate the importance of a release
* Iterates over them on a release, takes the highest present and includes it in the release notes
* Lists the change(s) that caused the release to be that priority
This commit is contained in:
s3krit
2020-06-17 14:10:13 +02:00
committed by GitHub
parent 43e7a3be33
commit c3ed40fbe6
3 changed files with 124 additions and 18 deletions
+32 -10
View File
@@ -3,21 +3,43 @@
#shellcheck source=lib.sh
source "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )/lib.sh"
ensure_labels() {
for label in "$@"; do
if has_label 'paritytech/polkadot' "$CI_COMMIT_BRANCH" "$label"; then
return 0
fi
done
return 1
}
# Must have one of the following labels
labels=(
releasenotes_labels=(
'B0-silent'
'B1-releasenotes'
'B2-runtimenoteworthy'
)
echo "[+] Checking labels for $CI_COMMIT_BRANCH"
criticality_labels=(
'C1-low'
'C3-medium'
'C7-high'
'C9-critical'
)
for label in "${labels[@]}"; do
if has_label 'paritytech/polkadot' "$CI_COMMIT_BRANCH" "$label"; then
echo "[+] Label $label detected, test passed"
exit 0
fi
done
echo "[+] Checking release notes (B) labels for $CI_COMMIT_BRANCH"
if ensure_labels "${releasenotes_labels[@]}"; then
echo "[+] Release notes label detected. All is well."
else
echo "[!] Release notes label not detected. Please add one of: ${releasenotes_labels[*]}"
exit 1
fi
echo "[!] PR does not have one of the required labels! Please add one of: ${labels[*]}"
exit 1
echo "[+] Checking release criticality (C) labels for $CI_COMMIT_BRANCH"
if ensure_labels "${criticality_labels[@]}"; then
echo "[+] Release criticality label detected. All is well."
else
echo "[!] Release criticality label not detected. Please add one of: ${criticality_labels[*]}"
exit 1
fi
exit 0