Skip to content

Automations

Automations #129

Workflow file for this run

name: Automations
on:
schedule:
# Runs every day at 2:00 AM UTC
- cron: '0 2 * * *'
workflow_dispatch:
inputs:
DRY_RUN:
type: boolean
description: 'Run in dry run mode'
default: true
permissions:
actions: write
# contents: write # only for delete-branch option
issues: write
pull-requests: write
env:
DRY_RUN: true
MOVE_TO_STALE_DAYS: 30
CLOSE_AFTER_STALE_DAYS: 15
jobs:
mark-stale:
name: Mark/unmark stale PRs and issues
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v10
with:
debug-only: ${{ env.DRY_RUN }}
exempt-draft-pr: true
exempt-issue-labels: 'awaiting-approval,work-in-progress'
stale-issue-label: 'stale'
stale-pr-label: 'stale'
# --- Timing ---
# Job 1 marks/unmarks, but never closes.
days-before-issue-stale: ${{ env.MOVE_TO_STALE_DAYS }}
days-before-issue-close: -1
days-before-pr-stale: ${{ env.MOVE_TO_STALE_DAYS }}
days-before-pr-close: -1
remove-stale-when-updated: true
remove-pr-stale-when-updated: true
# --- Messages ---
stale-issue-message: >
👋 **This issue has been marked as Stale.**
This issue has had no activity for **${{ env.MOVE_TO_STALE_DAYS }} days**.
— 🤖 Stale Bot
stale-pr-message: >
👋 **This PR has been marked as Stale.**
This PR has had no activity for **${{ env.MOVE_TO_STALE_DAYS }} days**.
— 🤖 Stale Bot
operations-per-run: 100
ascending: true
close-stale:
name: Close stale PRs and issues
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v10
with:
debug-only: ${{ env.DRY_RUN }}
only-labels: 'stale'
stale-issue-label: 'stale'
stale-pr-label: 'stale'
# --- Timing ---
# Job 2 only closes already marked items.
days-before-issue-stale: -1
days-before-pr-stale: -1
days-before-issue-close: ${{ env.CLOSE_AFTER_STALE_DAYS }}
days-before-pr-close: ${{ env.CLOSE_AFTER_STALE_DAYS }}
# --- Messages ---
close-issue-message: >
👋 **This issue has been automatically closed.**
This issue was labeled with `stale` and has had no activity
for **${{ env.CLOSE_AFTER_STALE_DAYS }} days** since that.
— 🤖 Stale Bot
close-pr-message: >
👋 **This PR has been automatically closed.**
This PR was labeled with `stale` and has had no activity
for **${{ env.CLOSE_AFTER_STALE_DAYS }} days** since that.
If this is still relevant, please feel free to reopen it
or create a new PR.
— 🤖 Stale Bot
operations-per-run: 100
ascending: true