Skip to content

Enable parallel docs builds and bump reno min version#4477

Merged
mergify[bot] merged 4 commits intoQiskit:masterfrom
mtreinish:parallel-sphinx
May 20, 2020
Merged

Enable parallel docs builds and bump reno min version#4477
mergify[bot] merged 4 commits intoQiskit:masterfrom
mtreinish:parallel-sphinx

Conversation

@mtreinish
Copy link
Copy Markdown
Member

Summary

In the recent reno release 3.1.0 the sphinx extension config option
'parallel_read_safe' was set to true. [1] This makes it possible to run
sphinx builds with reno in parallel without a warning being raised. This
commit does just that and adds '-j auto' to the default sphinx build
command in the tox docs job. This should hopefully speed up the docs
builds in CI (although the degree to which is limited by the available
resources in the CI nodes) and for local builds.

Details and comments

[1] https://opendev.org/openstack/reno/commit/cc09e3d38c2c1046a529270f133de525c0692809

In the recent reno release 3.1.0 the sphinx extension config option
'parallel_read_safe' was set to true. [1] This makes it possible to run
sphinx builds with reno in parallel without a warning being raised. This
commit does just that and adds '-j auto' to the default sphinx build
command in the tox docs job. This should hopefully speed up the docs
builds in CI (although the degree to which is limited by the available
resources in the CI nodes) and for local builds.

[1] https://opendev.org/openstack/reno/commit/cc09e3d38c2c1046a529270f133de525c0692809
@mtreinish mtreinish requested a review from a team as a code owner May 19, 2020 20:10
mtreinish added 3 commits May 20, 2020 07:30
Reno 3.0.0 dropped support for python 3.5 and setting a minimum version
above that is causing the python 3.5 jobs to fail. Reno is only used for
docs jobs which run with python 3.7 and we don't need to install it as
part of a normal test run. This commit makes the reno test requirement
only installed on python > 3.5.
Copy link
Copy Markdown
Member

@1ucian0 1ucian0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for being on top of dependencies release notes!

@mergify mergify Bot merged commit c362226 into Qiskit:master May 20, 2020
@mtreinish mtreinish deleted the parallel-sphinx branch May 20, 2020 18:21
@mtreinish
Copy link
Copy Markdown
Member Author

Just circling back to show the results here after this merged

Screenshot_2020-05-27_07-11-32

The run time for the docs build went from 900-980 seconds without this commit to 670-730 seconds

faisaldebouni pushed a commit to faisaldebouni/qiskit-terra that referenced this pull request Aug 5, 2020
* Enable parallel docs builds and bump reno min version

In the recent reno release 3.1.0 the sphinx extension config option
'parallel_read_safe' was set to true. [1] This makes it possible to run
sphinx builds with reno in parallel without a warning being raised. This
commit does just that and adds '-j auto' to the default sphinx build
command in the tox docs job. This should hopefully speed up the docs
builds in CI (although the degree to which is limited by the available
resources in the CI nodes) and for local builds.

[1] https://opendev.org/openstack/reno/commit/cc09e3d38c2c1046a529270f133de525c0692809

* Don't install reno with 3.5

Reno 3.0.0 dropped support for python 3.5 and setting a minimum version
above that is causing the python 3.5 jobs to fail. Reno is only used for
docs jobs which run with python 3.7 and we don't need to install it as
part of a normal test run. This commit makes the reno test requirement
only installed on python > 3.5.
mtreinish added a commit to mtreinish/qiskit-core that referenced this pull request Jun 8, 2021
This commit disables the use of parallel sphinx by default in CI. This
was originally turned on by default in Qiskit#4477 to try and improve CI
throughput. While this did increase the docs build time a bit the use of
jupyter-sphinx has proven to not really parallel be safe. There is a
high failure rate caused by jupyter-sphinx racing against itself causing
an error around a zmq address conflict. While the speed boost is useful
in trying to improve CI throughput that benefit is outweighed by the
failure rate.

Fixes Qiskit#5904
mergify Bot added a commit that referenced this pull request Jul 22, 2021
This commit disables the use of parallel sphinx by default in CI. This
was originally turned on by default in #4477 to try and improve CI
throughput. While this did increase the docs build time a bit the use of
jupyter-sphinx has proven to not really parallel be safe. There is a
high failure rate caused by jupyter-sphinx racing against itself causing
an error around a zmq address conflict. While the speed boost is useful
in trying to improve CI throughput that benefit is outweighed by the
failure rate.

Fixes #5904

Co-authored-by: Kevin Krsulich <kevin.krsulich@ibm.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
mtreinish added a commit to mtreinish/qiskit-core that referenced this pull request Jan 6, 2023
With the recent merge of Qiskit#9346 that stopped using the problematic
jupyter-sphinx plugin we're no long blocked from running sphinx-build in
parallel anymore. We had originally enabled this in Qiskit#4477 to get a speed
boost during docs builds. However, we were forced to revert that in Qiskit#6539
because jupyter-sphinx was unreliable and had a race condition when 2
jupyter-execute blocks were run at the same time (see Qiskit#5904 for more
details). Since we've removed the jupyter-sphinx usage that is no longer
a problem and we can reliably run parallel sphinx builds again. This
commit makes that change and changes the default sphinx-build behavior
when run via tox (as is done via ci) to use all available system cores
to perform a sphinx build. Annecdoteally this provides a nice speed up,
on my local workstation a full docs build went from taking 8min 42
seconds for a serial build to 2min 35sec with a parallel build.
mergify Bot added a commit that referenced this pull request Jan 6, 2023
With the recent merge of #9346 that stopped using the problematic
jupyter-sphinx plugin we're no long blocked from running sphinx-build in
parallel anymore. We had originally enabled this in #4477 to get a speed
boost during docs builds. However, we were forced to revert that in #6539
because jupyter-sphinx was unreliable and had a race condition when 2
jupyter-execute blocks were run at the same time (see #5904 for more
details). Since we've removed the jupyter-sphinx usage that is no longer
a problem and we can reliably run parallel sphinx builds again. This
commit makes that change and changes the default sphinx-build behavior
when run via tox (as is done via ci) to use all available system cores
to perform a sphinx build. Annecdoteally this provides a nice speed up,
on my local workstation a full docs build went from taking 8min 42
seconds for a serial build to 2min 35sec with a parallel build.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
king-p3nguin pushed a commit to king-p3nguin/qiskit-terra that referenced this pull request Jan 11, 2023
With the recent merge of Qiskit#9346 that stopped using the problematic
jupyter-sphinx plugin we're no long blocked from running sphinx-build in
parallel anymore. We had originally enabled this in Qiskit#4477 to get a speed
boost during docs builds. However, we were forced to revert that in Qiskit#6539
because jupyter-sphinx was unreliable and had a race condition when 2
jupyter-execute blocks were run at the same time (see Qiskit#5904 for more
details). Since we've removed the jupyter-sphinx usage that is no longer
a problem and we can reliably run parallel sphinx builds again. This
commit makes that change and changes the default sphinx-build behavior
when run via tox (as is done via ci) to use all available system cores
to perform a sphinx build. Annecdoteally this provides a nice speed up,
on my local workstation a full docs build went from taking 8min 42
seconds for a serial build to 2min 35sec with a parallel build.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Cryoris pushed a commit to Cryoris/qiskit-terra that referenced this pull request Jan 12, 2023
With the recent merge of Qiskit#9346 that stopped using the problematic
jupyter-sphinx plugin we're no long blocked from running sphinx-build in
parallel anymore. We had originally enabled this in Qiskit#4477 to get a speed
boost during docs builds. However, we were forced to revert that in Qiskit#6539
because jupyter-sphinx was unreliable and had a race condition when 2
jupyter-execute blocks were run at the same time (see Qiskit#5904 for more
details). Since we've removed the jupyter-sphinx usage that is no longer
a problem and we can reliably run parallel sphinx builds again. This
commit makes that change and changes the default sphinx-build behavior
when run via tox (as is done via ci) to use all available system cores
to perform a sphinx build. Annecdoteally this provides a nice speed up,
on my local workstation a full docs build went from taking 8min 42
seconds for a serial build to 2min 35sec with a parallel build.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants