New release script for individual binary installs#1125
New release script for individual binary installs#1125porsager wants to merge 7 commits intouNetworking:masterfrom
Conversation
| run: | | ||
| $ErrorActionPreference = 'SilentlyContinue' | ||
| git clone --recursive https://github.com/uNetworking/uWebSockets.js.git | ||
| git clone --recursive https://github.com/${{ github.repository }}.git |
There was a problem hiding this comment.
This was easier for when testing on my fork, but let me know if I should revert this and the others
There was a problem hiding this comment.
If it works this is better
| module.exports = (() => { | ||
| try { | ||
| return require('./uws_' + process.platform + '_' + process.arch + '_' + process.versions.modules + '.node'); | ||
| return require('@uws/uws_' + process.platform + '_' + process.arch + '_' + process.versions.modules); |
There was a problem hiding this comment.
This is actually not important as it's the uws.js on the binaries branch that we use, but it felt weird to have an outdated version here.
| git add -A | ||
| git commit -m "Released @uws/$binary with version $version" | ||
| git tag "v${version}-$binary" | ||
| git push "https://x-access-token:${{ secrets.SECRET }}@github.com/${{ github.repository }}" "v${version}-$binary" |
There was a problem hiding this comment.
You might need to change the username from x-access-token here back to unetworkingab - let me know if I should do that, or we can see if it's fine when you do a test release
|
Holy shit this looks great, I need to process this for a while |
|
Glad to hear - You might have an opinion on the naming for the binary specific subpackages. I went with a Here's the difference as examples
We can also get rid of the |
164b179 to
0f269b8
Compare
|
any updates on this? |
This release.yml script makes a release with the version specified when running it.
It lets package managers only download the binary that they need.
You do a release by triggering the workflow under the actions tab like shown below.
Only harm done if anything goes wrong is a lot of tags you need to delete (one for the main pkg and one for each binary).
The version must be without a
vprefix, so eg. the next version should be20.50.0. You can also try it out with prereleases and delete the tags afterwards - eg20.50.0-testand then install withnpm i uNetworking/uWebSockets.js#v20.50.0-testuws-release.mp4