uWebSockets.js icon indicating copy to clipboard operation
uWebSockets.js copied to clipboard

New release script for individual binary installs

Open porsager opened this issue 1 year ago • 3 comments

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 v prefix, so eg. the next version should be 20.50.0. You can also try it out with prereleases and delete the tags afterwards - eg 20.50.0-test and then install with npm i uNetworking/uWebSockets.js#v20.50.0-test

https://github.com/user-attachments/assets/8e4b01fb-29f4-4bbe-b348-56f2e1e881d4

porsager avatar Oct 25 '24 22:10 porsager

Holy shit this looks great, I need to process this for a while

uNetworkingAB avatar Oct 26 '24 17:10 uNetworkingAB

Glad to hear - You might have an opinion on the naming for the binary specific subpackages. I went with a @uws/ prefix, but we could easily leave out the "@scope" style and do a uWebSockets.js- prefix instead.

Here's the difference as examples

  • current: @uws/uws_win32_x64_131
  • alternative uWebSockets.js-uws_win32_x64_131

We can also get rid of the uws_ part in the name as it feels redundant, but keeping the name the same as the binaries made the implementation a little cleaner.

porsager avatar Oct 27 '24 21:10 porsager

any updates on this?

pasha-vuiko avatar Jun 26 '25 07:06 pasha-vuiko