diff --git a/.github/workflows/lock-prs.yml b/.github/workflows/lock-prs.yml index bcfd067..72a90cf 100644 --- a/.github/workflows/lock-prs.yml +++ b/.github/workflows/lock-prs.yml @@ -12,11 +12,14 @@ jobs: steps: - name: Lock closed PRs run: | - cmd=$(gh pr list --repo "$REPO" -L 100000 --state closed --json number,updatedAt|jq '[.[] | select(.updatedAt >= (now - (7 * 24 * 60 * 60) | todate))] | sort_by(.updatedAt) | .[] | {number: .number, updatedAt: .updatedAt}'| jq '.number'|head -n 100) + pr_list=$(gh pr list --repo "$REPO" -L 100000 --state closed --json number,updatedAt) + recent_prs=$(echo "$pr_list" | jq '[.[] | select(.updatedAt >= (now - (7 * 24 * 60 * 60) | todate))]') + sorted_prs=$(echo "$recent_prs" | jq 'sort_by(.updatedAt) | .[] | {number: .number, updatedAt: .updatedAt}') + cmd=$(echo "$sorted_prs" | jq '.number' | head -n 100) for num in $cmd; do - if [ "$(gh api repos/$REPO/issues/$num --jq '.locked')" = "false" ]; then - if ! gh pr view --repo "$REPO" --json labels -q '.labels[].name' $num|grep -qE "^(Stale|leave-open)$"; then + if [ "$(gh api repos/"$REPO"/issues/"$num" --jq '.locked')" = "false" ]; then + if ! gh pr view --repo "$REPO" --json labels -q '.labels[].name' "$num"|grep -qE "^(Stale|leave-open)$"; then echo "Locking pull request $num" gh pr lock --repo "$REPO" --reason "resolved" "$num" fi