-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
tests/test_builders/test_build_linkcheck.py::test_defaults flaky for docutils HEAD CI #12159
Comments
This comment was marked as resolved.
This comment was marked as resolved.
changed, but yeh it seems once it happens once it just will not fix itself |
Better to fix it then. Maybe it has something to do with caching actually? |
and its only for |
I think it is now failing every time: sphinx-doc/sphinx/actions/runs/8376347449/job/22935843069 |
It seems not, nope - I've encountered one of these failures for the test-HTTP-port-isolation branch, the only branch I expected might affect this: https://github.com/sphinx-doc/sphinx/actions/runs/8379421681/job/22946289546?pr=12126
Maybe. Has anyone taken a look at the latest changes in Under some circumstances, The other possibility is that this is somehow contention-related; we and/or GitHub may be more active than usual, or the runners may be lower-performance or constrained for some reasoning, producing timeouts. But for that to only seem to affect the |
I'm going to reluctantly suggest (with accompanying pull request) that we increase the timeouts for the linkcheck tests. Although #12126 doesn't fix the timeouts, it does unlock running the |
FWIW: I really dislike workarounds when it feels possible to resolve a root cause. But something I dislike more is disorder in continuous integration results and the surrounding collaboration problems that causes. Also I have to admit that despite working on these tests for a while, I don't feel any closer to having been able to pinpoint the problem. I could make an excuse and say that that's due to not having access to profiling/tracing on the runner hosts.. it certainly makes things more difficult, but I feel like there would be a way to achieve better network/performance tracing using GitHub Actions with a bit of determined effort. |
I wanted to check myself about this claim that parallelism should reduce the I understand that the parallelism may consume some more resources and require some more setup time, so that may be the reason. In theory it could still be beneficial to allow more of these tests to run in parallel and isolated.. but let's be cautious anyway. This did help me to find the $ pytest --durations=0 tests/test_builders/test_build_linkcheck.py # without pytest-randomly installed
...
============================================= slowest durations ==============================================
0.09s setup tests/test_builders/test_build_linkcheck.py::test_defaults
0.08s call tests/test_builders/test_build_linkcheck.py::test_defaults
0.08s call tests/test_builders/test_build_linkcheck.py::test_connect_to_selfsigned_with_tls_verify_false
0.06s call tests/test_builders/test_build_linkcheck.py::test_connect_to_selfsigned_with_requests_env_var
0.06s call tests/test_builders/test_build_linkcheck.py::test_connect_to_selfsigned_with_tls_cacerts
...
0.01s setup tests/test_builders/test_build_linkcheck.py::test_requests_timeout
0.01s setup tests/test_builders/test_build_linkcheck.py::test_linkcheck_request_headers_no_slash
0.01s setup tests/test_builders/test_build_linkcheck.py::test_connect_to_selfsigned_with_tls_cacerts
(44 durations < 0.005s hidden. Use -vv to show these durations.)
============================================= 39 passed in 1.46s =============================================
|
Those timings are not relevant in general because 0.02s of difference for setting up is essentially the time for your OS to setup resources. Then after the resources were once inintialized some of them could be cached (e.g., some of them could be in the L1/L2 or L3 cache). Also, don't forget that the setup could also have import statements and thus you'll have more time just because of imports. But afterwards, modules are in You should worry if you have seconds of differences but not anything below |
@picnixz there are two lines of exploration here:
Although I think the |
The |
I've just re-run this 5 flipping times on #12153, and @picnixz has run into it as well
it seems the server breaks when exiting
test_one_parameter_per_line
, then this leads totest_defaults
not working, with:@jayaddison will your PRs fix this?
or should we temporarily disable the test for
Docutils HEAD
?The text was updated successfully, but these errors were encountered: