Skip to content

Conversation

@pllim
Copy link
Member

@pllim pllim commented Dec 22, 2025

Description

This pull request is to address confusing naming of "devinfra" and add workflow to test against Sphinx RC on demand, because now Sphinx developer pings us during its RC period but the RC period is very short.

Fixes #19078

  • By checking this box, the PR author has requested that maintainers do NOT use the "Squash and Merge" button. Maintainers should respect this when possible; however, the final decision is at the discretion of the maintainer that merges the PR.

as bsipocz requested so it is less confusing
@github-actions
Copy link
Contributor

Thank you for your contribution to Astropy! 🌌 This checklist is meant to remind the package maintainers who will review this pull request of some common things to look for.

  • 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 instructions for rebase and squash.
  • 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. Codestyle issues can be fixed by the bot.
  • 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?
  • 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.

Copy link
Member

@bsipocz bsipocz left a comment

Choose a reason for hiding this comment

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

Looks good, but let's double check the actual CI and jobs as I may not picked up on everything.

[ci skip]

Co-authored-by: Brigitta Sipőcz <b.sipocz@gmail.com>
@pllim
Copy link
Member Author

pllim commented Dec 22, 2025

let's double check the actual CI

Of course!

@bsipocz
Copy link
Member

bsipocz commented Dec 22, 2025

OK, so this works now except it doesn't work as sphinx-design upper pins...

@pllim
Copy link
Member Author

pllim commented Dec 23, 2025

sphinx-design upper pins

Is there a way to convince them to remove the pins? If not, we might have to build it from source, or force Sphinx to reinstall after downgrade. Ideas welcome!

@bsipocz
Copy link
Member

bsipocz commented Dec 23, 2025

Is there a way to convince them to remove the pins? If not, we might have to build it from source, or force Sphinx to reinstall after downgrade. Ideas welcome!

I even had hard time removing the pins for the ones I do maintain in that ecosystem, so I don't really think it's a realistic expectation, but I suppose we could just hack out ways around it with the reinstall the pre-release in the command phase when everything else is already set.

Or just stop using sphinx-design 🤷‍♀️

@pllim
Copy link
Member Author

pllim commented Dec 23, 2025

Re: sphinx-design -- It was suggested by pydata-sphinx-theme (e.g., https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/web-components.html) and I see that numpy also uses it. Is there an equivalent replacement?

and add description for docdeps
@bsipocz
Copy link
Member

bsipocz commented Dec 23, 2025

Honestly, the infra stack is worse than a house of cards, somehow a lot of not-exactly-well-maintained packages got added as dependencies. To be clear that is not a criticism of those small infrastructure package but for those who made the decisions of pulling them in here as dependencies. -- switching to sphinx9 should not be difficult at all once we have made sphinx-automodapi and sphinx-astropy compatible but now instead we depend on a lot of third party packages that haven't made a release in 1+ year and/or even upper pin versions.

@pllim
Copy link
Member Author

pllim commented Dec 23, 2025

Tsk tsk. Now I wonder if this workflow is worth the maintenance...

@bsipocz
Copy link
Member

bsipocz commented Dec 23, 2025

Tsk tsk. Now I wonder if this workflow is worth the maintenance...

I don't think that the main issue is with the workflow but with the fact that after some real and good efforts your infrastructure flowchart/drawing has not been taken seriously any more and a lot more packages and approaches got added to it making everything both more obscure as well as expose it to more risk of third party maintenance pattern.

Co-authored-by: P. L. Lim <2090236+pllim@users.noreply.github.com>
@bsipocz bsipocz marked this pull request as ready for review December 23, 2025 20:35
Copy link
Member

@bsipocz bsipocz left a comment

Choose a reason for hiding this comment

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

OK, this one is beaten to a pulp and now working as expected, so I go ahead and merge it.

There are 114 warnings in the sphinx build but fixing any DOC content is beyond scope of an infra PR; so I would suggest looking into those separately.

https://github.com/astropy/astropy/actions/runs/20470212355/job/58823559988?pr=19092#step:10:4593

@bsipocz
Copy link
Member

bsipocz commented Dec 23, 2025

CI passed in second-to-last commit, so I go ahead with the merge as is.

@bsipocz bsipocz merged commit fb67ee1 into astropy:main Dec 23, 2025
1 of 2 checks passed
@pllim pllim deleted the dev-infra-and-docs branch December 23, 2025 20:44
@pllim
Copy link
Member Author

pllim commented Dec 23, 2025

Thanks for all your help and carrying over the finish line!

As for the doc build warnings... We will worry about it if they hit RTD. I cannot tell if it is because we messed with the installs or if they are real problems to fix. Maybe they will magically go away when all the upstream stuff unpin each other.

@bsipocz
Copy link
Member

bsipocz commented Dec 23, 2025

I don't think it's related to any of the small packages we hit and got all these papercut from but actual changes that will indeed affect RTD, too.
We may actually want to add the -W to this build, as that would better show how much of a problem we're facing with a new sphinx release.

@pllim
Copy link
Member Author

pllim commented Dec 23, 2025

Here is the log with -W. I see two kinds of warnings:

https://github.com/astropy/astropy/actions/runs/20471544623/job/58827826248

@pllim
Copy link
Member Author

pllim commented Dec 23, 2025

Oh wait, if I scroll up, there are more. Does not say where it is coming from, but this bunch appears after "reading sources... whatsnew/index" 🤷‍♀️

  • WARNING: don't know which module to import for autodocumenting 'XXX' [autodoc] --
  • WARNING: :1: (WARNING/2) Explicit markup ends without a blank line; unexpected unindent. [docutils]

This one is more specific:

WARNING: error while formatting signature for astropy.wcs.WCSBase: list assignment index out of range [autodoc]`
.../astropy/docs/wcs/reference_api.rst:21: WARNING: failed to import object astropy.wcs.WCSBase

I think the WCSBase is generated using magic from mdboom from a long time ago:

def generate_c_docstrings():

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.

ENH: devinfra workflow should be separated out and include sphinxdev, too

2 participants