2021-12-30 17:33:20 +09:00
# install-action
[](https://github.com/taiki-e/install-action/actions)
GitHub Action for installing development tools (mainly from GitHub Releases).
- [Usage ](#usage )
- [Inputs ](#inputs )
- [Example workflow ](#example-workflow )
- [Supported tools ](#supported-tools )
- [Security ](#security )
- [Related Projects ](#related-projects )
- [License ](#license )
## Usage
### Inputs
| Name | Required | Description | Type | Default |
| ---- |:--------:| ----------- | ---- | ------- |
| tool | **true ** | Tools to install (comma-separated list) | String | |
### Example workflow
```yaml
- uses: taiki-e/install-action@v1
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):
```yaml
- uses: taiki-e/install-action@cargo -hack
```
To install a specific version, use `@version` syntax:
```yaml
- uses: taiki-e/install-action@v1
with:
2022-01-07 03:12:35 +09:00
tool: cargo-hack@0 .5.10
2021-12-30 17:33:20 +09:00
```
To install multiple tools:
```yaml
- uses: taiki-e/install-action@v1
with:
tool: cargo-hack,cargo-minimal-versions
```
Or:
```yaml
- uses: taiki-e/install-action@cargo -hack
- uses: taiki-e/install-action@cargo -minimal-versions
```
## Supported tools
<!--
License should use SPDX license identifiers.
https://spdx.org/licenses
-->
| Name | Where binaries will be installed | Where will it be installed from | Supported platform | License |
| ---- | -------------------------------- | ------------------------------- | ------------------ | ------- |
| [**cargo-hack** ](https://github.com/taiki-e/cargo-hack ) | `~/.cargo/bin` | [GitHub Releases ](https://github.com/taiki-e/cargo-hack/releases ) | Linux, macOS, Windows | [Apache-2.0 ](https://github.com/taiki-e/cargo-hack/blob/HEAD/LICENSE-APACHE ) OR [MIT ](https://github.com/taiki-e/cargo-hack/blob/HEAD/LICENSE-MIT ) |
| [**cargo-llvm-cov** ](https://github.com/taiki-e/cargo-llvm-cov ) | `~/.cargo/bin` | [GitHub Releases ](https://github.com/taiki-e/cargo-llvm-cov/releases ) | Linux, macOS, Windows | [Apache-2.0 ](https://github.com/taiki-e/cargo-llvm-cov/blob/HEAD/LICENSE-APACHE ) OR [MIT ](https://github.com/taiki-e/cargo-llvm-cov/blob/HEAD/LICENSE-MIT ) |
| [**cargo-minimal-versions** ](https://github.com/taiki-e/cargo-minimal-versions ) | `~/.cargo/bin` | [GitHub Releases ](https://github.com/taiki-e/cargo-minimal-versions/releases ) | Linux, macOS, Windows | [Apache-2.0 ](https://github.com/taiki-e/cargo-minimal-versions/blob/HEAD/LICENSE-APACHE ) OR [MIT ](https://github.com/taiki-e/cargo-minimal-versions/blob/HEAD/LICENSE-MIT ) |
| [**parse-changelog** ](https://github.com/taiki-e/parse-changelog ) | `~/.cargo/bin` | [GitHub Releases ](https://github.com/taiki-e/parse-changelog/releases ) | Linux, macOS, Windows | [Apache-2.0 ](https://github.com/taiki-e/parse-changelog/blob/HEAD/LICENSE-APACHE ) OR [MIT ](https://github.com/taiki-e/parse-changelog/blob/HEAD/LICENSE-MIT ) |
| [**cross** ](https://github.com/rust-embedded/cross ) | `~/.cargo/bin` | [GitHub Releases ](https://github.com/rust-embedded/cross/releases ) | Linux, macOS, Windows | [Apache-2.0 ](https://github.com/rust-embedded/cross/blob/HEAD/LICENSE-APACHE ) OR [MIT ](https://github.com/rust-embedded/cross/blob/HEAD/LICENSE-MIT ) |
| [**shellcheck** ](https://www.shellcheck.net ) | `/usr/local/bin` | [GitHub Releases ](https://github.com/koalaman/shellcheck/releases ) | Linux, macOS | [GPL-3.0-or-later ](https://github.com/koalaman/shellcheck/blob/HEAD/LICENSE ) |
| [**shfmt** ](https://github.com/mvdan/sh ) | `/usr/local/bin` | [GitHub Releases ](https://github.com/mvdan/sh/releases ) | Linux, macOS | [BSD-3-Clause ](https://github.com/mvdan/sh/blob/HEAD/LICENSE ) |
<!-- TODO:
| [**cmake** ](https://cmake.org ) | | [GitHub Releases ](https://github.com/Kitware/CMake/releases ) | Linux, macOS, Windows | [BSD-3-Clause ](https://github.com/Kitware/CMake/blob/HEAD/Copyright.txt ) |
-->
## 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 ](https://www.rust-lang.org/tools/install ).
If you want a higher level of security, consider working on [#1 ](https://github.com/taiki-e/install-action/issues/1 ).
## Related Projects
- [create-gh-release-action]: GitHub Action for creating GitHub Releases based on changelog.
- [upload-rust-binary-action]: GitHub Action for building and uploading Rust binary to GitHub Releases.
[create-gh-release-action]: https://github.com/taiki-e/create-gh-release-action
[upload-rust-binary-action]: https://github.com/taiki-e/upload-rust-binary-action
## License
Licensed under either of [Apache License, Version 2.0 ](LICENSE-APACHE ) or
[MIT license ](LICENSE-MIT ) at your option.
Each of the tools installed by this action has a different license. See the [Supported tools ](#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.