rs-cargo/README.md

48 lines
1.3 KiB
Markdown
Raw Normal View History

2019-09-12 23:48:44 +03:00
# Rust `cargo` Action
2019-09-14 20:42:21 +03:00
[![Gitter](https://badges.gitter.im/actions-rs/community.svg)](https://gitter.im/actions-rs/community)
2019-09-12 23:48:44 +03:00
This GitHub Action runs specified [`cargo`](https://github.com/rust-lang/cargo)
command on a Rust language project.
## Example workflow
```yaml
on: [push]
name: CI
jobs:
build_and_test:
name: Rust project
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions-rs/cargo@v1
with:
command: build
toolchain: nightly
arguments: --release --all-features
- uses: actions-rs/cargo@v1
with:
command: test
toolchain: nightly
arguments: --all-targets
```
## Inputs
* `command` (*required*) - Cargo command to run (ex. `check` or `build`)
* `toolchain` - Rust toolchain to use (without the `+` sign, ex. `nightly`)
* `args` - Arguments for the cargo command
2019-09-13 00:21:16 +03:00
* `use-cross` - Use [`cross`](https://github.com/rust-embedded/cross) instead of `cargo` (default: `false`)
## Why?
Why is it needed when you can just do the `-run: cargo build` step?
Because it can call [cross](https://github.com/rust-embedded/cross) instead of `cargo`
if needed. If `cross` is not installed, it will be installed automatically on a first call.
In a future this Action might be available to install other cargo subcommands on demand too.