Go to file
2024-07-29 08:30:05 -06:00
action.yml Add support for specifying toolchain profile 2023-09-04 15:15:56 +02:00
LICENSE Update README and perform some cleanup 2019-08-16 01:43:28 +02:00
matcher.json Replace TypeScript hell with simple Bash script 🎉 2023-09-04 15:07:36 +02:00
README.md Replace TypeScript hell with simple Bash script 🎉 2023-09-04 15:07:36 +02:00
setup.sh Update setup.sh 2024-07-29 08:13:38 -06:00

setup-rust-action

Integration status

Sets up a specific Rust toolchain for use in your GitHub Actions workflows.

Usage

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

Inputs

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.

Problem Matchers

This action registers the following problem matchers to surface relevant information inline with changeset diffs.

  • cargo-common matches common cases of errors and warnings
  • cargo-test matches cargo test errors
  • cargo-fmt matches rust format errors

To disable any or all of these you can use the remove-matcher directive documented here.

Contributing / Feedback

Contributions and feedback are welcome! Feel free to open any issues or pull requests.