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

Automate more of the release process #440

Merged
merged 1 commit into from
Jul 13, 2024

Conversation

alexcrichton
Copy link
Collaborator

This commit updates the release process of wasi-sdk to remove most of the manual interaction and steps done. Instead now draft releases are automatically created for tags made. This means that there's only two steps necessary: (1) pushing a tag and (2) hitting publish on the generated release. This commit also removes a number of the CI scripts previously used to manage releases.

This commit updates the release process of `wasi-sdk` to remove most
of the manual interaction and steps done. Instead now draft releases are
automatically created for tags made. This means that there's only two
steps necessary: (1) pushing a tag and (2) hitting publish on the
generated release. This commit also removes a number of the CI scripts
previously used to manage releases.
@alexcrichton
Copy link
Collaborator Author

alexcrichton commented Jul 12, 2024

https://github.com/alexcrichton/wasi-sdk/releases/tag/untagged-903aa84c64216d9a079c https://github.com/alexcrichton/wasi-sdk/releases/tag/wasi-sdk-24 is an example release created in my own repository which has all the requisite artifacts but but the changelog is a bit odd because I don't have historical releases in my repository.

Copy link
Collaborator

@abrown abrown left a comment

Choose a reason for hiding this comment

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

Cool! Way less work!

We might need to vet the artifacts in dist though; previously, Windows and Linux artifacts could be slightly different and some of the duplicates would slip through because on of the builds would add a +m version suffix. Maybe that is all resolved by the CMake changes but I can't check because I don't have permission to see the release you linked to.

@alexcrichton
Copy link
Collaborator Author

Weird sorry I had no idea that was a private link... I published it now and you should be able to see.

We might need to vet the artifacts in dist though; previously, Windows and Linux artifacts could be slightly different and some of the duplicates would slip through because on of the builds would add a +m version suffix. Maybe that is all resolved by the CMake changes but I can't check because I don't have permission to see the release you linked to.

The +m bits are fixed as well as duplicate platforms (only one linux build now, not multiple). I tried to resolve all these with the CMake changes.

Could you clarify what you mean by Windows/Linux being slightly different? I thought it was just picking the right tarball between the two Linux ones before?

@alexcrichton
Copy link
Collaborator Author

Er the updated link for my repo is https://github.com/alexcrichton/wasi-sdk/releases/tag/wasi-sdk-24

@abrown
Copy link
Collaborator

abrown commented Jul 12, 2024

Here's what I would see, e.g., for wasi-sdk-23:

$ ll /tmp/wasi-sdk-artifacts.JUykmGJ
total 848468
-rw-r--r--. 1 abrown abrown 184931850 Jul 12 11:51 dist-macos-latest.zip
-rw-r--r--. 1 abrown abrown 213709327 Jul 12 11:51 dist-ubuntu-bionic.zip
-rw-r--r--. 1 abrown abrown 470181645 Jul 12 11:52 dist-windows-latest-x64.zip
drwxr-xr-x. 2 abrown abrown       200 Jul 12 11:52 release

$ ll /tmp/wasi-sdk-artifacts.JUykmGJ/release
total 819020
-rw-r--r--. 1 abrown abrown    131559 Jul 10 19:05 libclang_rt.builtins-wasm32-wasi-23.0+m.tar.gz
-rw-r--r--. 1 abrown abrown    131878 Jul 10 18:45 libclang_rt.builtins-wasm32-wasi-23.0.tar.gz
-rw-r--r--. 1 abrown abrown  70895500 Jul 10 18:45 wasi-sdk_23.0_amd64.deb
-rw-r--r--. 1 abrown abrown 111088401 Jul 10 18:45 wasi-sdk-23.0-linux.tar.gz
-rw-r--r--. 1 abrown abrown 152852721 Jul 10 18:41 wasi-sdk-23.0-macos.tar.gz
-rw-r--r--. 1 abrown abrown 438810533 Jul 10 19:05 wasi-sdk-23.0+m-mingw.tar.gz
-rw-r--r--. 1 abrown abrown  32285073 Jul 10 19:05 wasi-sysroot-23.0+m.tar.gz
-rw-r--r--. 1 abrown abrown  32458942 Jul 10 18:45 wasi-sysroot-23.0.tar.gz

Notice how the +m versions of the builtins and sysroot files are slightly different?

@alexcrichton
Copy link
Collaborator Author

Ah ok I think those bits are all handled then. The +m bits are all gone due to the version script running in a different place now. The duplicates are also all explicitly selected from just a single builder so there's no extra duplicates to worry about.

Put another way the release-artifacts CI artfiact I think should already have all these details processed, and the github release is based on the dist folder uploaded there

@abrown abrown merged commit 297b6d0 into WebAssembly:main Jul 13, 2024
6 checks passed
@alexcrichton alexcrichton deleted the automate-release-process branch July 15, 2024 15:36
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