mirror of https://github.com/mamba-org/mamba.git
44 lines
1.3 KiB
YAML
44 lines
1.3 KiB
YAML
name: Check release label
|
|
|
|
on:
|
|
pull_request:
|
|
types:
|
|
- synchronize
|
|
- opened
|
|
- reopened
|
|
- labeled
|
|
- unlabeled
|
|
|
|
jobs:
|
|
label_check:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Check labels
|
|
run: |
|
|
NUMBER_OF_LABELS=$(jq '.pull_request.labels | length' "$GITHUB_EVENT_PATH")
|
|
if [ $NUMBER_OF_LABELS -eq 0 ]; then
|
|
echo "PR has no labels. Please add at least one label of release type."
|
|
exit 1
|
|
fi
|
|
|
|
RELEASE_LABELS=("release::enhancements" "release::bug_fixes" "release::ci_docs" "release::maintenance")
|
|
PR_LABELS=$(jq -r '.pull_request.labels[].name' "$GITHUB_EVENT_PATH")
|
|
NB_RELEASE_LABELS=0
|
|
|
|
for LABEL in $PR_LABELS; do
|
|
if [[ " ${RELEASE_LABELS[@]} " =~ " ${LABEL} " ]]; then
|
|
NB_RELEASE_LABELS=$((NB_RELEASE_LABELS+1))
|
|
fi
|
|
done
|
|
|
|
if [ $NB_RELEASE_LABELS -eq 0 ]; then
|
|
echo "PR has no release labels. Please add a label of release type."
|
|
exit 1
|
|
elif [ $NB_RELEASE_LABELS -gt 1 ]; then
|
|
echo "PR has multiple release labels. Please remove all but one label."
|
|
exit 1
|
|
fi
|