Releasing Rust Binaries with GitHub Actions - Part 1

justin1121

Justin Patriquin

Posted on November 16, 2022

Releasing Rust Binaries with GitHub Actions - Part 1

GitHub Actions is an amazing tool for CI/CD. Having it built in directly with where your code lives is super convenient. Like most CI/CD systems I've used it can sometimes be tough to build stuff on it in a timely manner. For me it can take a bit of experimentation and time to actually get something to work. Once it does work though it's rock solid.

In this two part post I'm going to go over the process I went through to release new Rust binaries for our open-source project Nitrogen.

GitHub Marketplace

GitHub Marketplace has a ton of Actions that can be used right off the shelf and this is where I first go when I'm looking to add a new Action to our CI.

For Nitrogen I wanted to get binaries released as fast as possible and I found a Rust Binary Release action in the marketplace. This action was incredibly easy to use and got us binary releases generated almost immediately. One issue with this action though was that it only supported a limited amount of Rust targets (i.e. OS and CPU architecture triples. See here for more details.). There were two more targets we wanted to support.

  • MacOS Arm - with the new Mac CPUs people running on top of the ARM architecture is becoming more and more common so supporting this is becoming more important.
  • Windows MSVC (Powershell) - while using WSL or even something like Git Bash would've worked we wanted to make it possible to use more natively with windows.

In the next post I'm going to go over how to added these new targets to our releases and some issues I ran into along the way.

Thanks for reading! Nitrogen sounds cool to you check it out and give it a star here, check out the quick installation guide here and come see what's going on on Discord.

💖 💪 🙅 🚩
justin1121
Justin Patriquin

Posted on November 16, 2022

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related