This GitHub Action installs Rust toolchain.
Optionally it can set installed toolchain as a default and as an override for current directory.
on: [push] name: build jobs: check: name: Rust project runs-on: ubuntu-latest steps: - uses: actions/checkout@master - name: Install latest nightly uses: actions-rs/toolchain@v1 with: toolchain: nightly override: true # `cargo check` command here will use installed `nightly` # as it set as an "override" for current directory - name: Run cargo check uses: actions-rs/cargo@v1 with: command: check
||✓||Toolchain name to use, ex.
||Additionally install specified target for this toolchain, ex.
||Set installed toolchain as a default toolchain||bool||false|
||Set installed toolchain as an override for the current directory||bool||false|
||Comma-separated list of the additional components to install, ex.
This Action supports rustup profiles, which are can be used to speed up the workflow execution by installing the minimally required set of components, for example:
- name: Install minimal nightly uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly
This Action will automatically run
rustup self update if
profile input is set
and the installed
rustup version does not supports them.
In order to provide backwards compatibility for
there is no value for
profile input set by default,
which means that the
default profile is used by
(and that includes
You may want to consider using
profile: minimal to speed up toolchain installation.
- name: Install minimal stable with clippy and rustfmt uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly components: rustfmt, clippy
As an extra perk,
rustup >= 1.20.0 is able to find the most recent
with the requested components available; next example is utilizing this feature
to install the minimal set of
nightly toolchain components with the
- name: Install minimal nightly with clippy and rustfmt uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly components: rustfmt, clippy
Same to the
profile input, if the installed
rustup does not supports "components",
it will be automatically upgraded by this Action.
rustup is not installed by default for macOS environments
at the moment (2019-09-13), this Action will try its best to install it before any other operations.