Repository navigation
Conversation
Documentation build overview
|
|
@AstraLuma would you like to review this PR that proposes to fix the issue you opened? |
|
@ac1982 thank you for the PR and your first contribution! This PR introduces a regression that causes warnings. This PR proposes a trade-off that I think is worse than the current situation. Can you suggest an alternative implementation? |
|
Thank you for checking this. I reproduced your command with Sphinx 9.1.0 on both the unmodified base ( PYTHONPATH="$CHECKOUT/src" "$VENV/bin/python" -m sphinx \
-E -j auto -n -b html "$CHECKOUT/docs" "$OUTPUT"Both builds succeed with 41 warnings: the same two parallel-read warnings from The original regression test uses an HTTP-only, three-document project so parallel reading actually runs (the project's own docs fall back to serial reading because of the bottle extension). On the base, its parallel build fails to resolve I haven't changed the implementation in response to these warnings, since I could not reproduce a warning introduced by this patch. The existing standard-domain label registration remains in place; moving it before reader dispatch prevents the generated index label from being lost during worker-environment merging. |
|
@ac1982 thanks for your quick response. I made a mistake with the command, which I've corrected as follows: And I verified that you're correct. These commands return the same results before this PR and with it. However, your bullet point in your original description confused me:
Can you explain what you mean by a "new regression", when its results are the same as before? Regarding the fallback to serial read, that's covered in #15. I just updated that issue with a potential fix. I assume that parallel reads would be OK for all the builders. Please let me know. Thank you! |
|
Thank you for verifying it. That was imprecise wording on my part: I meant “new regression test”, not a newly introduced regression. I've corrected the PR description. The test builds a separate three-document fixture that enables only Thanks for pointing me to #15. Declaring |
Fixes #58.
Register the
routingtablelabel inenv-before-read-docs, before Sphinx starts parallel readers. With the currentdoctree-readcallback the label is created in worker environments, but the standard domain only merges labels targeting source documents. Its target, the generatedhttp-routingtablepage, is therefore discarded.The existing label and anonymous-label entries are unchanged. Added a build-level regression for implicit and explicit-title references, target HTML and inventory entries across clean, incremental and unchanged builds with one and two workers. Includes a changelog entry.
Validation on Python 3.12 with both Sphinx 9.1.0 and minimum 8.1.3:
tests/websocket_test.py) applied to the original source: its HTTP-only fixture passes with one reader and fails with two readers becauseroutingtableis undefined. With this fix, both reader settings pass. This is separate from building the project’s own documentation.-j2on 8.1.3 warns about the separate autohttp.bottle extension's undeclared parallel safety.The remaining Python-version tox matrix and external linkcheck were not run.