Skip to content

Require status checks in the main ruleset #166

Description

Context and request

Protect main so a pull request cannot merge until the repository's CI checks succeed. The current ruleset requires a pull request and approval but declares no required status checks, allowing auto-merge to land on approval alone. #147 documents this gap; it does not change repository governance.

Acceptance criteria

  • The main ruleset requires the CI status checks that verify this repository's pull requests.
  • An auto-merge waits for those checks and the existing approval requirements.
  • A pull request with a failing, pending, or absent required check cannot merge.
  • The configured checks match the jobs currently expected by the repository's pull-request workflow.
  • The change and its verification have durable audit evidence on this issue.

Constraints and non-goals

Technical decisions

This is an operational Task: the deliverable is a GitHub ruleset configuration, not a repository file. Apply the required-status-check rule to the existing main branch ruleset and select the CI checks emitted for pull requests. Preserve the existing deletion, non-fast-forward, linear-history, and pull-request rules.

Implementation plan

  • Record the existing main ruleset and CI check names as the baseline verification evidence.
  • Configure the main ruleset to require the selected CI status checks.
  • Verify against a pull request that auto-merge and manual merge remain blocked while a required check is pending, failing, or absent.
  • Verify that merge is permitted only after every required check succeeds and the existing approval requirements are met.
  • Add an audit comment with the ruleset evidence and independent verification result.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions