diff --git a/TOOLS.md b/TOOLS.md index c40d5e3d1..8003f44ed 100644 --- a/TOOLS.md +++ b/TOOLS.md @@ -4,14 +4,13 @@ This is a list of tools that are installed from manifests managed in this action If a tool not included in the list below is specified, this action uses [cargo-binstall] as a fallback. -See the [Supported tools section in README.md](README.md#supported-tools) for how to ensure that fallback is not used. - > 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 `$HOME/.install-action/bin`.
| Name | Where binaries will be installed | Where will it be installed from | Supported platform | License | | ---- | -------------------------------- | ------------------------------- | ------------------ | ------- | | [**biome**](https://biomejs.dev) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/biomejs/biome/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/biomejs/biome/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/biomejs/biome/blob/main/LICENSE-MIT) | +| [**cargo-acl**](https://github.com/cackle-rs/cackle) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/cackle-rs/cackle/releases) | Linux | [Apache-2.0 OR MIT](https://github.com/cackle-rs/cackle/blob/main/LICENSE) | | [**cargo-audit**](https://github.com/rustsec/rustsec/tree/HEAD/cargo-audit) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rustsec/rustsec/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/rustsec/rustsec/blob/HEAD/cargo-audit/LICENSE-APACHE) OR [MIT](https://github.com/rustsec/rustsec/blob/HEAD/cargo-audit/LICENSE-MIT) | | [**cargo-binstall**](https://github.com/cargo-bins/cargo-binstall) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/cargo-bins/cargo-binstall/releases) | Linux, macOS, Windows | [GPL-3.0](https://github.com/cargo-bins/cargo-binstall/blob/HEAD/crates/bin/LICENSE) | | [**cargo-careful**](https://github.com/RalfJung/cargo-careful) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/RalfJung/cargo-careful/releases) | Linux, macOS, Windows | [MIT](https://github.com/RalfJung/cargo-careful/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/RalfJung/cargo-careful/blob/master/LICENSE-APACHE) | @@ -45,6 +44,7 @@ See the [Supported tools section in README.md](README.md#supported-tools) for ho | [**hyperfine**](https://github.com/sharkdp/hyperfine) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/sharkdp/hyperfine/releases) | Linux, macOS, Windows | [MIT](https://github.com/sharkdp/hyperfine/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/sharkdp/hyperfine/blob/master/LICENSE-APACHE) | | [**jaq**](https://github.com/01mf02/jaq) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/01mf02/jaq/releases) | Linux, macOS, Windows | [MIT](https://github.com/01mf02/jaq/blob/main/LICENSE-MIT) | | [**just**](https://github.com/casey/just) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/casey/just/releases) | Linux, macOS, Windows | [CC0-1.0](https://github.com/casey/just/blob/master/LICENSE) | +| [**knope**](https://github.com/knope-dev/knope) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/knope-dev/knope/releases) | Linux, macOS, Windows | [MIT](https://github.com/knope-dev/knope/blob/main/LICENSE) | | [**mdbook**](https://github.com/rust-lang/mdBook) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rust-lang/mdBook/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/rust-lang/mdBook/blob/master/LICENSE) | | [**mdbook-linkcheck**](https://github.com/Michael-F-Bryan/mdbook-linkcheck) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/Michael-F-Bryan/mdbook-linkcheck/releases) | Linux, macOS, Windows | [MIT](https://github.com/Michael-F-Bryan/mdbook-linkcheck/blob/master/LICENSE) | | [**osv-scanner**](https://github.com/google/osv-scanner) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/google/osv-scanner/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/google/osv-scanner/blob/main/LICENSE) | diff --git a/main.sh b/main.sh index 085ce8a1c..0734c2a8c 100755 --- a/main.sh +++ b/main.sh @@ -76,6 +76,8 @@ download_and_extract() { case "${tool}" in # xbuild's binary name is "x", as opposed to the usual crate name xbuild) installed_bin=("${bin_dir}/x${exe}") ;; + # cargo-acl's binary includes ${version} & ${rust_target} + cargo-acl) installed_bin=("${bin_dir}/${bin_dir}") ;; # editorconfig-checker's binary name is renamed below editorconfig-checker) installed_bin=("${bin_dir}/${tool}${exe}") ;; *) diff --git a/manifests/cargo-acl.json b/manifests/cargo-acl.json new file mode 100644 index 000000000..cbd76d09f --- /dev/null +++ b/manifests/cargo-acl.json @@ -0,0 +1,21 @@ +{ + "rust_crate": "cargo-acl", + "template": { + "x86_64_linux_musl": { + "url": "https://github.com/cackle-rs/cackle/releases/download/v${version}/cackle-v${version}-x86_64-unknown-linux-musl.tar.gz" + } + }, + "license_markdown": "[Apache-2.0 OR MIT](https://github.com/cackle-rs/cackle/blob/main/LICENSE)", + "latest": { + "version": "0.8.0" + }, + "0.8": { + "version": "0.8.0" + }, + "0.8.0": { + "x86_64_linux_musl": { + "etag": "0x8DC715A0F356A32", + "checksum": "88a08a2f75ca3aa218822c0bae5c581fc3fe5e60469840be42ed00cc6fe42969" + } + } +} diff --git a/tools/codegen/base/cargo-acl.json b/tools/codegen/base/cargo-acl.json new file mode 100644 index 000000000..01304d9af --- /dev/null +++ b/tools/codegen/base/cargo-acl.json @@ -0,0 +1,13 @@ +{ + "repository": "https://github.com/cackle-rs/cackle", + "license_markdown": "[Apache-2.0 OR MIT](https://github.com/cackle-rs/cackle/blob/main/LICENSE)", + "tag_prefix": "v", + "rust_crate": "${package}", + "version_range": ">= 0.8.0", + "platform": { + "x86_64_linux_musl": { + "asset_name": "cackle-v${version}-${rust_target}.tar.gz", + "bin": "cackle-v${version}-${rust_target}" + } + } +} diff --git a/tools/codegen/src/lib.rs b/tools/codegen/src/lib.rs index aac046034..4d6fec81f 100644 --- a/tools/codegen/src/lib.rs +++ b/tools/codegen/src/lib.rs @@ -251,7 +251,7 @@ impl BaseManifest { assert!(!bin.as_slice().is_empty()); for bin in bin.as_slice() { let file_name = Path::new(bin).file_name().unwrap().to_str().unwrap(); - if !self.repository.ends_with("/xbuild") { + if !self.repository.ends_with("/xbuild") && !self.repository.ends_with("/cackle") { assert!( !(file_name.contains("${version") || file_name.contains("${rust")), "{bin}"