-
Notifications
You must be signed in to change notification settings - Fork 11
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
docs-ci: make linkcheck
prone to transient network failures
#106
Comments
FWIW, I did see these types of errors occasionally (locally) while I was working on correcting links across the various repos. Thanks for creating the issue; if this happens frequently, I'll handle the split/continue-on-error changes. |
Documenting another occurrence:
|
And another, twice in a row. |
BOOOOOO. I will pick this up and make it |
Also add `continue-on-error-comment` step, so that if linkcheck fails, a comment will be added to the PR, instead of a silent failure with a green check.
Also add `continue-on-error-comment` step, so that if linkcheck fails, a comment will be added to the PR, instead of a silent failure with a green check.
I'm wondering if On the other hand, with something like the CI failures we have currently or mainmatter/continue-on-error-comment, I'm worried that it could be unnecessarily noisy given the high rate of these failures as of lately (I've seen many in Augur, but no longer linking them back to here). Some alternatives:
I realize this comment is coming a bit late but it's longer-term thinking. |
I generally agree with @victorlin here. |
Actually, I think what we want is a filter on the HTTP response. 404s are useful (example) but network errors are not. Sphinx 8.0 (released Jul 29, 2024) changed the default value of However, the new |
New proposal: Run @genehack what do you think about this approach over #107? It doesn't require splitting |
Noting that
but ignoring |
So, that's actually a 403; that's unlikely to be transient (or if it is, it reflects some sort of oddness on the remote end, e.g., load-balanced servers giving different responses). It's probably worth extending the filtering so that |
For this specific URL it is some sort of oddness on the remote end – see nextstrain/augur#1593 (comment) |
|
I'm suggesting adding an additional filtering step, analogous to the current "broken" one, that specifically looks for this 403 -- say, by using an additional It wouldn't even need to
IME, when putting together the initial linkcheck stuff, pretty much every link that returned a 403 "client denied" error like this was perfectly accessible in a browser, but had some sort of server-side client-sniffing that was denying programmatic requests. |
Did this happen for URLs other than |
What @victorlin said. |
When I initially did the link check cleanup, there were a number of sites that consistently returned this 403 error; I added those to the ignore config (and I think commented that the links worked in a browser but failed with the link check only). There weren't any intermittent 403s that I saw.
fair 'nuff. |
I see, thanks! Doing the same to the FastTree link in nextstrain/augur#1660. |
I'm going to consider this closed by #110 and nextstrain/augur#1660. I think it's still worth reconsidering how we are using |
I've just run into this error on an Augur PR which did not change any docs links:
This seems like a transient network error which shows up as a failing check ❌ on the PR which confused me at first.
Possible solutions
linkcheck
into a separate job on docs-ci and usecontinue-on-error: true
make linkcheck
out into a distinct job [#106] #107linkcheck
in CI but instead on a weekly scheduletimeout
codesbroken
codes on a case-by-case basis. If it's intermittent, add tolinkcheck_ignore
. Otherwise, update or remove the link.The text was updated successfully, but these errors were encountered: