name: Stale pull requests on: schedule: - cron: "0 0 * * *" # Midnight UTC workflow_dispatch: permissions: contents: read issues: write pull-requests: write concurrency: group: ${{ github.workflow }} cancel-in-progress: false jobs: stale: name: Process inactive pull requests runs-on: ubuntu-latest steps: - name: Process inactive pull requests uses: actions/stale@1e223db275d687790206a7acac4d1a11bd6fe629 # v10.4.0 with: repo-token: ${{ secrets.GITHUB_TOKEN }} # Issues are managed separately; this workflow only handles pull requests. days-before-issue-stale: -1 days-before-issue-close: -1 # CONTRIBUTING.md defines 60 days of inactivity as the closure threshold. # Warn at day 45, then allow 15 days for the author to resume work. days-before-pr-stale: 45 days-before-pr-close: 15 stale-pr-label: stale exempt-pr-labels: keep-open exempt-draft-pr: false stale-pr-message: >- This pull request has been inactive for 45 days. Push a commit or leave a comment describing the next step to remove the `stale` label. Maintainers can apply `keep-open` with a concrete reason when longer-lived work is intentional. This pull request will close automatically after another 15 days without activity. close-pr-message: >- This pull request was closed after 60 days of inactivity. Closing does not reject the idea; reopen it when the work is ready to continue. remove-pr-stale-when-updated: true ignore-pr-updates: false delete-branch: false # Process the least recently updated pull requests first and cap API # writes so one run cannot flood the repository with notifications. operations-per-run: 20 sort-by: updated ascending: true enable-statistics: true