DEV Community

loading...
Cover image for Ways to distribute a binary

Ways to distribute a binary

Michael
I'm a self-taught dev focused on websites and Python development. My friends call me the "Data Genie". When I get bored, I find tech to read about, write about and build things with.
・1 min read

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.

Add to version control

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).

Add to GitHub release

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.

Upload to registry

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.

Conclusion

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.

Discussion (0)