Skip to content

main branch protection's required status checks reference stale/renamed CI job names #47

Description

@SoundMatt

Summary

main's branch protection required_status_checks.contexts is:
```
["test (ubuntu-latest, 1.22)", "test (ubuntu-latest, 1.23)", "lint", "generate"]
```

None of these match the current CI workflow's actual job names (`Test (ubuntu-latest, Go 1.22)`, `golangci-lint`, `go generate check`, etc. — capitalization and wording have drifted since the required-checks list was last configured, likely from an earlier workflow rename). Because GitHub matches required checks by exact context-name string, these four checks never report as passing/failing — they sit permanently pending, which puts every PR into mergeStateStatus: BLOCKED even when every actual CI job (12+ checks) is green.

Impact

Hit this merging PR #46: fully green CI, gh pr merge --merge refused with "the base branch policy prohibits the merge." Had to fall back to --admin to bypass. enforce_admins is false, so this doesn't block outright, but it silently defeats the purpose of required-status-checks (any admin merge — including an accidental one — skips them entirely rather than being genuinely gated on the checks passing).

Suggested fix

Update the branch protection required_status_checks.contexts to match the current workflow's real job names (e.g. via gh api repos/SoundMatt/go-FuSa/branches/main/protection/required_status_checks -X PATCH ... or the repo Settings UI), most likely:

  • Test (ubuntu-latest, Go 1.22)
  • Test (ubuntu-latest, Go 1.23)
  • golangci-lint
  • go generate check

(or whichever subset should actually gate merges going forward).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions