toml-cli
toml-cli copied to clipboard
Automate publishing release binaries
Currently the process by which I accomplish #3 — which started today — is not hard, but it is a few extra steps:
- (Have the release commit checked out.)
- Run
tools/build-release linux-x86
. - Visit https://github.com/gnprice/toml-cli/releases and create a GitHub release for the tag.
- Upload to that GitHub release the
target/archive/toml-0.M.N-x86_64-linux.tar.gz
file created bytools/build-release
.
It would be nice to automate this so that it happens automatically when I push a tag to the repo, using GitHub Actions. This will be especially needed in the future when building macOS binaries (#22), as I'd otherwise have to go type commands on two different computers to build all the needed binaries.
One helpful model for how to do this is ripgrep. (I've already borrowed from other parts of their release-build scripting in writing tools/build-release
.) Their GitHub workflow file for releases is here: https://github.com/BurntSushi/ripgrep/blob/master/.github/workflows/release.yml
There's also a draft version of this in #18 / #13.
This is also a nice github action workflow for releasing (base don ripgrep, but a bit cleare in my opinion): https://github.com/mitsuhiko/rye/blob/main/.github/workflows/release.yml