Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
play

GitHub Action

Install development tools

v2.8.4

Install development tools

play

Install development tools

GitHub Action for installing development tools

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Install development tools

uses: taiki-e/[email protected]

Learn more about this action in taiki-e/install-action

Choose a version

install-action

release build status

GitHub Action for installing development tools (mainly from GitHub Releases).

Usage

Inputs

Name Required Description Type Default
tool true Tools to install (comma-separated list) String
checksum false Whether to enable checksums Boolean true

Example workflow

To install the latest version:

- uses: taiki-e/install-action@v2
  with:
    tool: cargo-hack

You can use the shorthand (if you do not need to pin the versions of this action and the installed tool):

- uses: taiki-e/install-action@cargo-hack

To install a specific version, use @version syntax:

- uses: taiki-e/install-action@v2
  with:
    tool: [email protected]

You can also omit patch version. (You can also omit the minor version if the major version is 1 or greater.)

- uses: taiki-e/install-action@v2
  with:
    tool: [email protected]

To install multiple tools:

- uses: taiki-e/install-action@v2
  with:
    tool: cargo-hack,cargo-minimal-versions

Or:

- uses: taiki-e/install-action@cargo-hack
- uses: taiki-e/install-action@cargo-minimal-versions

Supported tools

Name Where binaries will be installed Where will it be installed from Supported platform License
cargo-binstall $CARGO_HOME/bin GitHub Releases Linux, macOS, Windows GPL-3.0
cargo-deny $CARGO_HOME/bin GitHub Releases Linux, macOS, Windows Apache-2.0 OR MIT
cargo-hack $CARGO_HOME/bin GitHub Releases Linux, macOS, Windows Apache-2.0 OR MIT
cargo-llvm-cov $CARGO_HOME/bin GitHub Releases Linux, macOS, Windows Apache-2.0 OR MIT
cargo-minimal-versions $CARGO_HOME/bin GitHub Releases Linux, macOS, Windows Apache-2.0 OR MIT
cargo-tarpaulin $CARGO_HOME/bin GitHub Releases Linux, macOS, Windows Apache-2.0 OR MIT
cargo-no-dev-deps $CARGO_HOME/bin GitHub Releases Linux, macOS, Windows Apache-2.0 OR MIT
cargo-udeps $CARGO_HOME/bin GitHub Release Linux, macOS, Windows Apache-2.0 OR MIT
cargo-valgrind $CARGO_HOME/bin GitHub Release Linux, macOS, Windows MIT or Apache-2.0
cross $CARGO_HOME/bin GitHub Releases Linux, macOS, Windows Apache-2.0 OR MIT
grcov $CARGO_HOME/bin GitHub Releases Linux, macOS, Windows MPL-2.0
just $CARGO_HOME/bin GitHub Releases Linux, macOS, Windows CC0-1.0
dprint $CARGO_HOME/bin GitHub Releases Linux, macOS, Windows MIT
mdbook-linkcheck $CARGO_HOME/bin GitHub Releases Linux, macOS, Windows MIT
mdbook $CARGO_HOME/bin GitHub Releases Linux, macOS, Windows MPL-2.0
nextest (alias: cargo-nextest) $CARGO_HOME/bin GitHub Releases Linux, macOS, Windows Apache-2.0 OR MIT
parse-changelog $CARGO_HOME/bin GitHub Releases Linux, macOS, Windows Apache-2.0 OR MIT
protoc $HOME/.install-action/bin GitHub Releases Linux, macOS, Windows BSD-3-Clause
shellcheck /usr/local/bin GitHub Releases Linux, macOS, Windows GPL-3.0-or-later
shfmt /usr/local/bin GitHub Releases Linux, macOS, Windows BSD-3-Clause
valgrind /snap/bin snap Linux GPL-2.0-or-later
wasm-pack $CARGO_HOME/bin GitHub Releases Linux, macOS, Windows Apache-2.0 OR MIT
wasmtime $CARGO_HOME/bin GitHub Releases Linux, macOS, Windows Apache-2.0 WITH LLVM-exception
zola $CARGO_HOME/bin GitHub Releases Linux, macOS, Windows MIT

If $CARGO_HOME/bin is not available, Rust-related binaries will be installed to $HOME/.cargo/bin.
If $HOME/.cargo/bin is not available, Rust-related binaries will be installed to /usr/local/bin.
If /usr/local/bin is not available, binaries will be installed to $HOME/.install-action/bin.

If a tool not included in the list above is specified, this action uses cargo-binstall as a fallback.

Security

When installing the tool from GitHub Releases, this action will download the tool or its installer from GitHub Releases using HTTPS with tlsv1.2+. This is basically considered to be the same level of security as the recommended installation of rustup.

Additionally, this action will also verify SHA256 checksums for downloaded files in all tools installed from GitHub Releases. This is enabled by default and can be disabled by setting the checksum input option to false.

See the linked documentation for information on security when installed using snap or cargo-binstall.

Compatibility

This action has been tested for GitHub-hosted runners (Ubuntu, macOS, Windows) and containers (Ubuntu, Debian, Alpine, Fedora, CentOS, Rocky). To use this action in self-hosted runners or in containers, at least the following tools are required:

  • bash
  • cargo (if you use cargo-binstall fallback)

Related Projects

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Each of the tools installed by this action has a different license. See the Supported tools section for more information.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.