Skip to content

Pinning needed to build docs with Python 3.10 or newer#13587

Closed
eerovaher wants to merge 3 commits intoastropy:mainfrom
eerovaher:readthedocs-update
Closed

Pinning needed to build docs with Python 3.10 or newer#13587
eerovaher wants to merge 3 commits intoastropy:mainfrom
eerovaher:readthedocs-update

Conversation

@eerovaher
Copy link
Member

@eerovaher eerovaher commented Aug 30, 2022

Description

Ubuntu and Python versions used by Read the Docs are updated. Python 3.10 is incompatible with sphinx 3.5, so its latest allowed version had to be bumped down even further.

See #11725 (comment) and the preceding comments for more context.

Checklist for package maintainer(s)

This checklist is meant to remind the package maintainer(s) who will review this pull request of some common things to look for. This list is not exhaustive.

  • Do the proposed changes actually accomplish desired goals?
  • Do the proposed changes follow the Astropy coding guidelines?
  • Are tests added/updated as required? If so, do they follow the Astropy testing guidelines?
  • Are docs added/updated as required? If so, do they follow the Astropy documentation guidelines?
  • Is rebase and/or squash necessary? If so, please provide the author with appropriate instructions. Also see "When to rebase and squash commits".
  • Did the CI pass? If no, are the failures related? If you need to run daily and weekly cron jobs as part of the PR, please apply the Extra CI label.
  • Is a change log needed? If yes, did the change log check pass? If no, add the no-changelog-entry-needed label. If this is a manual backport, use the skip-changelog-checks label unless special changelog handling is necessary.
  • Is this a big PR that makes a "What's new?" entry worthwhile and if so, is (1) a "what's new" entry included in this PR and (2) the "whatsnew-needed" label applied?
  • Is a milestone set? Milestone must be set but astropy-bot check might be missing; do not let the green checkmark fool you.
  • At the time of adding the milestone, if the milestone set requires a backport to release branch(es), apply the appropriate backport-X.Y.x label(s) before merge.

@pllim
Copy link
Member

pllim commented Aug 30, 2022

"Allowed failure" failure is unrelated. Waiting on RTD.

@pllim
Copy link
Member

pllim commented Aug 30, 2022

Does this really need backporting? Do we really need to build release branches docs with Python 3.10 ? 💭

@eerovaher
Copy link
Member Author

I added the backport labels because the last commits that edited the Read the Docs configuration were backported, but I don't have any other reasons beyond that.

@pllim
Copy link
Member

pllim commented Aug 30, 2022

I am a little afraid reducing the pinned version will wreck havoc in LTS. And if we can resolve the real problem before v5.2 and backport that instead, then backport of this is irrelevant.

@saimn , what do you think?

@pllim pllim modified the milestones: v5.0.5, v5.2 Sep 7, 2022
Copy link
Member

@pllim pllim left a comment

Choose a reason for hiding this comment

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

Let's not backport for now. We can always backport if there is a real need. Thanks!

@pllim
Copy link
Member

pllim commented Sep 7, 2022

Can you pls rebase and see if CI will be green? Thanks!

Ubuntu and Python versions used by `readthedocs` are updated. Python
3.10 is incompatible with `sphinx` 3.5, so its latest allowed version
had to be bumped down even further. [ci skip]
@pllim
Copy link
Member

pllim commented Sep 9, 2022

Looks like maybe this warning is failing the build. Not sure where it is coming from.

WARNING: while setting up extension sphinx.addnodes: node class 'meta' is already registered, its visitors will be overridden

The pin should be removed when `sphinx` is unpinned. [ci skip]
@eerovaher
Copy link
Member Author

sphinx-doc/sphinx#9841 (comment) recommends that we either upgrade sphinx or downgrade docutils to 0.17. I've made a commit to see if pinning docutils works.

docs =
sphinx<4
sphinx<3.5
docutils<0.18 # This should be removed when `sphinx` is unpinned, #11725
Copy link
Member

Choose a reason for hiding this comment

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

Does the indentation mean anything?

@pllim
Copy link
Member

pllim commented Sep 9, 2022

I think Tom R and Stuart M are concerned about the pinning. Lemme ping them for review.

@pllim pllim requested review from Cadair and astrofrog September 9, 2022 21:11
@astrofrog
Copy link
Member

Is there any need to update RTD to use Python 3.10? (It works fine with 3.9, right?) Why not wait until we have fixed compatibility with Sphinx 4?

@eerovaher
Copy link
Member Author

It was a good idea to open this pull request so that we would know for sure what it takes to build the documentation on Python 3.10 without any warnings. But because it turns out that we would have to pin two packages I would tend to agree that merging this pull request is not worth it.

@pllim, you suggested opening this pull request, so if you agree with what has been said then feel free to close it.

@pllim pllim changed the title Update Read the Docs build system Pinning needed to build docs with Python 3.10 or newer Sep 12, 2022
@pllim
Copy link
Member

pllim commented Sep 12, 2022

OK, closing then. Thanks for the work anyway, @eerovaher ! Now, anyone who wants to build doc in Python 3.10 will know what it takes. 😃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants