toolchain/README.md

60 lines
2.7 KiB
Markdown
Raw Normal View History

2019-09-16 15:40:48 +08:00
# `rust-toolchain` Action
2019-09-12 21:44:29 +08:00
2019-09-15 17:24:13 +08:00
![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)
2019-09-15 01:42:34 +08:00
[![Gitter](https://badges.gitter.im/actions-rs/community.svg)](https://gitter.im/actions-rs/community)
2019-09-12 21:44:29 +08:00
This GitHub Action installs [Rust toolchain](https://github.com/rust-lang/rustup.rs#toolchain-specification).
Optionally it can set installed toolchain as a default and as an override for current directory.
## Example workflow
```yaml
on: [push]
name: build
jobs:
check:
name: Rust project
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Install nightly
2019-09-15 17:24:13 +08:00
uses: actions-rs/toolchain@v1
2019-09-12 21:44:29 +08:00
with:
toolchain: nightly
override: true
2019-09-16 15:40:48 +08:00
# `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
2019-09-12 21:44:29 +08:00
```
2019-09-16 15:40:48 +08:00
See [additional recipes here](https://github.com/actions-rs/meta).
2019-09-12 21:44:29 +08:00
## Inputs
2019-09-29 14:39:36 +08:00
| Name | Required | Description | Type | Default |
| ------------| :------: | ---------------------------------------------------------------------------------------------------------------------------------------| ------ | --------|
| `toolchain` | ✓ | [Toolchain](https://github.com/rust-lang/rustup.rs#toolchain-specification) name to use, ex. `stable`, `nightly`, `nightly-2019-04-20` | string | |
| `target` | | Additionally install specified target for this toolchain, ex. `x86_64-apple-darwin` | string | |
| `default` | | Set installed toolchain as a default toolchain | bool | false |
| `override` | | Set installed toolchain as an override for the current directory | bool | false |
2019-09-12 21:44:29 +08:00
2019-09-15 17:24:13 +08:00
## Components
If you are going to install `clippy`, `rustfmt` or any other [rustup component](https://rust-lang.github.io/rustup-components-history/),
it might not be available in latest `nightly` build;
check out the [`actions-rs/components-nightly`](https://github.com/actions-rs/components-nightly) Action,
which makes this process much easier.
## Notes
2019-09-15 17:24:13 +08:00
As `rustup` is not installed by default for [macOS environments](https://help.github.com/en/articles/virtual-environments-for-github-actions)
at the moment (2019-09-13), this Action will try its best to install it before any other operations.