mirror of
https://github.com/CodelyTV/pr-size-labeler.git
synced 2025-02-20 12:02:49 -05:00
Remove old size labels
This commit is contained in:
parent
44bd7cefa2
commit
0600010fbe
4 changed files with 40 additions and 5 deletions
|
@ -9,6 +9,8 @@ fi
|
||||||
|
|
||||||
export PR_SIZE_LABELER_HOME
|
export PR_SIZE_LABELER_HOME
|
||||||
|
|
||||||
|
bash --version
|
||||||
|
|
||||||
source "$PR_SIZE_LABELER_HOME/src/main.sh"
|
source "$PR_SIZE_LABELER_HOME/src/main.sh"
|
||||||
|
|
||||||
main "$@"
|
main "$@"
|
||||||
|
|
|
@ -16,11 +16,26 @@ github::add_label_to_pr() {
|
||||||
local -r pr_number=$1
|
local -r pr_number=$1
|
||||||
local -r label_to_add=$2
|
local -r label_to_add=$2
|
||||||
|
|
||||||
|
local -r body=$(curl -sSL -H "Authorization: token $GITHUB_TOKEN" -H "$GITHUB_API_HEADER" "$GITHUB_API_URI/repos/$GITHUB_REPOSITORY/pulls/$1")
|
||||||
|
local labels=$(echo "$body" | jq .labels | jq -r ".[] | .name" | grep -v "size/")
|
||||||
|
labels+=("$label_to_add")
|
||||||
|
|
||||||
|
local -r comma_separated_labels=$(github::format_labels "${labels[@]/#/}")
|
||||||
|
|
||||||
|
log::message "Final labels: $comma_separated_labels"
|
||||||
|
|
||||||
curl -sSL \
|
curl -sSL \
|
||||||
-H "Authorization: token $GITHUB_TOKEN" \
|
-H "Authorization: token $GITHUB_TOKEN" \
|
||||||
-H "$GITHUB_API_HEADER" \
|
-H "$GITHUB_API_HEADER" \
|
||||||
-X POST \
|
-X PATCH \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d "{\"labels\":[\"$label_to_add\"]}" \
|
-d "{\"labels\":[$comma_separated_labels]}" \
|
||||||
"$GITHUB_API_URI/repos/$GITHUB_REPOSITORY/issues/$pr_number/labels"
|
"$GITHUB_API_URI/repos/$GITHUB_REPOSITORY/issues/$pr_number"
|
||||||
|
}
|
||||||
|
|
||||||
|
github::format_labels() {
|
||||||
|
local -r quoted_labels=$(echo "$@" | coll::map str::quote)
|
||||||
|
readarray -t splitted_quoted_labels <<<"$quoted_labels"
|
||||||
|
|
||||||
|
coll::join_by "," "${splitted_quoted_labels[@]/#/}"
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ labeler::label() {
|
||||||
local -r pr_number=$(github_actions::get_pr_number)
|
local -r pr_number=$(github_actions::get_pr_number)
|
||||||
local -r total_modifications=$(github::calculate_total_modifications "$pr_number")
|
local -r total_modifications=$(github::calculate_total_modifications "$pr_number")
|
||||||
|
|
||||||
log::message "total modifications: $total_modifications"
|
log::message "Total modifications: $total_modifications"
|
||||||
|
|
||||||
local -r label_to_add=$(labeler::label_for "$total_modifications" "$@")
|
local -r label_to_add=$(labeler::label_for "$total_modifications" "$@")
|
||||||
|
|
||||||
|
|
20
src/misc.sh
20
src/misc.sh
|
@ -1,9 +1,27 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
echoerr() {
|
echoerr() {
|
||||||
echo "$@" 1>&2
|
echo "$@" 1>&2
|
||||||
}
|
}
|
||||||
|
|
||||||
log::message() {
|
log::message() {
|
||||||
echo "$@"
|
echo "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
coll::join_by() {
|
||||||
|
local IFS="$1"
|
||||||
|
shift
|
||||||
|
echo "$*"
|
||||||
|
}
|
||||||
|
|
||||||
|
coll::map() {
|
||||||
|
local -r fn="$1"
|
||||||
|
|
||||||
|
for x in $(cat); do
|
||||||
|
"$fn" "$x"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
str::quote() {
|
||||||
|
echo "\"$1\""
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue