diff options
Diffstat (limited to '.travis/labeler.sh')
-rwxr-xr-x | .travis/labeler.sh | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/.travis/labeler.sh b/.travis/labeler.sh deleted file mode 100755 index 7863084d..00000000 --- a/.travis/labeler.sh +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/bash - -# This is a simple script which should apply labels to unlabelled issues from last 3 days. -# It will soon be deprecated by GitHub Actions so no futher development on it is planned. - -# Previously this was using POST to only add labels. But this method seems to be failing with larger number of requests -new_labels() { - ISSUE="$1" - URL="https://api.github.com/repos/netdata/netdata/issues/$ISSUE/labels" - # deduplicate array and add quotes - SET=( $(for i in "${@:2}"; do [ "$i" != "" ] && echo "\"$i\""; done | sort -u) ) - # implode array to string - LABELS="${SET[*]}" - # add commas between quotes (replace spaces) - LABELS="${LABELS//\" \"/\",\"}" - # remove duplicate quotes in case parameters were already quoted - LABELS="${LABELS//\"\"/\"}" - echo "-------- Assigning labels to #${ISSUE}: ${LABELS} --------" - curl -H "Authorization: token $GITHUB_TOKEN" -d "{\"labels\":[${LABELS}]}" -X PUT "${URL}" &>/dev/null -} - -if [ "$GITHUB_TOKEN" == "" ]; then - echo "GITHUB_TOKEN is needed" - exit 1 -fi - -if ! [ -x "$(command -v hub)" ]; then - echo "===== Download HUB =====" - HUB_VERSION=${HUB_VERSION:-"2.5.1"} - 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" - tar -C /tmp -xvf "/tmp/hub-linux-amd64-${HUB_VERSION}.tgz" &>/dev/null - export PATH=$PATH:"/tmp/hub-linux-amd64-${HUB_VERSION}/bin" -fi - -echo "===== Looking up available labels =====" -LABELS_FILE=/tmp/labels -hub issue labels >$LABELS_FILE - -# Change all 'area' labels assigned to PR saving non-area labels. -echo "===== Categorizing PRs =====" -NEW_LABELS=/tmp/new_labels -for PR in $(hub pr list -s all -f "%I%n" -L 10); do - echo "----- Processing PR #$PR -----" - echo "" >$NEW_LABELS - NEW_SET="" - DIFF_URL="https://github.com/netdata/netdata/pull/$PR.diff" - for FILE in $(curl -L "${DIFF_URL}" 2>/dev/null | grep "diff --git a/" | cut -d' ' -f3 | sort | uniq); do - LABEL="" - case "${FILE}" in - *".md") AREA="docs" ;; - *"/collectors/python.d.plugin/"*) AREA="external/python" ;; - *"/collectors/charts.d.plugin/"*) AREA="external" ;; - *"/collectors/node.d.plugin/"*) AREA="external" ;; - *"/.travis"*) AREA="ci" ;; - *"/.github/*.md"*) AREA="docs" ;; - *"/.github/"*) AREA="ci" ;; - *"/build/"*) AREA="packaging" ;; - *"/contrib/"*) AREA="packaging" ;; - *"/diagrams/"*) AREA="docs" ;; - *"/installer/"*) AREA="packaging" ;; - *"/makeself/"*) AREA="packaging" ;; - *"/system/"*) AREA="packaging" ;; - *"/netdata-installer.sh"*) AREA="packaging" ;; - *) AREA=$(echo "$FILE" | cut -d'/' -f2) ;; - esac - LABEL="area/$AREA" - echo "Selecting $LABEL due to $FILE" - if grep "$LABEL" "$LABELS_FILE"; then - echo "$LABEL" >>$NEW_LABELS - if [[ $LABEL =~ "external" ]]; then - echo "area/collectors" >>$NEW_LABELS - fi - else - echo "-------- Label '$LABEL' not available --------" - fi - done - NEW_SET=$(sort $NEW_LABELS | uniq) - if [ ! -z "$NEW_SET" ]; then - PREV=$(curl -H "Authorization: token $GITHUB_TOKEN" "https://api.github.com/repos/netdata/netdata/issues/$PR/labels" 2>/dev/null | jq '.[].name' | grep -v "area") - new_labels "$PR" ${NEW_SET} "${PREV[*]}" - fi -done |