Find a file
2019-09-19 13:20:38 +03:00
.github Proper path for workflows configuration 2019-09-19 13:20:38 +03:00
__tests__ Smarter args parser and a few debug messages 2019-09-13 22:45:36 +03:00
dist Removing bundled version of the @actions/core:info function 2019-09-19 13:11:14 +03:00
src Removing bundled version of the @actions/core:info function 2019-09-19 13:11:14 +03:00
.editorconfig Initial commit 2019-09-12 23:48:44 +03:00
.gitignore Initial commit 2019-09-12 23:48:44 +03:00
action.yml Release v1.0.0 2019-09-15 11:47:03 +03:00
jest.config.js Initial commit 2019-09-12 23:48:44 +03:00
LICENSE Initial commit 2019-09-12 23:48:44 +03:00
package-lock.json Bump @actions/core from 1.1.0 to 1.1.1 2019-09-19 07:19:37 +00:00
package.json Bump @actions/core from 1.1.0 to 1.1.1 2019-09-19 07:19:37 +00:00
README.md Typo in the example workflow 2019-09-18 12:56:41 +03:00
tsconfig.json Initial commit 2019-09-12 23:48:44 +03:00

Rust cargo Action

MIT licensed Gitter

This GitHub Action runs specified cargo command on a Rust language project.

Example workflow

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
          args: --release --all-features

See additional recipes here.

Inputs

  • command (required) - Cargo command to run (ex. check or build)
  • 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 instead of cargo (default: false)

Virtual environments

Note that cargo is not available by default for some virtual environments; for example, as for 2019-09-15, macOS env is missing it.

You can use actions-rs/toolchain to install the Rust toolchain with cargo included.

Cross

In order to make cross-compilation an easy process, this Action can install 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.

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