Release Rust embedded firmware using Github Actions
Github Actions is a nice way to setup CI/CD pipelines for your Github projects. Let’s setup it for an embedded firmware project written in Rust.
Continuous integration script would run every time when new code is pushed to
master branch and release script would run only if a new tag is pushed.
Release in Github looks like this:
Let’s get started. We need following files in project root:
File names actually do not matter.
It is assumed that your Cargo project is setup in such a way that you could just run
cargo build --release in root directory and everything builds. This script is doing just that:
name: Continuous Integration on: push: branches: - master env: CARGO_TERM_COLOR: always jobs: compile: runs-on: ubuntu-latest strategy: matrix: toolchain:
Continue reading →