mirror of
https://github.com/jdx/mise-action.git
synced 2026-05-18 23:41:53 +00:00
ci: add workflow to auto-close stale PRs
Closes PRs that have been inactive for 30+ days, aren't authored by jdx, and don't have a "keep-open" label. Runs daily at midnight. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
0cc0f19036
commit
2ff66f7d78
4 changed files with 6842 additions and 37709 deletions
29
.github/workflows/pr-closer.yml
vendored
Normal file
29
.github/workflows/pr-closer.yml
vendored
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
name: pr-closer
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *" # daily at midnight
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
close-stale-prs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Close stale PRs
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
gh pr list -R jdx/mise-action --state open --json number,author,labels,updatedAt,statusCheckRollup --limit 100 | \
|
||||
jq -r '.[] | select(
|
||||
(.updatedAt | fromdateiso8601) < (now - 30*24*60*60) and
|
||||
.author.login != "jdx" and
|
||||
([.labels[].name] | index("keep-open") | not)
|
||||
) | [.number, (if (.statusCheckRollup | length > 0) and ([.statusCheckRollup[].conclusion] | index("FAILURE") or index("failure")) then "failing" else "passing" end)] | @tsv' | \
|
||||
while read -r pr status; do
|
||||
echo "Closing PR #$pr (checks: $status)"
|
||||
if [ "$status" = "failing" ]; then
|
||||
gh pr close "$pr" -R jdx/mise-action -c "This PR has been open for more than 30 days without activity. Note: CI checks were failing, which may be why it wasn't reviewed. Feel free to reopen or create a new PR if you'd like to continue working on this."
|
||||
else
|
||||
gh pr close "$pr" -R jdx/mise-action -c "This PR has been open for more than 30 days without activity. Feel free to reopen or create a new PR if you'd like to continue working on this."
|
||||
fi
|
||||
done
|
||||
44499
dist/index.js
generated
vendored
44499
dist/index.js
generated
vendored
File diff suppressed because one or more lines are too long
2
dist/index.js.map
generated
vendored
2
dist/index.js.map
generated
vendored
File diff suppressed because one or more lines are too long
21
dist/licenses.txt
generated
vendored
21
dist/licenses.txt
generated
vendored
|
|
@ -360,27 +360,6 @@ SOFTWARE.
|
|||
|
||||
@azure/storage-common
|
||||
MIT
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2018 Microsoft
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
@fastify/busboy
|
||||
MIT
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue