Open trevorcampbell opened 1 year ago
Thanks @trevorcampbell for opening this issue. The timeout for the documentation is set to 15 minutes in the github workflow: https://github.com/jupyter/nbgrader/blob/9bc0a14531378fd950fd7c4dfddde471d194bfb1/.github/workflows/test-docs-python.yml#L51
Yesterday, a few changes concerning the documentation were merged (https://github.com/jupyter/nbgrader/pull/1819). I don't know if this improves the duration but the test following the changes took less than 12 minutes: https://github.com/jupyter/nbgrader/actions/runs/6004868762/job/16286405021#logs
@brichet Since you merged #1819 I haven't seen the issue again. But it was somewhat intermittent before, so hard to tell if it's actually gone.
Hah. 10 minutes after I wrote that, it happened again.
https://github.com/jupyter/nbgrader/actions/runs/6018862753/job/16327800386?pr=1817
When building the docs (most recently the CI step below, which prompted me to file this issue, but other architectures cause the same issue sporadically):
I have noticed that the workflow is making many quick http requests and is occasionally getting rate limited by GitHub. For example, see https://github.com/jupyter/nbgrader/actions/runs/6005710823/job/16288942885?pr=1817 :
This causes CI to look like it's failing, even when nothing is wrong with the build itself. I believe the fix may just be to slow down these requests a bit, but not sure where that fix should be made and what an appropriate rate is.
The
Error: The action has timed out.
may actually be GitHub killing the action. It looks as though thesphinx-build -b linkcheck
command in the docsMakefile
is at least aware of rate-limiting and maybe (?) is exponentially backing off ( see https://github.com/sphinx-doc/sphinx/issues/7388 ) , but perhaps GitHub sees the action sleeping and decides to kill it.Another potentially useful observation: it seems that the failure occurs shortly after
429 Client Error: Too Many Requests for url: ...
-- so perhaps it is indeed thatsphinx-build
isn't backing off quickly enough...