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