b9044f5e11
Signed-off-by: stianst <stianst@gmail.com>
57 lines
1.4 KiB
Bash
Executable file
57 lines
1.4 KiB
Bash
Executable file
#!/bin/bash -e
|
|
|
|
TEAMS="teams.yml"
|
|
BUG="ISSUE_TEMPLATE/bug.yml"
|
|
|
|
GH_AREAS=( $(gh label list --search 'area/' --limit 100 --json name | jq -r .[].name | sort) )
|
|
LOCAL_AREAS=( $(cat teams.yml | grep 'area/' | sed 's/.*- //') )
|
|
BUG_TEMPLATE_AREAS=( $(yq '.body.[] | select(.id | test("area")) | .attributes.options.[]' ISSUE_TEMPLATE/bug.yml | grep -v '^$') )
|
|
|
|
TEAMS_VALID=true
|
|
BUG_VALID=true
|
|
|
|
echo "Checking: $TEAMS"
|
|
for AREA in "${GH_AREAS[@]}"; do
|
|
if ! ( echo "${LOCAL_AREAS[@]}" | grep -q -F -w "$AREA" ); then
|
|
echo "[$AREA] missing in $TEAMS"
|
|
TEAMS_VALID=false
|
|
fi
|
|
done
|
|
|
|
for AREA in "${LOCAL_AREAS[@]}"; do
|
|
if ! ( echo "${GH_AREAS[@]}" | grep -q -F -w "$AREA" ); then
|
|
echo "[$AREA] missing in GitHub"
|
|
TEAMS_VALID=false
|
|
fi
|
|
done
|
|
|
|
if [ "$TEAMS_VALID" = true ]; then
|
|
echo "[OK]"
|
|
fi
|
|
|
|
echo ""
|
|
|
|
echo "Checking: $BUG"
|
|
for AREA in "${GH_AREAS[@]}"; do
|
|
AREA_SHORT=$(echo $AREA | sed 's|area/||g')
|
|
if ! ( echo "${BUG_TEMPLATE_AREAS[@]}" | grep -q -F -w "$AREA_SHORT" ); then
|
|
echo "[$AREA] missing in $BUG"
|
|
BUG_VALID=false
|
|
fi
|
|
done
|
|
|
|
for AREA in "${BUG_TEMPLATE_AREAS[@]}"; do
|
|
AREA_LONG="area/$AREA"
|
|
if ! ( echo "${GH_AREAS[@]}" | grep -q -F -w "$AREA_LONG" ); then
|
|
echo "[$AREA_LONG] missing in GitHub"
|
|
BUG_VALID=false
|
|
fi
|
|
done
|
|
|
|
if [ "$BUG_VALID" = true ]; then
|
|
echo "[OK]"
|
|
fi
|
|
|
|
if [ "$TEAMS_VALID" != true ] || [ "$BUG_VALID" != true ]; then
|
|
exit 1
|
|
fi
|