-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Skipped PR build remains a pending check in GitHub UI #10364
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Thanks for reporting this 👍 This is likely a regression from #10085. |
Note: Also reported here - #10335 |
I needed to just understand this very very basic thing that had gotten lost somehow:
It could be proposed to clear the whole status (after all, a build never succeeded) - but I think it's nice to keep it, including a URL to the build. That way, it's explicit when a build was skipped. IMHO, we need a more integrated skipping mechanism if we're gonna skip builds and delete the "pending" status. |
Currently, this is a bit of a mystery since my changes here are skipped and "pending" is overwritten correctly with "success": readthedocs/test-builds#2100 |
This theoretical scenario is AFAICT possible, but I haven't been able to look at data to see if it's actually what happens. But it could be the sequence of events:
In this scenario, it could be possible that the "success" status is overwritten by "pending" later. It seems we are having the issue no matter if the exit 183 is added in Edit: Updated with queue names |
Ah! Just noticing.. the cpython build is very slow because the checkout takes a long time. "Build took 89 seconds". So the "pending" status should almost definitely have arrived before the "success" status is sent. |
(deleted) |
There is definitely something weird about the difference between these two PRs: First commit should not be skipped and has a "success", subsequent commits all get a success, even if they are skipped: The first commit should be skipped but gets stuck at "pending" and never receives "success": |
We found the issue ✔️ readthedocs.org/readthedocs/builds/models.py Lines 379 to 393 in 0957dac
In this method, we return an absolute path for successful builds. But if the build isn't successful, we return a relative path. This is of course an invalid I'll create a PR, just need to check how this |
@hugovk thanks for taking time to provide good feedback here! The issue is now fixed and will be included in the next deployment (probably next Tuesday). |
And thank you very much for the investigation and fix! |
I'm still seeing issues here - for example #10393. Will reopen and investigate... |
It works => #10410 I was looking at a PR that was opened moments before the fix was deployed. |
Hmm, looking at python/cpython#105510 which has no https://readthedocs.org/projects/cpython-previews/builds/20956452/ if [ "$READTHEDOCS_VERSION_TYPE" = "external" ] && [ "$(git diff --quiet origin/main -- Doc/ .readthedocs.yml; echo $?)" -eq 0 ];
then
echo "No changes to Doc/ - exiting the build.";
exit 183;
fi |
Hmm, 2 potential explanations:
|
Details
Expected Result
When skipping the build with:
It should either show the GitHub check as a grey skipped result (or possibly green success, but skip would be more accurate).
Actual Result
The build was cancelled as expected:
Details
https://readthedocs.org/projects/cpython-previews/builds/20835824/
However, the status check on GitHub still shows as pending:
Details
And also shows in the tab:
Details
The text was updated successfully, but these errors were encountered: