Skip to content
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

Disable parallel build #14796

Merged

Conversation

vyasr
Copy link
Contributor

@vyasr vyasr commented Jan 19, 2024

Description

A new release of pydata_sphinx_theme from last night includes pydata/pydata-sphinx-theme#1642, which marks the theme as unsafe for parallel writing.

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@vyasr vyasr added doc Documentation non-breaking Non-breaking change labels Jan 19, 2024
@vyasr vyasr self-assigned this Jan 19, 2024
@vyasr vyasr requested a review from a team as a code owner January 19, 2024 13:48
@github-actions github-actions bot added the ci label Jan 19, 2024
@vyasr
Copy link
Contributor Author

vyasr commented Jan 19, 2024

/merge

@rapids-bot rapids-bot bot merged commit 8fa2945 into rapidsai:branch-24.02 Jan 19, 2024
67 checks passed
@vyasr vyasr deleted the chore/disable_parallel_doc_build branch January 19, 2024 15:35
@vyasr vyasr mentioned this pull request Jan 24, 2024
3 tasks
rapids-bot bot pushed a commit that referenced this pull request Jan 26, 2024
cudf docs are generally very slow to build. This problem was exacerbated by the recent addition of libcudf C++ API documentation to the Sphinx build. This PR aims to ameliorate this issue for both local and CI builds by making the following changes:
- The XML parsing logic used to clean up doxygen XML now avoids rewriting files unless they are actually modified. This prevents Sphinx from doing extra work during a second (text) build after the first (HTML) build.
- toctrees on the generated API pages are removed (see https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/performance.html#selectively-remove-pages-from-your-sidebar).
- Text docs are disabled in PRs and only occur in nightly/branch builds.

The net result is roughly a halving of the CI run time for the builds (~40 min to ~20 min). Further potential optimizations:
- Reenabling parallel builds. We cannot fully revert #14796 until the theme is fixed, but if we can put in a warning filter we could reenable parallelism and have it work on just the reading steps of the build and not the writes. That would still improve performance.
- Better caching of notebooks. [nbsphinx supports caching](https://myst-nb.readthedocs.io/en/latest/computation/execute.html#execute-cache), but there are various caveats w.r.t. 1) local vs CI builds, 2) proper cache invalidation, e.g. when notebook source does not change but underlying libraries do, and 3) forcing rebuilds. Alternatively, we could enable some environment variable that allows devs to turn off notebook execution locally. Making it opt-in would make the default behavior safe while providing an escape hatch for power users who want the builds to be fast.

Authors:
  - Vyas Ramasubramani (https://github.com/vyasr)

Approvers:
  - AJ Schmidt (https://github.com/ajschmidt8)
  - Lawrence Mitchell (https://github.com/wence-)

URL: #14856
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc Documentation non-breaking Non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants