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

Remove upperbound on sphinx #661

Merged
merged 4 commits into from
May 25, 2022
Merged

Conversation

jarrodmillman
Copy link
Collaborator

@jarrodmillman jarrodmillman commented May 11, 2022

See #660.

@choldgraf
Copy link
Collaborator

choldgraf commented May 12, 2022

Hmmm - I am not inherently opposed to removing the upper bound, though I think the reason we were using it in the first place is that Sphinx tends to fairly often introduce breaking changes in its major releases (anecdotally much more often than most packages). So I worry that telling people "the theme supports any latest version of Sphinx" without actually testing that this is true for the next major version, will confuse people when things break

I'm curious how numpy handles this kind of thing? Does it have "canary" CI/CD jobs that run pre-release versions of major dependencies, will not block PRs?

@choldgraf
Copy link
Collaborator

What do you or others think about:

  • removing the hard version pin
  • noting in the docs the versions of sphinx that are supported and explicitly saying "no promises" for any other versions
  • adding a GitHub action that runs on CRON weekly against the main branch of sphinx?

@jarrodmillman jarrodmillman reopened this May 16, 2022
@choldgraf
Copy link
Collaborator

choldgraf commented May 25, 2022

Note: I am also fine just removing the upper pin in general, if we also:

  • Document clearly in these docs that we don't promise support for the latest version of Sphinx.
  • Open an issue to track adding a GitHub Actions job for testing on latest w/ Sphinx

Any objections to that?

@jarrodmillman
Copy link
Collaborator Author

Open an issue to track adding a GitHub Actions job for testing on latest w/ Sphinx

Currently, we test

  tests:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest]
        python-version: [3.7, 3.8, 3.9, "3.10"]
        # Manually specify one OSX + Windows build to make sure it works there.
        include:
          - python-version: "3.10"
            dev: true

prereleases of sphinx and jinja2

      - name: Install pre-release dependencies
        if: ${{ matrix.dev }}
        run: pip install --upgrade --pre sphinx jinja2

on Python 3.10. @choldgraf This seems sufficient to me. Sphinx 1, 2, 3, 4, and 5 all had prereleases.

@jarrodmillman
Copy link
Collaborator Author

LGTM. Thanks @choldgraf!

@jarrodmillman jarrodmillman added this to the 0.9 milestone May 25, 2022
@choldgraf
Copy link
Collaborator

I just updated this one a little bit and added extra information about a rough policy for Sphinx, I hope that's OK with you @jarrodmillman !

@jarrodmillman jarrodmillman merged commit 74d68d6 into pydata:master May 25, 2022
@jarrodmillman jarrodmillman deleted the sphinx5 branch May 26, 2022 05:33
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

Successfully merging this pull request may close these issues.

2 participants