Skip to content

feat(ci): automated PR readiness checks — contributor feedback before review #750

Closed

Description

@diberry

Problem

Contributors open PRs that aren't ready for review — draft state, multiple unsquashed commits, stale branch, no Copilot review approval, missing changeset, merge conflicts. Brady has to manually inspect each one and comment with what needs fixing. This doesn't scale, and contributors don't get immediate feedback on what's blocking their PR.

Proposed Solution

An automated PR readiness check that runs on pull_request events and posts/updates a checklist comment telling contributors exactly what needs to be fixed before the PR is review-ready.

Readiness Checks

The following checks should be evaluated on every PR event:

# Check Description
1 Single commit (or squashable) PR should have 1 commit, or repo should be configured for squash merge
2 Not in draft Draft PRs shouldn't trigger review requests
3 Branch up to date PR branch should be rebased on latest dev
4 Copilot review copilot-pull-request-reviewer should have an approved review
5 Changeset present A .changeset/*.md file exists in the PR diff (per changelog-gate)
6 No merge conflicts GitHub's mergeable state is MERGEABLE
7 CI passing All required status checks are green

Expected Behavior

  • On every PR open/sync/edit event, a GitHub Action evaluates all checks
  • Posts (or updates) a single comment with a checklist showing pass/fail for each item
  • Contributors see immediately what's blocking their PR
  • Brady only needs to review PRs that pass all automated checks

Design Considerations

  • Should complement existing squad-ci.yml, not replace it
  • Lightweight — single workflow file, no external dependencies
  • Must handle fork PRs (limited permissions for external contributors)
  • Comment should be updated in-place (not spammed on every push)

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or improvement

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions