Skip to content

PR queue hygiene

PR queue hygiene #152

name: PR queue hygiene
on:
schedule:
- cron: '43 */6 * * *'
workflow_dispatch:
permissions:
contents: read
# Serialised repository-wide: the job's state store is a hidden marker
# comment it reads and then writes non-atomically, so two overlapping runs
# (a dispatch during the 6-hourly cron) both find no marker and both post
# one. Not cancelled: a run stopped after it has commented has still
# written the state the next run reads.
concurrency:
group: pr-queue-hygiene
cancel-in-progress: false
jobs:
hygiene:
name: Flag stale conflicting PRs and agent PRs without a remit
runs-on: ubuntu-24.04
timeout-minutes: 10
permissions:
contents: read
pull-requests: write
issues: write
steps:
- name: Check out repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Set up Node.js and install dependencies
uses: ./.github/actions/setup-node-deps
- name: Run PR queue hygiene
run: npm run pr-queue-hygiene
env:
GH_TOKEN: ${{ github.token }}