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

Require weaker Sphinx dependency for sagelib #38627

Merged
merged 1 commit into from
Sep 15, 2024

Conversation

tobiasdiez
Copy link
Contributor

The version constraint added in #38549 broke the conda ci workflow and added an unnecessarily strict version constraint for sphinx as a dependency of sagelib (as opposed to sage-the-docs).

This is fixed by providing the old version constraint for sphinx in setup.cfg, but with v8 now allowed.

Alternatively, the stricter version constraint should only be added to the sage-the-docs package.

📝 Checklist

  • The title is concise and informative.
  • The description explains in detail what this PR is about.
  • I have linked a relevant issue or discussion.
  • I have created tests covering the changes.
  • I have updated the documentation and checked the documentation preview.

⌛ Dependencies

@kiwifb
Copy link
Member

kiwifb commented Sep 6, 2024

My update to sage_autodoc.py does require sphinx 7.4.x at the minimum otherwise building the doc breaks. Breaking doc building would also break CI (somewhere else). Now I had to walk back some changes in a follow up at #38619 to continue supporting python 3.9 :( If you are telling me that enables lower version of sphinx as well, then sure.

Is the problem that you do not an appropriate version of sphinx in conda or something like that?

@tobiasdiez
Copy link
Contributor Author

My update to sage_autodoc.py does require sphinx 7.4.x at the minimum otherwise building the doc breaks. Breaking doc building would also break CI (somewhere else). Now I had to walk back some changes in a follow up at #38619 to continue supporting python 3.9 :( If you are telling me that enables lower version of sphinx as well, then sure.

