Sets up a specific Rust toolchain for use in your GitHub Actions workflows.
Provide a rust-version
with the desired toolchain version to install.
You can combine it with matrix
to test different Rust toolchains in different platforms!
name: Test Rust project
on: [push]
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
rust: [stable, nightly]
steps:
- uses: hecrj/setup-rust-action@v2
with:
rust-version: ${{ matrix.rust }}
- uses: actions/checkout@master
- name: Run tests
run: cargo test --verbose
The following inputs can be provided with the jobs.<job_id>.steps.with
yaml key.
Name | Optional | Description | Type | Default |
---|---|---|---|---|
rust-version | ✔️ | The toolchain name, such as stable, nightly, or 1.8.0 | String | stable |
components | ✔️ | The toolchain components to install | String, comma-separated | |
targets | ✔️ | The toolchain targets to add | String, comma-separated |
For more details, check out action.yml
.
This action registers the following problem matchers to surface relevant information inline with changeset diffs.
cargo-common
matches common cases of errors and warningscargo-test
matches cargo test errorscargo-fmt
matches rust format errors
To disable any or all of these you can use the remove-matcher
directive documented here.
Contributions and feedback are welcome! Feel free to open any issues or pull requests.