#16532

GitButler shows a green CI tick on a PR while a required check is still pending

Openishay3000opened 4d ago

Version

0.22.3

Operating System

Linux

Distribution Method

deb (Linux)

Describe the issue

Our Jenkins reports through the commit statuses API, not check runs, and I believe GitButler only reads check runs: (crates/but-github/src/client.rs) calls: GET /repos/{owner}/{repo}/commits/{ref}/check-runs?filter=latest

but never calls /commits/{ref}/status so our PR checks seem green even though they're still pending. Also the gh tool shows them as pending (gh pr checks), so it looks like that tool correctly probes for the PR checks. I believe it uses github's statusCheckRollup field which probes for both the legacy and new endpoints.

Would be much appreciated if GitButler probed for both endpoints. Thank you

How to reproduce (Optional)

No response

Expected behavior (Optional)

No response

Relevant log output (Optional)

undefined

Activity

1
agocharbhatia3d ago

I reproduced the missing status on master b73c9e9 using the existing Rust GitHub client with local HTTP fixtures. A successful check-run plus a pending Jenkins commit status returns only the successful check; legacy-only CI returns no checks.

Would you welcome a scoped fix that also reads the combined commit-status endpoint? It would keep the existing CI shape, keep check-runs and status contexts distinct, and cover pagination and fetch failures. I can prepare a PR if that direction fits.