Skip to content

Branch protection requires every per-job CI context, so a missing job blocks merges indefinitely #19525

Description

@yihua

required_status_checks in .asf.yaml lists every job of the CI matrix as its own required context, roughly 65 of them. That has two costs.

Every change to .github/workflows/bot.yml becomes a two-sided edit: the job list and the context list have to move together, and the check name a matrix job renders has to match the context string exactly. A mismatch is silent at review time and only shows up as a check that stays pending forever.

Worse, a context with no job to report it blocks merges indefinitely. With GitHub Actions disabled on this repository over its runner usage (discussion #19515), none of those contexts can report at all, so nothing can merge, including the PRs that would fix the CI itself.

The per-job test contexts should not be required individually. Keeping the cheap gates (validate-source, validate-pr, validate-pr-title, validate-commit-coauthor) preserves the checks that do not depend on the test matrix, and reviewers gate on the checks the PR shows.

Fixed by #19523, which is the .asf.yaml half of #19514, split out so branch protection can be reset before the matrix trim itself lands.

Part of #19524.

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