The version constraint in setup.cfg is not for building the documentation but only for the very minimal usage of sphinx in sage-the-library (namely in https://github.com/sagemath/sage/blob/develop/src/sage/misc/sphinxify.py). That file didn't saw any serious updates in ages, so it should still work with v5 and 6.

@tobiasdiez tobiasdiez added the p: CI Fix merged before running CI tests label Sep 6, 2024
@kiwifb
Copy link
Member

kiwifb commented Sep 6, 2024

I hear you on the sphinxify bit. But CI also builds documentation, there is not a process in sage's build system to have one sphinx to build sage and then update it to build the documentation.

@tobiasdiez
Copy link
Contributor Author

tobiasdiez commented Sep 6, 2024

Sage-the-distro (and the build system included in it), the ci doc build as well as the modularization sage-the-doc package will still use the stronger version constraint that you set. The changes in this PR only affect people trying to use only the library sagemath-standard (say via pypi).

Copy link

github-actions bot commented Sep 6, 2024

Documentation preview for this PR (built with commit ea94761; changes) is ready! 🎉
This preview will update shortly after each push to this PR.

@kiwifb
Copy link
Member

kiwifb commented Sep 6, 2024

OK, I am getting that argument. Although it is completely disjoint from the CI which would mean the CI label you added is misleading. But I am guessing you are also telling me the conda CI does not build the doc and therefore can use your lower constraint?

@tobiasdiez
Copy link
Contributor Author

OK, I am getting that argument. Although it is completely disjoint from the CI which would mean the CI label you added is misleading. But I am guessing you are also telling me the conda CI does not build the doc and therefore can use your lower constraint?

Exactly, the conda workflow is still using sphinx v7.3 (but doesn't build the docs). The ci label is so that this PR get applied to the other PRs so that the "verify dependencies" step passes there.
https://github.com/sagemath/sage/actions/runs/10732023722/job/29763038707#step:9:9
vs
https://github.com/sagemath/sage/actions/runs/10734686493/job/29770380015#step:9:9

@kiwifb
Copy link
Member

kiwifb commented Sep 6, 2024

I see, and this particular file inherit my constraint. I must say I am always wary of dealing with sage-the-distro and avoid it as much as possible. This is clearly one of those case where I'd rather not be involved. But now that I have done all that digging on the details of your rationale, it'd be silly not to approve.

Copy link
Member

@kiwifb kiwifb left a comment

Choose a reason for hiding this comment

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

Good ahead if it really helps CI.

vbraun pushed a commit to vbraun/sage that referenced this pull request Sep 8, 2024
    
<!-- ^ Please provide a concise and informative title. -->
<!-- ^ Don't put issue numbers in the title, do this in the PR
description below. -->
<!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method
to calculate 1 + 2". -->
<!-- v Describe your changes below in detail. -->
<!-- v Why is this change required? What problem does it solve? -->
<!-- v If this PR resolves an open issue, please link to it here. For
example, "Fixes sagemath#12345". -->

The version constraint added in
sagemath#38549 broke the conda ci workflow
and added an unnecessarily strict version constraint for sphinx as a
dependency of sagelib (as opposed to sage-the-docs).

This is fixed by providing the old version constraint for sphinx in
`setup.cfg`, but with `v8` now allowed.

Alternatively, the stricter version constraint should only be added to
the sage-the-docs package.

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->

- [ ] The title is concise and informative.
- [ ] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation and checked the documentation
preview.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on. For example,
-->
<!-- - sagemath#12345: short description why this is a dependency -->
<!-- - sagemath#34567: ... -->
    
URL: sagemath#38627
Reported by: Tobias Diez
Reviewer(s): François Bissey
vbraun pushed a commit to vbraun/sage that referenced this pull request Sep 8, 2024
    
<!-- ^ Please provide a concise and informative title. -->
<!-- ^ Don't put issue numbers in the title, do this in the PR
description below. -->
<!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method
to calculate 1 + 2". -->
<!-- v Describe your changes below in detail. -->
<!-- v Why is this change required? What problem does it solve? -->
<!-- v If this PR resolves an open issue, please link to it here. For
example, "Fixes sagemath#12345". -->

The version constraint added in
sagemath#38549 broke the conda ci workflow
and added an unnecessarily strict version constraint for sphinx as a
dependency of sagelib (as opposed to sage-the-docs).

This is fixed by providing the old version constraint for sphinx in
`setup.cfg`, but with `v8` now allowed.

Alternatively, the stricter version constraint should only be added to
the sage-the-docs package.

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->

- [ ] The title is concise and informative.
- [ ] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation and checked the documentation
preview.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on. For example,
-->
<!-- - sagemath#12345: short description why this is a dependency -->
<!-- - sagemath#34567: ... -->
    
URL: sagemath#38627
Reported by: Tobias Diez
Reviewer(s): François Bissey
vbraun pushed a commit to vbraun/sage that referenced this pull request Sep 10, 2024
    
<!-- ^ Please provide a concise and informative title. -->
<!-- ^ Don't put issue numbers in the title, do this in the PR
description below. -->
<!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method
to calculate 1 + 2". -->
<!-- v Describe your changes below in detail. -->
<!-- v Why is this change required? What problem does it solve? -->
<!-- v If this PR resolves an open issue, please link to it here. For
example, "Fixes sagemath#12345". -->

The version constraint added in
sagemath#38549 broke the conda ci workflow
and added an unnecessarily strict version constraint for sphinx as a
dependency of sagelib (as opposed to sage-the-docs).

This is fixed by providing the old version constraint for sphinx in
`setup.cfg`, but with `v8` now allowed.

Alternatively, the stricter version constraint should only be added to
the sage-the-docs package.

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->

- [ ] The title is concise and informative.
- [ ] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation and checked the documentation
preview.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on. For example,
-->
<!-- - sagemath#12345: short description why this is a dependency -->
<!-- - sagemath#34567: ... -->
    
URL: sagemath#38627
Reported by: Tobias Diez
Reviewer(s): François Bissey
vbraun pushed a commit to vbraun/sage that referenced this pull request Sep 12, 2024
    
<!-- ^ Please provide a concise and informative title. -->
<!-- ^ Don't put issue numbers in the title, do this in the PR
description below. -->
<!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method
to calculate 1 + 2". -->
<!-- v Describe your changes below in detail. -->
<!-- v Why is this change required? What problem does it solve? -->
<!-- v If this PR resolves an open issue, please link to it here. For
example, "Fixes sagemath#12345". -->

The version constraint added in
sagemath#38549 broke the conda ci workflow
and added an unnecessarily strict version constraint for sphinx as a
dependency of sagelib (as opposed to sage-the-docs).

This is fixed by providing the old version constraint for sphinx in
`setup.cfg`, but with `v8` now allowed.

Alternatively, the stricter version constraint should only be added to
the sage-the-docs package.

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->

- [ ] The title is concise and informative.
- [ ] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation and checked the documentation
preview.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on. For example,
-->
<!-- - sagemath#12345: short description why this is a dependency -->
<!-- - sagemath#34567: ... -->
    
URL: sagemath#38627
Reported by: Tobias Diez
Reviewer(s): François Bissey
@vbraun vbraun merged commit c646320 into sagemath:develop Sep 15, 2024
17 of 20 checks passed
@tobiasdiez
Copy link
Contributor Author

A bit late, but thanks @kiwifb for the review!

@tobiasdiez tobiasdiez deleted the patch-2 branch September 17, 2024 11:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
p: blocker / 1 p: CI Fix merged before running CI tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants