-
Notifications
You must be signed in to change notification settings - Fork 329
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
Test with sphinx 6 #1135
Test with sphinx 6 #1135
Conversation
"sphinx-togglebutton", | ||
# Install nbsphinx in case we want to test it locally even though we can't load | ||
# it at the same time as MyST-NB. | ||
"nbsphinx", | ||
"ipyleaflet", | ||
] | ||
doc = [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we are now missing rich
in the documentation build on RDT
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yep I saw that but I don't know why. [doc]
inherits from [doc_base]
so rich
ought to be installed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
when the pyproject.toml file specifies pydata-sphinx-theme[doc_base]
is it equivalent to .[doc-base]
or is it looking to the latest available on pipy ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ahh, good point. I think @nicoa made this point in another issue and I still forgot 🤦🏻
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry that was an open question, I actually don't know what is the syntaxe to use to nest extra_require
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried with .[whatever]
and it fails. If I understand pypa/pip#10393 (comment) correctly then it actually should work (with pip >= 21.2) to use pydata-sphinx-theme[whatever]
and it will look within the local pyproject.toml
file (instead of looking at only released versions on PyPI), so I don't know why it's not working like that here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, addressed this somewhere (that we first need a (pre-)release) - thanks for pointing to the pip issue, that is a good hint. Unfortunate that it didn't work out still :-(
cross-link: #1113 (comment)
41a598f
to
f9cb720
Compare
In the end, I don't think this approach is very good. I'm going to close and re-think our strategy here. Also (note to self) we already have cc @jarrodmillman, do you have any bright ideas about how to solve this? If you haven't been following along, the TL;DR is that two of our doc-build dependencies ( |
just my 2 cents here:
|
Why don't we make our test suite only depend on minimal dependencies, and for all of these extensions we have CSS support for, we can use our docs to see how they look. |
That's an option. I tried the following:
and only two tests fail (the last two in the file, |
I'm wary of this part:
because in my experience, relying on people to look at built docs for QA on (almost) every PR is unreliable --- partly because people are busy/lazy, and partly because unforeseen side effects of a change might show up on a page that is not expected to have been affected, so even if a conscientious reviewer does look at the docs, they might not look carefully enough at all the pages such that they would notice/catch that unforeseen side effect. That said, it's basically what we're already doing 😅 so it's not like a big step backwards... it just means we are deciding that in future we won't add any new tests that use our optional dependencies. In other words, we're committing to relying on (1) a successful Sphinx build to indicate everything is mostly OK, and (2) users telling us when something looks weird in our docs (or their sites). |
yeah I think the main thing is that we aren't actually testing for functionality of those extensions in our test suite anyway, we still mostly just use the eye-test and the github issues test to know when there are issues with a particular library (especially since "supporting a library" generally just means having dedicated CSS for it). |
This PR hopefully gets us a CI environment that runs Sphinx 6. It does this by:
pyproject.toml
, separates outmystnb
andsphinx-design
because they put an upper pin on sphinx. This allows us to dopip install -e .[test]
and get an environment that includes sphinx 6 instead of sphinx 5. I cherry-picked a commit from @nicoa from ENH: split doc generation to avoid sphinx-design requiring nonnewest … #1113 to give credit; but this will supersede that PR..github/workflows/tests.yml
to remove redundancy (i.e., don't need py 3.7 in the matrix anymore) and to standardize the other (non-matrix) jobs to all use the same Python version.closes #1113