Show overall "All checks have passed" status in github even on builds with incomplete "type: approval" job
under review
L
Lydia Stepanek
I added a manual approval "trigger_rollback" job recently to my Circle 2.0 workflow and did not like the UI integration with github. On builds where I did not trigger this optional "trigger_rollback" job, the overall Github status was "Some checks haven't completed yet." (See screenshot.)
I talked to CircleCI support and they told me to deselect the status check for a "type: approval" job as described in this github article: https://circleci.com/docs/2.0/workflows-waiting-status/, which I had already done.
I still need the "trigger_rollback" job and corresponding status check. The "trigger_rollback" status check is type:approval, so I want it to be pending but I don't want the overall PR status to be pending -- instead I want the overall PR status to be green and say "All checks have passed."
CCI-I-445
H
Henna Abbas
Hi everyone,
Thanks for your patience on this one — I know this thread goes back a long way (and the "any ETA?" comments over the years haven't gone unnoticed).
I wanted to share where we landed after digging into this: a few people have asked whether structuring workflows with a "terminal" job dependency (docs: https://circleci.com/docs/guides/orchestrate/workflows/#ignore-the-outcome-of-an-upstream-job) can get you a clean status when an approval job is left pending. Unfortunately it doesn't — an un-actioned approval job sits in an "on_hold" state, which never resolves into a terminal state (success/failed/canceled) on its own. So anything chained off it with terminal just ends up pending too. We wanted to flag that clearly since we know a few of you have likely tried it.
We know some of you have built your own workarounds in the meantime — whether that's deselecting the approval check in branch protection, calling the GitHub Commit Status API directly from a separate job, programmatically cancelling stale approval jobs, or something else entirely.
If you're currently doing any of that, we'd genuinely like to hear about it — specifically:
What approach are you using today (if any)?
Does it fully solve the "All checks have passed" issue, or is it a partial fix?
Any friction or edge cases with your current setup?
This will directly help us prioritize and scope a native fix that actually replaces what you've built rather than just duplicating it. Feel free to reply here.
J
Jeremie Thomassey
Henna Abbas we've created a lambda that triggers on every status check creation and set the status as succeeded. This makes the Github interface much cleaner. No real friction except that we reconciliate our pending jobs based on names so we have to make sure our pending jobs share the same names.
H
Henna Abbas
updated the status to
under review
G
Gleb@getquin.com
any ETA?
H
Henna Abbas
Gleb@getquin.com: Hi Gleb, I sent you an email. Would love to learn more about your use case as we review the feature request.
Nathan Fish
updated the status to
under review
J
Jamie Chapman
Any update on this? Oran Wilder
J
Jamie Chapman
Hi there, my team is also facing this issue, is there any timeline on when this will go to review? We will look at implementing the workaround but it's not ideal.
V
Vatz1996@gmail.com
any update to this?
H
Henna Abbas
Vatz1996@gmail.com: I sent you an email. Would love your input as we review this feature request.
Oran Wilder
updated the status to
open
D
Dhiren.atodaria@hotmail.co.uk
Oran Wilder: Are there any updates to this? I saw you posted this is being considered for the 2nd half of 2022 and we're now almost done with the first half of 2023...
Federico Terzi
While we wait for the official solution, I managed to find a workaround to solve this very annoying issue based on the GitHub Commit Status API. I wrote an article about it if you're interested :)
Finally we got the green checks back!
Photo Viewer
View photos in a modal
Nathan Broadbent
Federico Terzi: Thanks so much for your script, it works great! It's so nice to see green check marks and "All checks have passed" on GitHub.
Federico Terzi
Nathan Broadbent: Thanks :) Glad you found it useful!
Kim Yu Ng
Oran Wilder Would the improvement to Github checks cover the similar problems encountered in conditional workflow as well?
Currently if any conditional workflow is being skipped, it's possible to merge but the problem is that it stucks in "waiting for status to be reported" as well as shown in first three lines on the following picture.
The expected behavior is if the conditional workflow is being run, it should be required to be successful. However, if it's being skipped completely, it should either report it to Github successfully or smart enough not showing it up as a requirement in Github.
Photo Viewer
View photos in a modal
Oran Wilder
Kim Yu Ng: Thanks for sharing this example. Statuses for conditional workflows would be a separate update from approval job statuses, but I'll be sure to explore this as part of the overall improvements project.
Load More
→