-
-
Notifications
You must be signed in to change notification settings - Fork 710
Fix creation of releases #40840
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
base: develop
Are you sure you want to change the base?
Fix creation of releases #40840
Changes from 6 commits
0f0f8d6
27d0629
636d1ac
a878878
a619c02
b056757
db82b18
6829843
07f6237
f2b0b0b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||
|---|---|---|---|---|
| @@ -1,4 +1,4 @@ | ||||
| name: Prepare source distributions and wheels | ||||
| name: Release | ||||
|
|
||||
| on: | ||||
| push: | ||||
|
|
@@ -12,71 +12,42 @@ on: | |||
| - '[0-9]+.[0-9]+.[0-9]+.rc[0-9]+' | ||||
| pull_request: | ||||
| paths: | ||||
| - '.github/workflows/dist.yml' | ||||
| - '.github/workflows/release.yml' | ||||
| workflow_dispatch: | ||||
| # Allow to run manually | ||||
|
|
||||
| jobs: | ||||
|
|
||||
| release_dist: | ||||
|
|
||||
| # This job first checks whether "configure --enable-download-from-upstream-url" | ||||
| # (the default since #32390) is needed. | ||||
| # | ||||
| # In this way, we check that all necessary package tarballs | ||||
| # have already been uploaded to the Sage server at the time | ||||
| # of pushing a release tag. | ||||
| # | ||||
| # It also uses "bootstrap -D", thus checking that the "configure" | ||||
| # tarball has been uploaded to the Sage server at the time | ||||
| # of pushing a release tag. | ||||
|
|
||||
| package_tarballs: | ||||
| runs-on: ubuntu-latest | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - name: Install bootstrap prerequisites | ||||
| run: | | ||||
| sudo DEBIAN_FRONTEND=noninteractive apt-get update | ||||
| sudo DEBIAN_FRONTEND=noninteractive apt-get install $(build/bin/sage-get-system-packages debian _bootstrap _prereq) | ||||
| - name: make dist (--disable-download-from-upstream-url) | ||||
| id: make_dist | ||||
| run: | | ||||
| ./bootstrap -D && ./configure --disable-download-from-upstream-url && make dist | ||||
| env: | ||||
| MAKE: make -j8 | ||||
| - name: make download (--disable-download-from-upstream-url) | ||||
| id: make_download | ||||
| run: | | ||||
| make -k download DOWNLOAD_PACKAGES=":all: --no-file huge" | ||||
| env: | ||||
| MAKE: make -j8 | ||||
| - name: Reconfigure with --enable-download-from-upstream-url | ||||
| if: (success() || failure()) && (steps.make_dist.outcome != 'success' || steps.make_download.outcome != 'success') | ||||
|
|
||||
| - name: Configure | ||||
| run: | | ||||
| ./bootstrap | ||||
| ./configure | ||||
| - name: make dist (--enable-download-from-upstream-url) | ||||
| if: (success() || failure()) && steps.make_dist.outcome != 'success' | ||||
| run: | | ||||
| make dist | ||||
| env: | ||||
| MAKE: make -j8 | ||||
| - name: make download (--enable-download-from-upstream-url) | ||||
| if: (success() || failure()) && steps.make_download.outcome != 'success' | ||||
|
|
||||
| - name: Download tarballs of all packages | ||||
| run: | | ||||
| make -k download DOWNLOAD_PACKAGES=":all: --no-file huge --allow-upstream" | ||||
| env: | ||||
| MAKE: make -j8 | ||||
| build/bin/sage-package download :all: --no-file huge --allow-upstream | ||||
|
|
||||
| - name: Remove what cannot be distributed | ||||
| if: success() || failure() | ||||
| run: | | ||||
| rm -f upstream/*do-not-distribute* | ||||
|
|
||||
| - name: List files | ||||
| run: | | ||||
| ls -l upstream | ||||
|
|
||||
| - uses: actions/upload-artifact@v4 | ||||
| if: success() || failure() | ||||
| with: | ||||
| path: | | ||||
| dist/*.tar.gz | ||||
| upstream | ||||
| name: release_dist | ||||
| path: upstream | ||||
| name: package_tarballs | ||||
|
|
||||
| sdists: | ||||
|
|
||||
|
|
@@ -118,30 +89,37 @@ jobs: | |||
| if: env.CAN_DEPLOY == 'true' | ||||
|
|
||||
| release: | ||||
| needs: [release_dist, sdists] | ||||
| needs: [package_tarballs, sdists] | ||||
| runs-on: ubuntu-latest | ||||
| if: github.ref_type == 'tag' | ||||
| permissions: | ||||
| contents: write | ||||
| discussions: write | ||||
| steps: | ||||
| - uses: actions/download-artifact@v4 | ||||
| with: | ||||
| name: release_dist | ||||
| name: package_tarballs | ||||
| path: tarballs | ||||
|
|
||||
| - uses: actions/download-artifact@v4 | ||||
| with: | ||||
| name: dist | ||||
| path: dist | ||||
|
|
||||
| - name: Create release assets | ||||
| - name: List files | ||||
| run: | | ||||
| ls -l -R dist | ||||
| ls -l -R tarballs | ||||
|
|
||||
| - name: Create release | ||||
| uses: softprops/action-gh-release@v2 | ||||
| with: | ||||
| files: | | ||||
| dist/* | ||||
| upstream/* | ||||
| token: ${{ secrets.RELEASE_CREATION_TOKEN }} | ||||
| tarballs/* | ||||
| token: ${{ github.ref_type == 'tag' && secrets.RELEASE_CREATION_TOKEN || 'FAIL' }} | ||||
| generate_release_notes: true | ||||
| prerelease: ${{ contains(github.ref_name, 'beta') || contains(github.ref_name, 'rc') }} | ||||
| discussion_category_name: announcements | ||||
|
||||
| discussion_category_name: announcements |
I'm not opposed to replacing the sage-release mailing list like you suggested, but I agree with @kwankyu that there should be a discussion about it first on sage-devel.
If we do decide to announce releases on GitHub Discussions, I would really prefer that we have a dedicated "Release Announcements" category and keep the regular "Announcements" category for more substantial/important announcements (otherwise people will likely mute the announcements channel and miss important announcements).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As for testing it here for a few weeks before bringing it to sage-devel, I think looking at the conky repo you linked which does this is sufficient for getting a feel for it. My feeling from looking at https://github.com/brndnmtthws/conky/discussions/categories/general is that the automated posts to a category that has other uses will flood the category and make it hard to find more important discussions (which is why I would want a dedicated category for this).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can create a dedicated category (perhaps "Releases" or "Release Announcements") when sage-devel decides to switch to github discussion.
I don't know if posting release announcements to a dedicated category is possible, by the way.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can create a dedicated category (perhaps "Releases" or "Release Announcements") when sage-devel decides to switch to github discussion.
I don't know if posting release announcements to a dedicated category is possible, by the way.
In the workflow @tobiasdiez gives the name of the category to post to, so it should just be a matter of changing that to whatever you name the discussion category for release announcements.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've now renamed the category to "Release". Since it's easy to just delete the category with all it's posts again, this should give a suitable testing env. But if you feel this should be discussed on sage-devel before testing it out in the sage repo, may I ask you to open such a discussion?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will post an announcement after this PR is merged, that releases are now also on GH discussions and that people are invited to try to post/interact there and that after some testing phase we can decide to replace sage-release or to end the experiment.
I worry that this will give the impression to the community that switching to GH discussion is already implemented and we are forcing the community to adopt it.
I agree with: "... looking at the conky repo you linked which does this is sufficient for getting a feel for it."
I don't know what to write before this PR is merged, as there is nothing for people to see or try out yet. So what was your idea to post now to sage-devel?
Just ask the community to look around the conky repo, and propose replacing the sage-release to release announcements in our own github discussion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the suggestion, but I still think it's better to give people an actual preview of how it would look like instead of a copy in some random, unrelated repo. Especially since this preview very simple to implement and can be reverted easily.
I also don't have time at the moment to write something suitable for sage-devel...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@vbraun Your opinion?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My opinion is that these notes are only needed for real releases.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This issue is still disputed.
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| 10.4 |
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| 10.4 |
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| 10.4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am waiting for a reply.