@actions-rs example
This is a Rust application example which is using GitHub Actions for CI.
Workflows
All workflows here can be seen at the Actions tab and their configurations are here.
NOTE: All jobs there are using continue-on-error: true
in order to execute the workflow completely even if there were any errors.
Consider removing these lines in your own workflows.
Quickstart
Based on the "Quickstart" recipe, represents minimal reasonable CI suite for any Rust project.
MSRV
Based on the "MSRV" recipe,
same as "Quickstart" workflow, but both for stable
and MSRV (Minimal Supported Rust version) toolchains.
Nightly lints
Based on the "Nightly lints" recipe,
searches for the most recent nightly
toolchain with clippy
and rustfmt
available
in order to execute linters.
Cross compile
@actions-rs/cargo
Action
can install cross
on demand.
Workflow uses this "magic" option to build application for armv7-unknown-linux-gnueabihf
and powerpc64-unknown-linux-gnu
targets.
grcov
This workflow is using -Z profile
feature
and grcov
tool
to collect and aggregate code coverage data for multi-platform builds,
which is pushed to the coveralls.io later.