Skip to content

Conversation

@tobiasdiez
Copy link
Contributor

@tobiasdiez tobiasdiez commented Sep 17, 2025

As was pointed out on sage-devel, the creation of the release stopped working.

It appears there are actual multiple problems:

  • It tries to download tarballs from github (https://github.com/sagemath/sage/actions/runs/17717539782/job/50344525416#step:5:13), but since we haven't had a good release including tarballs in a while - this fails.
  • It checks that Volker uploaded some tarballs to the other mirrors before creating a release. If that's not done, or the download chooses an older mirror or something else goes wrong, then no github release is created at all
  • Some sage packages that are published independently had a symlink to the root version file as package-version.

All of these issues are fixed as follows:

  • Allow to fallback to upstream links to download tarballs
  • Remove those failing checks (if someone wants to check the integrity of the mirror network, this is better done in a separate workflow)
  • Replace symlinks

As a small bonus new releases are also automatically announced under a new 'Release' category in the GH discussions. The idea being that after some initial try-out phase to propose to replace sage-release with those GH announcements by a vote/discussion on sage-devel (if that I idea is turned down, it's very easy to retire the automatic creation of the announcements again).

Also the workflow is renamed to "release" to make it easier to find.

📝 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

@tobiasdiez
Copy link
Contributor Author

tobiasdiez commented Sep 17, 2025

@github-actions
Copy link

github-actions bot commented Sep 17, 2025

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

@kwankyu
Copy link
Collaborator

kwankyu commented Sep 17, 2025

You do not restore the code you removed, which was introduced by the PR #39194. Did you consider the problem the PR solved to prepare the present PR?

@vincentmacri
Copy link
Member

As a small bonus a new Announcment at https://github.com/sagemath/sage/discussions/categories/announcements is posted for each release.

This seems unnecessary since we already have https://github.com/sagemath/sage/releases which is specifically for releases and where people would reasonably expect to find releases. I'd prefer if we didn't duplicate information unnecessarily and kept release announcements in the standard place for releases on GitHub. I also think that we could be making better use of GitHub Discussions than we are now, and I think this would clutter it with unnecessary announcements.

I don't know enough about the build and release process to comment on the rest of this, I'll leave that for others.

@dimpase
Copy link
Member

dimpase commented Sep 17, 2025

You do not restore the code you removed, which was introduced by the PR #39194. Did you consider the problem the PR solved to prepare the present PR?

Do you mean to say that the current PR does not do the generation of release notes,
as in automatically-generated-release-notes ?

Anyway, #39194 had some very verbose code to do something which looks like a rather standard GitHub Action to upload a build artifact.
I presume one can use https://github.com/marketplace/actions/release-notes-action

Actually, a more mainstream generate_release_notes: yes in action-gh-release is already there, so it should do the trick

@vincentmacri
Copy link
Member

This seems unnecessary since we already have https://github.com/sagemath/sage/releases which is specifically for releases and where people would reasonably expect to find releases. I'd prefer if we didn't duplicate information unnecessarily and kept release announcements in the standard place for releases on GitHub. I also think that we could be making better use of GitHub Discussions than we are now, and I think this would clutter it with unnecessary announcements.

If you think there is a benefit to announcing releases on GitHub Discussions to be discussed there (would this replace or be in addition to the sage-release mailing list?) then I'd prefer a dedicated category for this like "Releases" instead of putting it in the general announcements.

@dimpase
Copy link
Member

dimpase commented Sep 17, 2025

@tobiasdiez - would you add a call to https://github.com/marketplace/actions/release-notes-action here, or in a followup?

@dimpase
Copy link
Member

dimpase commented Sep 17, 2025

oops, sorry, it's actually looking fine. There is generate_release_notes: yes set in action-gh-release, which should do the trick.

@kwankyu
Copy link
Collaborator

kwankyu commented Sep 17, 2025

You do not restore the code you removed, which was introduced by the PR #39194. Did you consider the problem the PR solved to prepare the present PR?

Do you mean to say that the current PR does not do the generation of release notes, as in automatically-generated-release-notes ?

No.

Anyway, #39194 had some very verbose code to do something which looks like a rather standard GitHub Action to upload a build artifact. I presume one can use https://github.com/marketplace/actions/release-notes-action

#39194 solved the problem raised in sagemath/website#480 (comment).

To solve the problem, #39194 replaced the action softprops/action-gh-release@v2 with the "very verbose code".

Then #40709 replaced the "very verbose code" with softprops/action-gh-release@v2 to help fix the assets problem, but ignored the issue solved by #39194.

Actually, a more mainstream generate_release_notes: yes in action-gh-release is already there, so it should do the trick

The present PR, as a sequel to #40709, should present a solution to both problems (sagemath/website#480 (comment)
and the assets problem). A proper approach would be one building upon the "very verbose code".

@kwankyu
Copy link
Collaborator

kwankyu commented Sep 17, 2025

There are discussions going on. @vincentmacri has some questions, not answered yet.

@dimpase Why did you give "positive review" prematurely?

@dimpase

This comment was marked as abuse.

@dimpase
Copy link
Member

dimpase commented Sep 17, 2025

@kwankyu this is good as is. If you want to improve, open a follow up PR.

@kwankyu
Copy link
Collaborator

kwankyu commented Sep 19, 2025

OK. You moved it. Looks okay. But that is another thing to watch to see if it works well.

vbraun pushed a commit to vbraun/sage that referenced this pull request Sep 24, 2025
sagemathgh-40843: Restore release notes creation step
    
<!-- ^ 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". -->

fixes the issue discussed in https://groups.google.com/g/sage-
devel/c/LFfhN0CpGJ8.

However, we retain the idea of sagemath#40709 that a github release is made only
in one step in the workflow. Previously, before sagemath#40709, a github release
was made in two steps "Create release" and "Create release assets". This
strategy worked well but started failing some months ago.

Test (with sagemath#40840):
https://github.com/kwankyu/sage/actions/runs/17846547780.

### 📝 Checklist

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

- [x] The title is concise and informative.
- [x] The description explains in detail what this PR is about.
- [x] 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#40843
Reported by: Kwankyu Lee
Reviewer(s):
@dimpase
Copy link
Member

dimpase commented Sep 25, 2025

Why is this disputed? Anything to dispute here?
It's been resolved, except that reviews are absent?
@saraedum ?

@saraedum
Copy link
Member

It's disputed because @kwankyu put the disputed label on.
You just need to tally votes to put the positive review label on. I believe that's how the process works that we had agreed upon.

@dimpase
Copy link
Member

dimpase commented Sep 25, 2025

It's disputed because @kwankyu put the disputed label on. You just need to tally votes to put the positive review label on. I believe that's how the process works that we had agreed upon.

I've given this one positive review long ago, and @kwankyu appears to be happy with it too

@kwankyu
Copy link
Collaborator

kwankyu commented Sep 25, 2025

(1) As #40843 is to be merged soon, the present PR needs to avoid merge conflicts with it.

(2) I object to adding discussion_category_name: announcements without the community's approval.

If these two issues are cleared, then I will not object to this PR. That is, I would give 0 vote.

@dimpase
Copy link
Member

dimpase commented Sep 25, 2025

what is the 2nd issue?

@kwankyu
Copy link
Collaborator

kwankyu commented Sep 25, 2025

(2)

@dimpase
Copy link
Member

dimpase commented Sep 26, 2025

I just objected to (1). I think it should not get in in this form. It uses some low-lever hacks using a probably unstable API, and the issue it is supposed to solve should not be solved this way

@dimpase
Copy link
Member

dimpase commented Sep 26, 2025

(1) As #40843 is to be merged soon, the present PR needs to avoid merge conflicts with it.

@saraedum - I am objecting to #40843 being merged. Therefore (1) cannot be an objection. I also don't understand what kind of objection is (2). Yes, another communication channel is created. What's wrong with it?

@saraedum
Copy link
Member

In my function as a member of the Code of Conduct Committee I can only repeat that you should cast your vote here if you want to see this merged.

As a member of the SageMath developer community, I have not looked into the details of this PR and the other PRs linked. Once the voting starts, I'll probably sit down and look into the details and will then likely cast a vote myself as well.

@tobiasdiez
Copy link
Contributor Author

(1) As #40843 is to be merged soon, the present PR needs to avoid merge conflicts with it.

Really?? You 'dispute' this PR here because it creates merge conflicts with one of your own PRs??

(2) I object to adding discussion_category_name: announcements without the community's approval.

How did you handled the sage-devel announcement when opening the GH discussions to the public (#38337)?

vbraun pushed a commit to vbraun/sage that referenced this pull request Sep 27, 2025
sagemathgh-40843: Restore release notes creation step
    
<!-- ^ 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". -->

fixes the issue discussed in https://groups.google.com/g/sage-
devel/c/LFfhN0CpGJ8.

However, we retain the idea of sagemath#40709 that a github release is made only
in one step in the workflow. Previously, before sagemath#40709, a github release
was made in two steps "Create release" and "Create release assets". This
strategy worked well but started failing some months ago.

Test (with sagemath#40840):
https://github.com/kwankyu/sage/actions/runs/17846547780.

### 📝 Checklist

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

- [x] The title is concise and informative.
- [x] The description explains in detail what this PR is about.
- [x] 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#40843
Reported by: Kwankyu Lee
Reviewer(s):
@kwankyu
Copy link
Collaborator

kwankyu commented Sep 28, 2025

(1) As #40843 is to be merged soon, the present PR needs to avoid merge conflicts with it.

Really?? You 'dispute' this PR here because it creates merge conflicts with one of your own PRs??

No. I meant this PR needs work.

(2) I object to adding discussion_category_name: announcements without the community's approval.

How did you handled the sage-devel announcement when opening the GH discussions to the public (#38337)?

That was intended to "add". This one is intended to "experiment" and "replace".

@dimpase
Copy link
Member

dimpase commented Sep 28, 2025

(1) As #40843 is to be merged soon, the present PR needs to avoid merge conflicts with it.

Really?? You 'dispute' this PR here because it creates merge conflicts with one of your own PRs??

No. I meant this PR needs work.

No. What you said is this PR must be rebased on your PR, or else it will be kept disputed by you.

(2) I object to adding discussion_category_name: announcements without the community's approval.

How did you handled the sage-devel announcement when opening the GH discussions to the public (#38337)?

That was intended to "add". This one is intended to "experiment" and "replace".

and this one is an experiement, too
Stop being naughty.

@tobiasdiez
Copy link
Contributor Author

How did you handled the sage-devel announcement when opening the GH discussions to the public (#38337)?

That was intended to "add". This one is intended to "experiment" and "replace".

This PR also only adds another way to announce releases... (with the long term goal to experiment with it as a replacement for sage-release, but that idea will be further discussed on sage-devel in the future)

Btw, your #38337 also was experimental, to cite: "Sage Discussions is currently an experimental service"

@kwankyu
Copy link
Collaborator

kwankyu commented Sep 29, 2025

This PR also only adds another way to announce releases... (with the long term goal to experiment with it as a replacement for sage-release, but that idea will be further discussed on sage-devel in the future)

No need to explain your plan. I know your plan. I object to it.

As this PR is disputed, you have to draw developers, perhaps from sage-devel, to support your plan.

@kwankyu
Copy link
Collaborator

kwankyu commented Sep 29, 2025

Btw, your #38337 also was experimental, to cite: "Sage Discussions is currently an experimental service"

Yes, because I worried that the service could be abused. That did not happen.

I worry that your experiment may disrupt sage-release.

@dimpase
Copy link
Member

dimpase commented Sep 29, 2025

This PR also only adds another way to announce releases... (with the long term goal to experiment with it as a replacement for sage-release, but that idea will be further discussed on sage-devel in the future)

No need to explain your plan. I know your plan. I object to it.

As this PR is disputed, you have to draw developers, perhaps from sage-devel, to support your plan.

@kwankyu One does not give in to unreasonable demands. Your demands here are frivolous, and thus an obvious and meaningless disruption of the development process. @saraedum @tobiasdiez @jhpalmieri - please convene a meeting of the Code of Conduct committee to discuss this matter. Or else, indeed, I will be posting on various forums about it.

@cxzhong
Copy link
Contributor

cxzhong commented Oct 21, 2025

How about this PR? we should fix the release workflow so we can host all tar in github

@kwankyu kwankyu mentioned this pull request Nov 4, 2025
5 tasks
@kwankyu
Copy link
Collaborator

kwankyu commented Nov 4, 2025

How about this PR? we should fix the release workflow so we can host all tar in github

Check out the alternative PR #41128.

vbraun pushed a commit to vbraun/sage that referenced this pull request Nov 8, 2025
sagemathgh-41128: Fix release github workflow
    
<!-- ^ 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". -->

Having numerical backends (coin, cplex, gurobi) packages have their own
versions is enough to fix the release github workflow.

This PR is a light alternative to sagemath#40840, which was stalled.

TEST: https://github.com/kwankyu/sage/actions/runs/19058005100

Test release with tarballs:
https://github.com/kwankyu/sage/releases/tag/100.2.beta4

### 📝 Checklist

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

- [x] The title is concise and informative.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [x] 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#41128
Reported by: Kwankyu Lee
Reviewer(s): Dima Pasechnik
vbraun pushed a commit to vbraun/sage that referenced this pull request Nov 8, 2025
sagemathgh-41128: Fix release github workflow
    
<!-- ^ 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". -->

Having numerical backends (coin, cplex, gurobi) packages have their own
versions is enough to fix the release github workflow.

This PR is a light alternative to sagemath#40840, which was stalled.

TEST: https://github.com/kwankyu/sage/actions/runs/19058005100

Test release with tarballs:
https://github.com/kwankyu/sage/releases/tag/100.2.beta4

### 📝 Checklist

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

- [x] The title is concise and informative.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [x] 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#41128
Reported by: Kwankyu Lee
Reviewer(s): Dima Pasechnik
vbraun pushed a commit to vbraun/sage that referenced this pull request Nov 9, 2025
sagemathgh-41128: Fix release github workflow
    
<!-- ^ 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". -->

Having numerical backends (coin, cplex, gurobi) packages have their own
versions is enough to fix the release github workflow.

This PR is a light alternative to sagemath#40840, which was stalled.

TEST: https://github.com/kwankyu/sage/actions/runs/19058005100

Test release with tarballs:
https://github.com/kwankyu/sage/releases/tag/100.2.beta4

### 📝 Checklist

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

- [x] The title is concise and informative.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [x] 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#41128
Reported by: Kwankyu Lee
Reviewer(s): Dima Pasechnik
vbraun pushed a commit to vbraun/sage that referenced this pull request Nov 9, 2025
sagemathgh-41128: Fix release github workflow
    
<!-- ^ 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". -->

Having numerical backends (coin, cplex, gurobi) packages have their own
versions is enough to fix the release github workflow.

This PR is a light alternative to sagemath#40840, which was stalled.

TEST: https://github.com/kwankyu/sage/actions/runs/19058005100

Test release with tarballs:
https://github.com/kwankyu/sage/releases/tag/100.2.beta4

### 📝 Checklist

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

- [x] The title is concise and informative.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [x] 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#41128
Reported by: Kwankyu Lee
Reviewer(s): Dima Pasechnik
vbraun pushed a commit to vbraun/sage that referenced this pull request Nov 10, 2025
sagemathgh-41128: Fix release github workflow
    
<!-- ^ 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". -->

Having numerical backends (coin, cplex, gurobi) packages have their own
versions is enough to fix the release github workflow.

This PR is a light alternative to sagemath#40840, which was stalled.

TEST: https://github.com/kwankyu/sage/actions/runs/19058005100

Test release with tarballs:
https://github.com/kwankyu/sage/releases/tag/100.2.beta4

### 📝 Checklist

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

- [x] The title is concise and informative.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [x] 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#41128
Reported by: Kwankyu Lee
Reviewer(s): Dima Pasechnik
vbraun pushed a commit to vbraun/sage that referenced this pull request Nov 11, 2025
sagemathgh-41128: Fix release github workflow
    
<!-- ^ 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". -->

Having numerical backends (coin, cplex, gurobi) packages have their own
versions is enough to fix the release github workflow.

This PR is a light alternative to sagemath#40840, which was stalled.

TEST: https://github.com/kwankyu/sage/actions/runs/19058005100

Test release with tarballs:
https://github.com/kwankyu/sage/releases/tag/100.2.beta4

### 📝 Checklist

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

- [x] The title is concise and informative.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [x] 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#41128
Reported by: Kwankyu Lee
Reviewer(s): Dima Pasechnik
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

disputed PR is waiting for community vote, see https://groups.google.com/g/sage-devel/c/IgBYUJl33SQ s: needs review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants