nox: readthedocs broken

Describe the bug

The docs are broken, the “stable” release did not build after the recent release (missing from changelog), with:

AttributeError: 'HTMLParser' object has no attribute 'unescape'

See https://readthedocs.org/projects/nox/builds/

This should be fixable by setting a minimum version on some of the docs dependencies (why are those mixed with the test dependencies?) - readthedocs installs old versions of things by default, and then it’s a no-op if you don’t force an upgrade. Why they install a version of (something that uses HTML) that doesn’t support Python 3.9+, I’m not sure, but forcing sphinx>=4 or something like that will likely fix the problem. Downgrading to Python 3.8 for the docs would fix it, too, but that’s the wrong way to initially try to fix it.

I would highly recommend enabling PR readthedocs builds (in the readthedocs settings), they are very handy for catching bugs in the docs builds.

Also, it looks like “latest” hasn’t built in a year or more, I’m guessing it was never changed to main from master, perhaps? It makes “latest” much older than “stable”.

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 26

Most upvoted comments

Hello all,

Heads up: I’ll push the 2022.1.7.post1 tag tomorrow to fix the problem with our docs being outdated.

Please give a shout if you have any objections. I don’t have access to Read the Docs, so this is the only viable option right now to get our docs up-to-date.

cc @theacodes @dhermes

OT: pip 22.0 (2022-01-29) officially switched to Nox for automation 🎉

You can push a tag without doing a PyPI release?

Our CI publishes to PyPI when a tag is pushed:

https://github.com/theacodes/nox/blob/17a6a15c0ea1cc056140f5d37a467477ce05f5a5/.github/workflows/ci.yml#L61-L69

OT: pip 22.0 (2022-01-29) officially switched to Nox for automation 🎉

🥳 pypa/pip#10693

Stable docs are up-to-date now.

2022.1.7.post1 only includes the two docs fixes that came after 2022.1.7.

Interestingly, the PyPI release did not happen. The version number in setup.cfg did not change, so while the tag triggered the deploy job in CI, PyPI rejected the upload with “File already exists”. Which is just as well 😃

Make sure it doesn’t include #526 😉

There’s a third method: just point rtd stable at main, click rebuild, then put it back to releases only.