Protobuf Janitor #115
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Protobuf Janitor | |
on: | |
schedule: | |
# Run daily at 10 AM UTC (2 AM PDT) | |
- cron: 0 10 * * * | |
workflow_dispatch: | |
permissions: {} | |
jobs: | |
stale-prs: | |
name: Close Stale Copybara PRs | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write # to allow deleting branches | |
pull-requests: write # to allow closing the PR | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GH_REPO: ${{ github.repository }} | |
steps: | |
- run: | | |
set -ex | |
STALE_PRS=$(gh pr list --author "app/copybara-service" --limit 500 \ | |
--json "number" --search "updated:<=$(date --date="-7 day" +%F)" \ | |
| jq ".[].number") | |
for pr in $STALE_PRS; do | |
echo "Closing #$pr..." | |
gh pr close --comment "Auto-closing Copybara pull request" --delete-branch "$pr" | |
done | |
stale-others: | |
name: Close stale non-copybara PRs and issues | |
runs-on: ubuntu-latest | |
permissions: | |
issues: write # allow the action to comment on, add labels to, and close issues | |
pull-requests: write # allow the action to comment on, add labels to, and close PRs | |
steps: | |
- uses: actions/stale@b69b346013879cedbf50c69f572cd85439a41936 | |
with: | |
stale-issue-message: > | |
We triage inactive PRs and issues in order to make it easier to find | |
active work. If this issue should remain active or becomes active | |
again, please add a comment. | |
This issue is labeled `inactive` because the last activity was over | |
90 days ago. This issue will be closed and archived after 14 | |
additional days without activity. | |
close-issue-message: > | |
We triage inactive PRs and issues in order to make it easier to find | |
active work. If this issue should remain active or becomes active | |
again, please reopen it. | |
This issue was closed and archived because there has been no new | |
activity in the 14 days since the `inactive` label was added. | |
stale-pr-message: > | |
We triage inactive PRs and issues in order to make it easier to find | |
active work. If this PR should remain active, please add a comment. | |
This PR is labeled `inactive` because the last activity was over 90 | |
days ago. This PR will be closed and archived after 14 additional | |
days without activity. | |
close-pr-message: > | |
We triage inactive PRs and issues in order to make it easier to find | |
active work. If this PR should remain active or becomes active | |
again, please reopen it. | |
This PR was closed and archived because there has been no new | |
activity in the 14 days since the `inactive` label was added. | |
stale-issue-label: 'inactive' | |
stale-pr-label: 'inactive' | |
exempt-issue-labels: 'help wanted' | |
days-before-stale: 90 | |
days-before-close: 14 | |
operations-per-run: 100 |