SRE-715: Add reusable workflow enforcing Linear issue ID in PR titles#65
Conversation
Adds preflight-pr-title.yml, mirroring the prefix-parsing approach of preflight-todo-comments.yml so both checks key off the same IDs. PRs from GitHub App accounts (user.type == 'Bot') — hash-worker, dependabot, etc. — are skipped by default; extra human logins can be exempted via the `ignored-actors` input. Failure path prints a self-explanatory summary in the workflow run.
PR SummaryMedium Risk Overview The workflow supports Reviewed by Cursor Bugbot for commit 779df27. Bugbot is set up for automated code reviews on this repo. Configure here. |
Default `pull_request` types are `opened, synchronize, reopened` — a title-only edit wouldn't re-run the check, so a PR could stay red after the user fixes the title. Add `edited` explicitly to both `pull_request` and `pull_request_target`.
🤖 Augment PR SummarySummary: Introduces a reusable GitHub Actions workflow to enforce that human-authored PR titles include a Linear issue ID. Changes:
Technical Notes: Uses simple shell parsing (prefix extraction + case-normalized regex match) and keeps permissions scoped to 🤖 Was this summary useful? React with 👍 or 👎 |
Summary
preflight-pr-title.ymlthat fails when a PR title is missing a Linear issue ID (e.g.H-1234,BE-5678,SRE-715) in the prefix segment (text before the first:).preflight-todo-comments.yml, so both checks key off the same set of IDs.pull_request.user.user.type == 'Bot'— covershash-worker[bot],dependabot[bot], and any future GitHub App). Additional human logins can be exempted via theignored-actorsinput.$GITHUB_STEP_SUMMARY(current title, expected format, examples).paths:filter — this PR's title is intentionally missing an ID so the workflow can fail on itself as a smoke test. ✨Once stable, the next step is wiring this as a required status check via
workflow_callin consumer repos.Test plan
SRE-715: …) and re-run → passespull_request_targetpath still works once wired into a consumer repo