GitHub Action
rust-cargo
This GitHub Action runs specified cargo
command on a Rust language project.
Table of Contents
on: [push]
name: CI
jobs:
build_and_test:
name: Rust project
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- uses: actions-rs/cargo@v1
with:
command: build
args: --release --all-features
Note that this Action is not required usually
and you can just use run
step instead as in example below:
jobs:
build_and_test:
name: Rust project
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- run: cargo build --release --all-features
Why would you want to use this Action instead:
- Transparent
cross
installation and execution withuse-cross: true
input enabled - Warnings and errors issued by
cargo
will be displayed in GitHub UI
Name | Required | Description | Type | Default |
---|---|---|---|---|
command |
✓ | Cargo command to run, ex. check or build |
string | |
toolchain |
Rust toolchain name to use | string | ||
args |
Arguments for the cargo command | string | ||
use-cross |
Use cross instead of cargo |
bool | false |
By default this Action will call whatever cargo
binary is available
in the current virtual environment.
You can use actions-rs/toolchain
to install specific Rust toolchain with cargo
included.
In order to make cross-compile an easy process,
this Action can install cross
tool on demand if use-cross
input is enabled; cross
executable will be invoked
then instead of cargo
automatically.
All consequent calls of this Action in the same job
with use-cross: true
input enabled will use the same cross
installed.
on: [push]
name: ARMv7 build
jobs:
linux_arm7:
name: Linux ARMv7
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: armv7-unknown-linux-gnueabihf
override: true
- uses: actions-rs/cargo@v1
with:
use-cross: true
command: build
args: --target armv7-unknown-linux-gnueabihf
This Action is distributed under the terms of the MIT license, see LICENSE for details.
Any contributions are welcomed!
If you want to report a bug or have a feature request, check the Contributing guide.
You can also support author by funding the ongoing project work, see Sponsoring.