Skip to content

Replace neutral status check conclusion (GH-specific) with more appropriate states #3042

@lbarcziova

Description

@lbarcziova

We use neutral as the GitHub Check Run conclusion for many different scenarios. GitHub treats neutral the same as success for required checks — meaning a PR can be merged even when CI was never run (e.g. contributor lacks permission to trigger it).

Current neutral usages by category

  • Permission / access control denied — Koji permissions, internal TF permissions, allowlist/namespace denied
  • Configuration / prerequisite issues — missing build job definition, no FMF metadata, custom Copr project not allowed, etc.
  • Build / test state issues — merge conflicts, missing successful build for test target
  • Cancellation / skip — TF tests canceled, OpenScanHub canceled/failed, release sync skipped

Proposed replacements

See https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks#check-statuses-and-conclusions and play with how these are displayed to users. Suggestions:

  • Cancellations → cancelled
  • Permission/config/prerequisite issues → experiment with action_required vs leaving the check in queued state - evaluate which gives better UX
  • Skips → evaluate skipped vs queued vs action_required

Some of the conlcusions might need to be added to ogr's GithubCheckRunResult enum first.

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