Skip to content

Stale Blocked Issue Nudger #5

Stale Blocked Issue Nudger

Stale Blocked Issue Nudger #5

name: Stale Blocked Issue Nudger
on:
schedule:
# Runs daily at 09:00 UTC on weekdays
- cron: "0 9 * * 1-5"
workflow_dispatch:
inputs:
stale_days:
description: "Inactivity threshold in days before nudging"
required: false
default: "7"
blocked_label:
description: "Label that marks an issue as blocked"
required: false
default: "blocked"
dry_run:
description: "Dry run — log without posting comments"
required: false
default: "false"
type: choice
options:
- "false"
- "true"
concurrency:
group: stale-blocked-nudger
cancel-in-progress: true
permissions:
issues: write # read issues + post comments
contents: read
jobs:
nudge:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Run stale blocked nudger
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPO: ${{ github.repository }}
STALE_DAYS: ${{ github.event.inputs.stale_days || '7' }}
BLOCKED_LABEL: ${{ github.event.inputs.blocked_label || 'blocked' }}
DRY_RUN: ${{ github.event.inputs.dry_run || 'false' }}
run: node scripts/stale-blocked-nudger.js