Crates.io | cargo-gha |
lib.rs | cargo-gha |
version | 1.0.2 |
source | src |
created_at | 2023-08-22 22:02:40.392231 |
updated_at | 2024-01-02 20:02:52.80731 |
description | Version lock, cache, and run binaries from any Github Release assets. Pull in external tools and keep the versions in sync across your team, and forget installing globally. |
homepage | https://github.com/dustinblackman/cargo-gha |
repository | https://github.com/dustinblackman/cargo-gha |
max_upload_size | |
id | 951381 |
size | 171,093 |
Version lock, cache, and run binaries from any Github Release assets. Pull in external tools and keep the versions in sync across your team, and forget installing globally.
A companion tool to cargo-run-bin
, cargo-gha
handles downloading
and persisting tools from any Github Release assets, keeping versions available and in sync across your team.
Run the following to install cargo-gha
, and ignore the cache directory in your project.
cargo install cargo-gha
echo ".gha/" >> .gitignore
Or if using cargo-run-bin
, add it Cargo.toml.
[package.metadata.bin]
cargo-gha = { version = "1.0.0" }
cargo bin --sync-aliases
echo ".gha/" >> .gitignore
cargo-gha
has an interactive experience to add assets to Cargo.toml. Before starting, you must specify the target architectures you and your team use.
[package.metadata.gha]
targets = ["x86_64-apple-darwin", "x86_64-unknown-linux-gnu"]
Once set, run the following to add an asset and follow the steps. As an example, let's add ProtocolBuffer's protoc
.
cargo gha --add protocolbuffers/protobuf
# Or
cargo gha --add https://github.com/protocolbuffers/protobuf
Installed! protoc
is now available through cargo-gha
. Try it!
cargo gha protoc --help
cargo gha BINARY
Taking an example of protoc
, running cargo gha protoc --help
with install and cache the protoc binary with the
specified version in Cargo.toml
. All future executions will run instantly without an install step, and protoc can be used
as you wish!
cargo gha --install
When pulling down a new repo, or adding a step to CI, cargo gha --install
will install all assets that have not been
cached which are configured in Cargo.toml
.
MIT.