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

pin Sphinx below 8.2.0 #155

Closed
24 tasks done
jameslamb opened this issue Feb 21, 2025 · 4 comments
Closed
24 tasks done

pin Sphinx below 8.2.0 #155

jameslamb opened this issue Feb 21, 2025 · 4 comments
Assignees

Comments

@jameslamb
Copy link
Member

jameslamb commented Feb 21, 2025

Description

Sphinx 8.2.0 was released recently (release notes). nbsphinx is not compatible with it, and so some docs builds across RAPIDS started breaking like this:

AttributeError: module 'sphinx.util' has no attribute 'console'

...

sphinx.errors.ExtensionError: Handler <function html_collect_pages at 0x7f66eddf6a20> for event 'html-collect-pages' threw an exception (exception: module 'sphinx.util' has no attribute 'console')

(example build link from rmm)

That's been reported in spatialaudio/nbsphinx#825

And there are some proposed upstream fixes:

But to unblock RAPIDS CI, this issue documents the work of pinning to an older sphinx until that upstream issue is resolved.

Benefits of this work

  • unblocks RAPIDS CI

Acceptance Criteria

  • docs builds are running successfully across RAPIDS

Approach

(GitHub task lists are going away 😭 )

@jameslamb jameslamb self-assigned this Feb 21, 2025
@bdice
Copy link
Contributor

bdice commented Feb 21, 2025

@jameslamb Let's filter this to only pin sphinx for repositories using nbsphinx. Here is a list:

https://github.com/search?q=org%3Arapidsai+%2F-+nbsphinx%2F+path%3Adependencies.yaml&type=code

@jameslamb
Copy link
Member Author

It's even narrower than that. For example cudf uses nbsphinx but its docs builds are succeeding with sphinx 8.2.0:

https://github.com/rapidsai/cudf/actions/runs/13446743133/job/37575505715?pr=18058#step:10:6197

That list in the issue isn't a list of repos to change, it's a list of repos to check. I'm not just going to blanket-update them for places that don't need it, I promise.

rapids-bot bot pushed a commit to rapidsai/cugraph-docs that referenced this issue Feb 21, 2025
Contributes to rapidsai/build-planning#155

Fixes docs builds by temporarily putting a ceiling on `sphinx`.

Authors:
  - James Lamb (https://github.com/jameslamb)

Approvers:
  - Bradley Dice (https://github.com/bdice)
  - Don Acosta (https://github.com/acostadon)

URL: #100
rapids-bot bot pushed a commit to rapidsai/cuxfilter that referenced this issue Feb 21, 2025
Contributes to rapidsai/build-planning#155

Fixes docs builds by temporarily putting a ceiling on `sphinx`.

Authors:
  - James Lamb (https://github.com/jameslamb)

Approvers:
  - Bradley Dice (https://github.com/bdice)

URL: #665
rapids-bot bot pushed a commit to rapidsai/cucim that referenced this issue Feb 21, 2025
Contributes to rapidsai/build-planning#155

Fixes docs builds by temporarily putting a ceiling on `sphinx`.

Authors:
  - James Lamb (https://github.com/jameslamb)

Approvers:
  - Bradley Dice (https://github.com/bdice)

URL: #840
rapids-bot bot pushed a commit to rapidsai/ucx-py that referenced this issue Feb 21, 2025
Contributes to rapidsai/build-planning#155

Fixes docs builds by temporarily putting a ceiling on `sphinx`.

## Notes for Reviewers

In case you're wondering why you don't see `dependencies.yaml` changes... this project uses readthedocs to builds its docs.

* builds: https://app.readthedocs.org/projects/ucx-py/builds/
* config: https://github.com/rapidsai/ucx-py/blob/674e731c21e3a85045239a943248b23dab019619/.readthedocs.yml#L16-L17

Authors:
  - James Lamb (https://github.com/jameslamb)

Approvers:
  - Bradley Dice (https://github.com/bdice)

URL: #1119
rapids-bot bot pushed a commit to rapidsai/nx-cugraph that referenced this issue Feb 24, 2025
While working on rapidsai/build-planning#155, I realized that this repo no longer has any docs builds.

As far as I can tell, it's just relying on `cugraph-docs` to build and publish its docs:

* https://github.com/rapidsai/cugraph-docs/tree/branch-25.04/docs/cugraph-docs/source/nx_cugraph

If I'm right about that, then this repo doesn't need any `dependencies.yaml` entries for `sphinx` and related dependencies. This proposes removing those, along with other configuration that looks unused (possibly left-over from when this was ported out of https://github.com/rapidsai/cugraph).

## Notes for Reviewers

It looks to me like`nx-cugraph` API docs are missing, maybe unintentionally. Opened rapidsai/cugraph-docs#101 to discuss that.

I think this PR can be merged without a resolution to that conversation... if we want them, we'd likely build those docs with `sphinx.ext.autosummary` as is done for other Python docs there ([example for cugraph](https://github.com/rapidsai/cugraph-docs/blob/debf03cdb5e549b66a6f3b75d95ec836a159ea33/docs/cugraph-docs/source/api_docs/cugraph/tree.rst?plain=1#L17)).

Authors:
  - James Lamb (https://github.com/jameslamb)

Approvers:
  - Jake Awe (https://github.com/AyodeAwe)
  - Erik Welch (https://github.com/eriknw)

URL: #93
@jameslamb
Copy link
Member Author

While working through this, @seberg found one other way sphinx 8.2.0 broke some docs builds. The legate-{boost,dataframe,raft} projects symlink CONTRIBUTING.md and README.md from the root of their repos into the source/ directory for their Sphinx builds.

Where those documents had references like [README.md](README.md), starting with sphinx==8.2.0 (still using myst-parser==4.0.1) sphinx-build raised warnings like these:

/__w/legate-raft/legate-raft/docs/source/CONTRIBUTING.md:25: WARNING: Unknown source document '/__w/legate-raft/legate-raft/README' [myst.xref_missing]
/__w/legate-raft/legate-raft/docs/source/README.md:49: WARNING: Unknown source document '/__w/legate-raft/legate-raft/CONTRIBTING' [myst.xref_missing]

example: rapidsai/legate-raft#14 (comment)

Not sure what the root cause was, but pinning back to sphinx<8.2.0 appeared to fix that.

@jameslamb
Copy link
Member Author

This is done, thanks everyone.

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

No branches or pull requests

2 participants