mirror of
https://github.com/dtolnay/install.git
synced 2024-11-22 00:19:31 +01:00
Fast
cargo install
action using a GitHub-based binary cache
59115418f6
GitHub's default timeout is 6 hours. Recently some of my GitHub Actions jobs have started randomly stalling for that long, which is inconvenient because it ties up a chunk of my runner quota. It apepars to be very rare for a job to recover after stalling. It's better to time out quicker and retry on a different runner. |
||
---|---|---|
.github | ||
scripts | ||
.gitignore | ||
action.yml | ||
LICENSE | ||
README.md | ||
signing-key.asc |
Fast cargo install
action
This GitHub Action installs a Rust crate using precompiled signed binaries built on GitHub and hosted as GitHub release artifacts.
Example workflow
name: test suite
on: [push, pull_request]
jobs:
expand:
name: cargo expand
runs-on: ubuntu-latest
steps:
- uses: dtolnay/install@master
with:
crate: cargo-expand
- run: cargo expand --help
Inputs
Name | Required | Description |
---|---|---|
crate |
✓ | Name of crate as published to crates.io |
bin |
Name of binary; default = same as crate name |
Security considerations
Check the .github/workflows
directory of this repo for the GitHub Actions
logic which compiles, signs, and publishes each binary.
This Action downloads both the binary executable and its signature. The
signature is verified using gpg and the public key available in
signing-key.asc
. The corresponding private key is provided to this repo's
build jobs as a GitHub secret.
License
The scripts and documentation in this project are released under the MIT License.