HOW IT WORKS
Who builds the build scripts? (We do.)
There's a lot of options out there for people who want to spend weeks configuring their build scripts. We think there should be an option for folks who'd rather it take minutes.
Step 1: Write your code
Write your code in whatever language you want and commit it to GitHub. To prove out the tool we've focused on Rust, but we'll be expanding our language support (We're playing with both C and JavaScript right now- so a little something for everyone!).
If you have a particular language or build system you'd like to see supported - let us know!
Step 2: Choose your platforms and installers
Install cargo-dist
locally and then run cargo dist init
. We'll prompt you to share what platforms and installers you'd like to support. If you have more advanced needs like system dependencies or custom build flags, we allow you to further configure those as well.
Once this completes successfully it will generate a release.yml
for you that you can check in to version control.
For more info, checkout the Way Too Quickstart guide.
Step 3: Commit your generated release workflow
You now have a generated workflow script to commit to version control. If you're curious what it does- give it a read- we've added a bunch of comments to help explain exactly what's going on. Right now we support Github Actions for both private and public repos- but we're expanding!
If you have a CI provider you'd like to see supported- let us know!
Step 4: Push a tag to run your release
You are ready to release now! Push a tag to your repository and watch the magic happen. Not ready to take the jump? You can always run cargo dist plan
to see what'll happen!
Wanna make sure future code changes don't break your release process? By default, cargo-dist
will run cargo dist plan
on every pull request to ensure you're always ready to release!
Step 5: Share your release!
And that's it. Your release is published with your notes and install/download instructions for all the platforms and installers your picked.
If you wanna get fancy- checkout oranda which will generate a website for you that reads from your releases and generates an installer widget that detects your users' platform and suggests install options.