49 lines
1.7 KiB
YAML
49 lines
1.7 KiB
YAML
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@v9.0.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: Confirmed, Documentation Needed'
|
|
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
|
|
# 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: Checkout
|
|
uses: actions/checkout@v4.1.4
|
|
- name: Remove 'stale' label
|
|
run: gh issue edit ${{ github.event.issue.number }} --remove-label ${{ env.stale_label }}
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|