Files
openhuman/.github/workflows/rabbit-retrigger.yml
T

59 lines
1.7 KiB
YAML

---
name: CodeRabbit Retrigger
# Periodically scans open PRs and posts `@coderabbitai review` on any whose
# rate-limit window has elapsed. Uses the same GitHub App credentials as
# release-production.yml so the comments are authored by the bot account.
on:
schedule:
# Every 20 minutes. CodeRabbit Pro reviews 5 PRs/hr, so this gives
# ~3 ticks per hour — enough to catch elapsed windows without thrashing.
- cron: "*/20 * * * *"
workflow_dispatch:
inputs:
max:
description: "Max retriggers this run (CR Pro = 5/hr)"
required: false
default: "5"
dry_run:
description: "Print what would be done; post nothing"
type: boolean
required: false
default: false
permissions:
contents: read
pull-requests: write
issues: write
concurrency:
group: rabbit-retrigger
cancel-in-progress: false
jobs:
retrigger:
name: Retrigger CodeRabbit
runs-on: ubuntu-22.04
steps:
- name: Generate GitHub App token
id: app-token
uses: tibdex/github-app-token@v1
with:
app_id: ${{ secrets.XGITHUB_APP_ID }}
private_key: ${{ secrets.XGITHUB_APP_PRIVATE_KEY }}
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 24.x
- name: Run rabbit
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
RABBIT_REPO: ${{ github.repository }}
run: |
set -e
ARGS=(run --max "${{ inputs.max || '5' }}")
if [ "${{ inputs.dry_run }}" = "true" ]; then
ARGS+=(--dry-run)
fi
node scripts/rabbit/cli.mjs "${ARGS[@]}"