Here are some ideas I have considered for distributing a binary using a CI flow, or using version control for a file or directory.
I'd like to hear your approaches too.
The simplest is to just version binary file (or the
dist directory), at least when creating a release tag. Then you have a history of files all at the same path and then switch tags to get to an older version. You'd have to build and commit the file either locally or using GH Actions (or other CI).
Or don't version it. And then add the binary file to a GitHub release - either by hand or using a GH Actions. There are some Actions on the Marketplace which support this.
In the case of uploading to a registry like NPM or VS Code Marketplace, one could have a step locally or in CI to build an unversioned file and then upload it to the registry. The downside is that there is a barrier to this - you have to setup an account on the registry and perhaps go through red tape to get your application approved. You might want to just distribute your tool to friends without making it available on a public searchable registry.
What do you do for a certain language and why? How easy was it to setup your approach? Please comment on the first post in my series.