Skip to content

feat: migrate PR automation to Buildkite#26

Draft
Ilia wants to merge 1 commit into
mainfrom
feat/buildkite-pr-automation
Draft

feat: migrate PR automation to Buildkite#26
Ilia wants to merge 1 commit into
mainfrom
feat/buildkite-pr-automation

Conversation

@Ilia

@Ilia Ilia commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Replaces GitHub Actions scheduled workflows with Buildkite pipelines + shell scripts
  • Fixes unreliable scheduling — GHA drops runs silently under load with no SLA; a missed run was observed 2026-06-03
  • Simplifies auth: GH_PAT instead of GitHub App JWT (create-github-app-token)
  • Adds a new ready PR reminders script (per-author @mentions for unreviewed PRs, same pattern as draft reminders)

Files

File Purpose
.buildkite/pr-review-digest.yml Pipeline: channel digest of unreviewed PRs
.buildkite/pr-reminders.yml Pipeline: per-author draft + ready PR @mentions
.buildkite/scripts/pr-review-digest.sh Extracted from GHA workflow, unchanged logic
.buildkite/scripts/draft-pr-reminders.sh Extracted from GHA workflow, uses GH_PAT
.buildkite/scripts/ready-pr-reminders.sh New: @mentions authors whose ready PRs have no reviewer
.buildkite/draft-pr-slack-mapping.json Moved from feat/draft-pr-reminders (11 team members)
.github/workflows/pr-review-digest.yml Deleted

Buildkite setup required after merge

Pipeline 1: PR Review Digest

  • Pipeline file: .buildkite/pr-review-digest.yml
  • Env vars: GH_PAT, SLACK_WEBHOOK_URL
  • Schedules:
    • 30 22 * * 0-4 — 8:30am AEST Mon–Fri
    • 30 4 * * 1-5 — 2:30pm AEST Mon–Fri

Pipeline 2: PR Reminders (draft + ready, per timezone)

  • Pipeline file: .buildkite/pr-reminders.yml
  • Env vars: GH_PAT, SLACK_WEBHOOK_URL
  • Schedules (3):
    • 0 23 * * 0 + TIMEZONE_GROUP=Australia/Melbourne — Mon 9am AEST
    • 30 3 * * 1 + TIMEZONE_GROUP=Asia/Kolkata — Mon 9am IST
    • 0 9 * * 1 + TIMEZONE_GROUP=Europe/London — Mon 9am GMT

Secrets needed: GH_PAT (PAT with read:org + repo scopes), SLACK_WEBHOOK_URL

Closes #24

🤖 Generated with Claude Code

Replaces GitHub Actions scheduled workflows (unreliable under load,
no SLA) with Buildkite pipelines + standalone shell scripts.

Three scripts using GH_PAT instead of GitHub App token:
- pr-review-digest.sh     — channel digest of unreviewed PRs (unchanged logic)
- draft-pr-reminders.sh   — @mention authors about their draft PRs per timezone
- ready-pr-reminders.sh   — @mention authors about their ready PRs with no reviewer

Buildkite schedules to configure (see .buildkite/ README in PR):
  pr-review-digest:   twice per weekday at 8:30am and 2:30pm AEST
  pr-reminders:       Monday 9am per timezone group (3 schedules × TIMEZONE_GROUP env var)

Closes #24 (draft-pr-reminders GHA branch superseded by this).

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@Ilia Ilia marked this pull request as draft June 9, 2026 23:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants