mirror of
https://github.com/actions-rs/cargo.git
synced 2024-11-13 04:56:32 +02:00
Release v1.0.0
This commit is contained in:
parent
0deeed314b
commit
eadeb9d8b9
3 changed files with 42 additions and 15 deletions
51
README.md
51
README.md
|
@ -1,5 +1,6 @@
|
|||
# Rust `cargo` Action
|
||||
|
||||
![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)
|
||||
[![Gitter](https://badges.gitter.im/actions-rs/community.svg)](https://gitter.im/actions-rs/community)
|
||||
|
||||
This GitHub Action runs specified [`cargo`](https://github.com/rust-lang/cargo)
|
||||
|
@ -21,27 +22,53 @@ jobs:
|
|||
- 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`)
|
||||
* `toolchain` - Rust toolchain to use (without the `+` sign, ex. `nightly`);\
|
||||
Override or system toolchain will be used if omitted.
|
||||
* `args` - Arguments for the cargo command
|
||||
* `use-cross` - Use [`cross`](https://github.com/rust-embedded/cross) instead of `cargo` (default: `false`)
|
||||
|
||||
## Why?
|
||||
## Virtual environments
|
||||
|
||||
Why is it needed when you can just do the `-run: cargo build` step?
|
||||
Note that `cargo` is not available by default for all [virtual environments](https://help.github.com/en/articles/software-in-virtual-environments-for-github-actions);
|
||||
for example, as for 2019-09-15, `macOS` env is missing it.
|
||||
|
||||
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.
|
||||
You can use [`actions-rs/toolchain`](https://github.com/actions-rs/toolchain)
|
||||
to install the Rust toolchain with `cargo` included.
|
||||
|
||||
In a future this Action might be available to install other cargo subcommands on demand too.
|
||||
## Cross
|
||||
|
||||
In order to make cross-compilation an easy process,
|
||||
this Action can install [cross](https://github.com/rust-embedded/cross)
|
||||
tool on demand if `use-cross` input is enabled; `cross` executable will be invoked
|
||||
then instead of `cargo` automatically.
|
||||
|
||||
All consequent calls of this Action in the same job will use the same `cross` installed.
|
||||
|
||||
```yaml
|
||||
on: [push]
|
||||
|
||||
name: ARMv7 build
|
||||
|
||||
jobs:
|
||||
linux_arm7:
|
||||
name: Linux ARMv7
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: stable
|
||||
target: armv7-unknown-linux-gnueabihf
|
||||
override: true
|
||||
- uses: actions-rs/cargo@v1
|
||||
with:
|
||||
use-cross: true
|
||||
command: build
|
||||
args: --target armv7-unknown-linux-gnueabihf
|
||||
```
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
name: 'cargo'
|
||||
name: 'rust-cargo'
|
||||
description: 'Run cargo command'
|
||||
author: 'actions-rs team'
|
||||
branding:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "cargo",
|
||||
"version": "0.1.0",
|
||||
"name": "rust-cargo",
|
||||
"version": "1.0.0",
|
||||
"private": false,
|
||||
"description": "Run cargo command",
|
||||
"main": "lib/main.js",
|
||||
|
|
Loading…
Reference in a new issue