name: Mark stale issues on: schedule: - cron: "0 8 * * *" workflow_dispatch: issue_comment: env: stale_label: stale jobs: stale_action: if: github.event_name != 'issue_comment' runs-on: ubuntu-latest permissions: issues: write steps: - uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f #v10.2.0 with: repo-token: ${{ secrets.GITHUB_TOKEN }} days-before-stale: 30 days-before-close: 5 stale-issue-message: "This issue is stale because it has been open 30 days with no activity. Please comment or update this issue or it will be closed in 5 days." stale-issue-label: "${{ env.stale_label }}" exempt-issue-labels: "internal, Fixed In Next Release, Bug, never-stale, Bug: Confirmed" exempt-all-issue-assignees: true operations-per-run: 300 close-issue-reason: "not_planned" remove_stale: # trigger "stale" removal immediately when stale issues are commented on # we need to explicitly check that the trigger does not run on comment on a PR as # 'issue_comment' triggers on issues AND PR comments # https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#issue_comment-on-issues-only-or-pull-requests-only if: ${{ !github.event.issue.pull_request && github.event_name != 'schedule' }} permissions: contents: read # for actions/checkout issues: write # to edit issues label runs-on: ubuntu-latest steps: - name: Clone repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2 with: persist-credentials: false - name: Remove 'stale' label run: gh issue edit ${{ github.event.issue.number }} --remove-label ${{ env.stale_label }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}