@cryptotaxi247 / netdata-1 / commits / 573e733bd

better labeling (#4915)

Paweł Krupa committed Dec 4, 2018 at 14:42 UTC 573e733bd3c3e08fdb32182bc88270554f80aea9
2 files changed +15 -13
.travis/generate_changelog.sh
+1 -1
@@ -34,7 +34,7 @@ docker run -it -v "$(pwd)":/project markmandel/github-changelog-generator:latest
34 --token "${GITHUB_TOKEN}" \
35 --since-tag "v1.10.0" \
36 --unreleased-label "**Next release**" \
37 - --exclude-labels "stale,duplicate,question,invalid,wontfix,discussion,area/docs,needs triage" \
37 + --exclude-labels "stale,duplicate,question,invalid,wontfix,discussion,no changelog" \
38 --no-compare-link ${OPTS}
39
40 echo "--- Uploading changelog ---"
.travis/labeler.sh
+14 -12
@@ -8,36 +8,37 @@ if [ "$GITHUB_TOKEN" == "" ]; then
8 exit 1
9 fi
10
11 -# Download hub
11 if ! [ -x "$(command -v hub)" ]; then
12 + echo "===== Download HUB ====="
13 HUB_VERSION=${HUB_VERSION:-"2.5.1"}
14 wget "https://github.com/github/hub/releases/download/v${HUB_VERSION}/hub-linux-amd64-${HUB_VERSION}.tgz" -O "/tmp/hub-linux-amd64-${HUB_VERSION}.tgz"
15 tar -C /tmp -xvf "/tmp/hub-linux-amd64-${HUB_VERSION}.tgz" &>/dev/null
16 export PATH=$PATH:"/tmp/hub-linux-amd64-${HUB_VERSION}/bin"
17 fi
18
19 -echo "Looking up available labels"
19 +echo "===== Looking up available labels ====="
20 LABELS_FILE=/tmp/labels
21 hub issue labels >$LABELS_FILE
22
23 +echo "===== Categorizing issues ====="
24 for STATE in "open" "closed"; do
25 for ISSUE in $(hub issue -f "%I %l%n" -s "$STATE" -d "$(date +%F -d '1 day ago')" | grep -v -f $LABELS_FILE); do
25 - echo "Processing $STATE issue no. $ISSUE"
26 + echo "-------- Processing $STATE issue no. $ISSUE --------"
27 URL="https://api.github.com/repos/netdata/netdata/issues/$ISSUE"
28 BODY="$(curl "${URL}" 2>/dev/null | jq .body)"
29 case "${BODY}" in
29 - *"# Question summary"*) curl -H "Authorization: token $GITHUB_TOKEN" -d '{"labels":["question"]}' -X PATCH "${URL}" ;;
30 + *"# Question summary"*) curl -H "Authorization: token $GITHUB_TOKEN" -d '{"labels":["question", "no changelog"]}' -X PATCH "${URL}" ;;
31 *"# Bug report summary"*) curl -H "Authorization: token $GITHUB_TOKEN" -d '{"labels":["needs triage","bug"]}' -X PATCH "${URL}" ;;
32 *"# Feature idea summary"*) curl -H "Authorization: token $GITHUB_TOKEN" -d '{"labels":["needs triage","feature request"]}' -X PATCH "${URL}" ;;
32 - *) curl -H "Authorization: token $GITHUB_TOKEN" -d '{"labels":["needs triage"]}' -X PATCH "${URL}" ;;
33 + *) curl -H "Authorization: token $GITHUB_TOKEN" -d '{"labels":["needs triage", "no changelog"]}' -X PATCH "${URL}" ;;
34 esac
35 done
36 done
37
38 +echo "===== Categorizing PRs ====="
39 NEW_LABELS=/tmp/new_labels
38 -for PR in $(hub pr list -s all -f "%I %l%n" -L 10); do
39 - echo "-------------------------------------------------------"
40 - echo "Processing PR #$PR"
40 +for PR in $(hub pr list -s all -f "%I%n" -L 10); do
41 + echo "----- Processing PR #$PR -----"
42 echo "" >$NEW_LABELS
43 NEW_SET=""
44 URL="https://api.github.com/repos/netdata/netdata/issues/$PR"
@@ -50,6 +51,7 @@ for PR in $(hub pr list -s all -f "%I %l%n" -L 10); do
51 *"/collectors/charts.d.plugin/"*) AREA="external" ;;
52 *"/collectors/node.d.plugin/"*) AREA="external" ;;
53 *"/.travis"*) AREA="ci" ;;
54 + *"/.github/*.md"*) AREA="docs" ;;
55 *"/.github/"*) AREA="ci" ;;
56 *"/build/"*) AREA="packaging" ;;
57 *"/contrib/"*) AREA="packaging" ;;
@@ -61,19 +63,19 @@ for PR in $(hub pr list -s all -f "%I %l%n" -L 10); do
63 *) AREA=$(echo "$FILE" | cut -d'/' -f2) ;;
64 esac
65 LABEL="area/$AREA"
64 - echo "Selecting $LABEL due to $FILE"
66 + echo "--------- Selecting $LABEL due to $FILE --------"
67 if grep "$LABEL" "$LABELS_FILE"; then
68 echo "$LABEL" >>$NEW_LABELS
69 if [[ $LABEL =~ "external" ]]; then
70 echo "area/collectors" >>$NEW_LABELS
71 fi
72 else
71 - echo "Label '$LABEL' not available"
73 + echo "-------- Label '$LABEL' not available --------"
74 fi
75 done
76 NEW_SET=$(sort $NEW_LABELS | uniq | grep -v "^$" | sed -e 's/^/"/g;s/$/",/g' | tr -d '\n' | sed 's/.\{1\}$//')
77 if [ ! -z "$NEW_SET" ]; then
76 - echo "Assigning labels: ${NEW_SET}"
77 - curl -H "Authorization: token $GITHUB_TOKEN" -d "{\"labels\":[${NEW_SET}]}" -X PATCH "${URL}" &>/dev/null
78 + echo "-------- Assigning labels: ${NEW_SET} --------"
79 + curl -H "Authorization: token $GITHUB_TOKEN" -d "{\"labels\":[${NEW_SET}]}" -X POST "${URL}" &>/dev/null
80 fi
81 done