mirror of
https://github.com/taiki-e/install-action.git
synced 2026-04-28 10:00:26 +00:00
Compare commits
30 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a6b28c31ef | ||
|
|
09cf616b64 | ||
|
|
2f6cd157e0 | ||
|
|
3660b253bf | ||
|
|
6cd53f784a | ||
|
|
eb8dccef73 | ||
|
|
442088fba1 | ||
|
|
18cb28e03d | ||
|
|
099d544df2 | ||
|
|
05558ee559 | ||
|
|
5692c4095a | ||
|
|
afd84994bb | ||
|
|
b45f49a51d | ||
|
|
01c3792929 | ||
|
|
401ee5db19 | ||
|
|
6801bd56b9 | ||
|
|
ad25912b73 | ||
|
|
cc5a5c56a2 | ||
|
|
d85ed71ccb | ||
|
|
a257529eaf | ||
|
|
69081f5990 | ||
|
|
fc173345fb | ||
|
|
e6b049c3b7 | ||
|
|
7838381fcf | ||
|
|
8cdc2a9825 | ||
|
|
7f27b7d8d5 | ||
|
|
e156747327 | ||
|
|
26fa6681fb | ||
|
|
25d7b33a71 | ||
|
|
f96cc5318d |
3
.github/.cspell/project-dictionary.txt
vendored
3
.github/.cspell/project-dictionary.txt
vendored
@@ -1,3 +1,4 @@
|
||||
almalinux
|
||||
binstall
|
||||
coreutils
|
||||
distro
|
||||
@@ -15,11 +16,11 @@ nextest
|
||||
protoc
|
||||
pwsh
|
||||
quickinstall
|
||||
rockylinux
|
||||
shellcheck
|
||||
shfmt
|
||||
syft
|
||||
udeps
|
||||
wasmtime
|
||||
watchexec
|
||||
xbuild
|
||||
xscale
|
||||
|
||||
30
.github/workflows/ci.yml
vendored
30
.github/workflows/ci.yml
vendored
@@ -55,7 +55,7 @@ jobs:
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 60
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
# cross attempts to install rust-src when Cargo.toml is available even if `cross --version`
|
||||
@@ -102,10 +102,10 @@ jobs:
|
||||
- debian:11-slim # glibc 2.31
|
||||
- debian:12-slim # glibc 2.36
|
||||
- fedora:latest # glibc 2.37 (as of fedora 38)
|
||||
- rockylinux:8 # glibc 2.28
|
||||
- rockylinux:8-minimal # glibc 2.28
|
||||
- rockylinux:9 # glibc 2.34
|
||||
- rockylinux:9-minimal # glibc 2.34
|
||||
- almalinux:8 # glibc 2.28
|
||||
- almalinux:8-minimal # glibc 2.28
|
||||
- almalinux:9 # glibc 2.34
|
||||
- almalinux:9-minimal # glibc 2.34
|
||||
- centos:7 # glibc 2.17
|
||||
- alpine:latest # musl 1.2.4 (as of alpine 3.18)
|
||||
runs-on: ubuntu-latest
|
||||
@@ -118,29 +118,23 @@ jobs:
|
||||
apt-get -o Acquire::Retries=10 -qq update
|
||||
apt-get -o Acquire::Retries=10 -o Dpkg::Use-Pty=0 install -y --no-install-recommends cargo
|
||||
if: startsWith(matrix.container, 'ubuntu') || startsWith(matrix.container, 'debian')
|
||||
- name: Install requirements (fedora/rockylinux)
|
||||
- name: Install requirements (fedora/almalinux/centos)
|
||||
run: |
|
||||
set -euxo pipefail
|
||||
dnf=dnf
|
||||
if ! type -P dnf &>/dev/null; then
|
||||
dnf=microdnf
|
||||
if ! type -P dnf &>/dev/null && type -P microdnf &>/dev/null; then
|
||||
# tar and gzip are required for actions/checkout on *-minimal images
|
||||
microdnf install -y tar gzip
|
||||
fi
|
||||
# tar and gzip are required for actions/checkout on rockylinux:*-minimal
|
||||
$dnf install -y cargo tar gzip
|
||||
if: startsWith(matrix.container, 'fedora') || startsWith(matrix.container, 'rockylinux')
|
||||
- name: Install requirements (centos)
|
||||
run: |
|
||||
set -euxo pipefail
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain stable
|
||||
echo "$HOME/.cargo/bin" >>"${GITHUB_PATH}"
|
||||
if: startsWith(matrix.container, 'centos')
|
||||
if: startsWith(matrix.container, 'fedora') || startsWith(matrix.container, 'almalinux') || startsWith(matrix.container, 'centos')
|
||||
- name: Install requirements (alpine)
|
||||
run: |
|
||||
set -eux
|
||||
apk --no-cache add bash cargo
|
||||
shell: sh
|
||||
if: startsWith(matrix.container, 'alpine')
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v3 # TODO: actions/checkout@v3 requires glibc 2.28+
|
||||
with:
|
||||
persist-credentials: false
|
||||
# cross attempts to install rust-src when Cargo.toml is available even if `cross --version`
|
||||
@@ -159,7 +153,7 @@ jobs:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Install Rust
|
||||
|
||||
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
@@ -20,7 +20,7 @@ jobs:
|
||||
permissions:
|
||||
contents: write
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
- uses: taiki-e/create-gh-release-action@v1
|
||||
|
||||
57
CHANGELOG.md
57
CHANGELOG.md
@@ -10,6 +10,52 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [2.18.2] - 2023-09-08
|
||||
|
||||
- Update `protoc@latest` to 3.24.3.
|
||||
|
||||
## [2.18.1] - 2023-09-05
|
||||
|
||||
- Diagnostic improvements.
|
||||
|
||||
## [2.18.0] - 2023-09-04
|
||||
|
||||
- Support `xbuild`. ([#212](https://github.com/taiki-e/install-action/pull/212), thanks @notgull)
|
||||
|
||||
- Update `cargo-hack@latest` to 0.6.5.
|
||||
|
||||
- Update `cargo-deny@latest` to 0.14.2.
|
||||
|
||||
## [2.17.8] - 2023-09-01
|
||||
|
||||
- Update `syft@latest` to 0.89.0.
|
||||
|
||||
## [2.17.7] - 2023-08-29
|
||||
|
||||
- Update `cargo-hack@latest` to 0.6.4.
|
||||
|
||||
## [2.17.6] - 2023-08-28
|
||||
|
||||
- Update `cargo-no-dev-deps@latest` to 0.2.4.
|
||||
|
||||
- Update `cargo-minimal-versions@latest` to 0.1.16.
|
||||
|
||||
- Update `cargo-hack@latest` to 0.6.3.
|
||||
|
||||
## [2.17.5] - 2023-08-28
|
||||
|
||||
- Update `cargo-hack@latest` to 0.6.2.
|
||||
|
||||
## [2.17.4] - 2023-08-28
|
||||
|
||||
- Update `cargo-hack@latest` to 0.6.1.
|
||||
|
||||
## [2.17.3] - 2023-08-28
|
||||
|
||||
- Update `cargo-minimal-versions@latest` to 0.1.15.
|
||||
|
||||
- Update `cargo-hack@latest` to 0.6.0.
|
||||
|
||||
## [2.17.2] - 2023-08-27
|
||||
|
||||
- Update `cargo-udeps@latest` to 0.1.42.
|
||||
@@ -1127,7 +1173,16 @@ Note: This release is considered a breaking change because installing on version
|
||||
|
||||
Initial release
|
||||
|
||||
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.17.2...HEAD
|
||||
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.18.2...HEAD
|
||||
[2.18.2]: https://github.com/taiki-e/install-action/compare/v2.18.1...v2.18.2
|
||||
[2.18.1]: https://github.com/taiki-e/install-action/compare/v2.18.0...v2.18.1
|
||||
[2.18.0]: https://github.com/taiki-e/install-action/compare/v2.17.8...v2.18.0
|
||||
[2.17.8]: https://github.com/taiki-e/install-action/compare/v2.17.7...v2.17.8
|
||||
[2.17.7]: https://github.com/taiki-e/install-action/compare/v2.17.6...v2.17.7
|
||||
[2.17.6]: https://github.com/taiki-e/install-action/compare/v2.17.5...v2.17.6
|
||||
[2.17.5]: https://github.com/taiki-e/install-action/compare/v2.17.4...v2.17.5
|
||||
[2.17.4]: https://github.com/taiki-e/install-action/compare/v2.17.3...v2.17.4
|
||||
[2.17.3]: https://github.com/taiki-e/install-action/compare/v2.17.2...v2.17.3
|
||||
[2.17.2]: https://github.com/taiki-e/install-action/compare/v2.17.1...v2.17.2
|
||||
[2.17.1]: https://github.com/taiki-e/install-action/compare/v2.17.0...v2.17.1
|
||||
[2.17.0]: https://github.com/taiki-e/install-action/compare/v2.16.5...v2.17.0
|
||||
|
||||
@@ -82,8 +82,8 @@ https://spdx.org/licenses
|
||||
| Name | Where binaries will be installed | Where will it be installed from | Supported platform | License |
|
||||
| ---- | -------------------------------- | ------------------------------- | ------------------ | ------- |
|
||||
| [**cargo-binstall**][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-deny**](https://github.com/EmbarkStudios/cargo-deny) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/EmbarkStudios/cargo-deny/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/EmbarkStudios/cargo-deny/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/EmbarkStudios/cargo-deny/blob/HEAD/LICENSE-MIT) |
|
||||
| [**cargo-careful**](https://github.com/RalfJung/cargo-careful) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/RalfJung/cargo-careful/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/RalfJung/cargo-careful/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/RalfJung/cargo-careful/blob/HEAD/LICENSE-MIT) |
|
||||
| [**cargo-deny**](https://github.com/EmbarkStudios/cargo-deny) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/EmbarkStudios/cargo-deny/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/EmbarkStudios/cargo-deny/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/EmbarkStudios/cargo-deny/blob/HEAD/LICENSE-MIT) |
|
||||
| [**cargo-dinghy**](https://github.com/sonos/dinghy) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/sonos/dinghy/releases) | Linux, macOS | [Apache-2.0](https://github.com/sonos/dinghy/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/sonos/dinghy/blob/HEAD/LICENSE-MIT) |
|
||||
| [**cargo-hack**](https://github.com/taiki-e/cargo-hack) | `$CARGO_HOME/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_HOME/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) |
|
||||
@@ -109,6 +109,7 @@ https://spdx.org/licenses
|
||||
| [**valgrind**](https://valgrind.org) | `/snap/bin` | [snap](https://snapcraft.io/install/valgrind/ubuntu) | Linux | [GPL-2.0-or-later](https://valgrind.org/docs/manual/license.gpl.html) |
|
||||
| [**wasm-pack**](https://github.com/rustwasm/wasm-pack) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rustwasm/wasm-pack/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/rustwasm/wasm-pack/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/rustwasm/wasm-pack/blob/HEAD/LICENSE-MIT) |
|
||||
| [**wasmtime**](https://github.com/bytecodealliance/wasmtime) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/bytecodealliance/wasmtime/releases) | Linux, macOS, Windows | [Apache-2.0 WITH LLVM-exception](https://github.com/bytecodealliance/wasmtime/blob/HEAD/LICENSE) |
|
||||
| [**xbuild**](https://github.com/rust-mobile/xbuild) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rust-mobile/xbuild/releases) | Linux, macOS, Windows | Apache-2.0 OR MIT |
|
||||
| [**zola**](https://github.com/getzola/zola) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/getzola/zola/releases) | Linux, macOS, Windows | [MIT](https://github.com/getzola/zola/blob/HEAD/LICENSE) |
|
||||
|
||||
If `$CARGO_HOME/bin` is not available, Rust-related binaries will be installed to `$HOME/.cargo/bin`.<br>
|
||||
@@ -131,7 +132,7 @@ See the linked documentation for information on security when installed using [s
|
||||
|
||||
## Compatibility
|
||||
|
||||
This action has been tested for GitHub-hosted runners (Ubuntu, macOS, Windows) and containers (Ubuntu, Debian, Alpine, Fedora, CentOS, Rocky).
|
||||
This action has been tested for GitHub-hosted runners (Ubuntu, macOS, Windows) and containers (Ubuntu, Debian, Alpine, Fedora, CentOS, Alma).
|
||||
To use this action in self-hosted runners or in containers, at least the following tools are required:
|
||||
|
||||
- bash
|
||||
|
||||
51
main.sh
51
main.sh
@@ -3,7 +3,7 @@
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
x() {
|
||||
rx() {
|
||||
local cmd="$1"
|
||||
shift
|
||||
(
|
||||
@@ -69,7 +69,12 @@ download_and_extract() {
|
||||
fi
|
||||
fi
|
||||
local installed_bin
|
||||
installed_bin="${bin_dir}/$(basename "${bin_in_archive}")"
|
||||
|
||||
# xbuild's binary name is "x", as opposed to the usual crate name
|
||||
case "${tool}" in
|
||||
xbuild) installed_bin="${bin_dir}/x" ;;
|
||||
*) installed_bin="${bin_dir}/$(basename "${bin_in_archive}")" ;;
|
||||
esac
|
||||
|
||||
local tar_args=()
|
||||
case "${url}" in
|
||||
@@ -246,7 +251,7 @@ install_cargo_binstall() {
|
||||
info "installing cargo-binstall"
|
||||
download_from_manifest "cargo-binstall" "latest"
|
||||
info "cargo-binstall installed at $(type -P "cargo-binstall${exe}")"
|
||||
x cargo binstall -V
|
||||
rx cargo binstall -V
|
||||
fi
|
||||
}
|
||||
apt_update() {
|
||||
@@ -571,34 +576,32 @@ for tool in "${tools[@]}"; do
|
||||
;;
|
||||
esac
|
||||
|
||||
info "${tool} installed at $(type -P "${tool}${exe}")"
|
||||
# At least cargo-udeps 0.1.30 and wasm-pack 0.12.0 do not support --version option.
|
||||
case "${tool}" in
|
||||
cargo-careful) ;; # cargo-careful 0.3.4 does not support neither --version nor --help option.
|
||||
xbuild) tool_bin="x" ;;
|
||||
*) tool_bin="${tool}" ;;
|
||||
esac
|
||||
info "${tool} installed at $(type -P "${tool_bin}${exe}")"
|
||||
# cargo-udeps 0.1.30 and wasm-pack 0.12.0 do not support --version option.
|
||||
case "${tool}" in
|
||||
cargo-careful | cargo-machete) ;; # cargo-careful 0.3.4 and cargo-machete 0.5.0 do not support neither --version nor --help option.
|
||||
cargo-*)
|
||||
if type -P cargo &>/dev/null; then
|
||||
case "${tool}" in
|
||||
cargo-valgrind) x cargo "${tool#cargo-}" --help ;; # cargo-valgrind 2.1.0's --version option just calls cargo's --version option
|
||||
*)
|
||||
if ! x cargo "${tool#cargo-}" --version; then
|
||||
x cargo "${tool#cargo-}" --help
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
_cargo=cargo
|
||||
else
|
||||
case "${tool}" in
|
||||
cargo-valgrind) x "${tool}" "${tool#cargo-}" --help ;; # cargo-valgrind 2.1.0's --version option just calls cargo's --version option
|
||||
*)
|
||||
if ! x "${tool}" "${tool#cargo-}" --version; then
|
||||
x "${tool}" "${tool#cargo-}" --help
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
_cargo="${tool}"
|
||||
fi
|
||||
case "${tool}" in
|
||||
cargo-valgrind) rx "${_cargo}" "${tool#cargo-}" --help ;; # cargo-valgrind 2.1.0's --version option just calls cargo's --version option
|
||||
*)
|
||||
if ! rx "${_cargo}" "${tool#cargo-}" --version; then
|
||||
rx "${_cargo}" "${tool#cargo-}" --help
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
if ! x "${tool}" --version; then
|
||||
x "${tool}" --help
|
||||
if ! rx "${tool_bin}" --version; then
|
||||
rx "${tool_bin}" --help
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
18
manifests/cargo-deny.json
generated
18
manifests/cargo-deny.json
generated
@@ -19,10 +19,24 @@
|
||||
}
|
||||
},
|
||||
"latest": {
|
||||
"version": "0.14.1"
|
||||
"version": "0.14.2"
|
||||
},
|
||||
"0.14": {
|
||||
"version": "0.14.1"
|
||||
"version": "0.14.2"
|
||||
},
|
||||
"0.14.2": {
|
||||
"x86_64_linux_musl": {
|
||||
"checksum": "5a4913ae3ce1298bd96d29b794ed245b0394f5ec0e2802f19d41fedc70bb5c3c"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"checksum": "89c80839cfbb87bb8b0e4a1d55d638b79d0d9cac8fa53c0cbbe8fe271c8abcf4"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"checksum": "25e59c4916a4e28d507185c6783051d0e0824d6e5af5737560be7bcfb1fc7af3"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"checksum": "c1af65dac2330777744513430200d52cb615de9bef2fdb88cfec1a2e9f87c5f9"
|
||||
}
|
||||
},
|
||||
"0.14.1": {
|
||||
"x86_64_linux_musl": {
|
||||
|
||||
161
manifests/cargo-hack.json
generated
161
manifests/cargo-hack.json
generated
@@ -2,7 +2,166 @@
|
||||
"rust_crate": "cargo-hack",
|
||||
"template": null,
|
||||
"latest": {
|
||||
"version": "0.5.29"
|
||||
"version": "0.6.5"
|
||||
},
|
||||
"0.6": {
|
||||
"version": "0.6.5"
|
||||
},
|
||||
"0.6.5": {
|
||||
"x86_64_linux_musl": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.5/cargo-hack-x86_64-unknown-linux-musl.tar.gz",
|
||||
"checksum": "767c91d80cacf9568576d9263b8801d4c38a245c472ac3c58320b15824539a74"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.5/cargo-hack-x86_64-apple-darwin.tar.gz",
|
||||
"checksum": "20530649af2bfa2620368b6a111e5538f9306c4f64a65a1e6dbbb32a7a291b8a"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.5/cargo-hack-x86_64-pc-windows-msvc.zip",
|
||||
"checksum": "82731808c811daa55021e8a463884c3d1fa3ff4af67fdfd1b0f8db9936ec91df"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.5/cargo-hack-aarch64-unknown-linux-musl.tar.gz",
|
||||
"checksum": "743fe76f2115bedf6f5a86784ea254c105f171aeeb75e5f2845d6aa83be7319c"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.5/cargo-hack-aarch64-apple-darwin.tar.gz",
|
||||
"checksum": "3a9ab29db73449b779656199ae645d7b4a3e055e22ee6fa056c7ec61cd57cb87"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.5/cargo-hack-aarch64-pc-windows-msvc.tar.gz",
|
||||
"checksum": "2bf9b10a41ce7585fa60b1be8424283433eb000c542652145d89d95be7a6fc99"
|
||||
}
|
||||
},
|
||||
"0.6.4": {
|
||||
"x86_64_linux_musl": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.4/cargo-hack-x86_64-unknown-linux-musl.tar.gz",
|
||||
"checksum": "f50d28b566a270c49cd5d44fca3badfc0279bd681e9788872c875f81f2125ca0"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.4/cargo-hack-x86_64-apple-darwin.tar.gz",
|
||||
"checksum": "09502a5e1e66457cc98f114e3ab80ace837c42ca20d12439b45ca09febeada05"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.4/cargo-hack-x86_64-pc-windows-msvc.zip",
|
||||
"checksum": "5e5f61e74ae060b5ff1aeb0ee593a63762ad5e57fe9fbd56d214af96e8b79db6"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.4/cargo-hack-aarch64-unknown-linux-musl.tar.gz",
|
||||
"checksum": "0b3cf069d1e433882f800129b288e76f8b0f4972e2f5d2746a43f5976b3f234d"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.4/cargo-hack-aarch64-apple-darwin.tar.gz",
|
||||
"checksum": "01e237e764b098d1a482e4fc31c2aa1a64d6756e885421a95faa5578cfdd2a50"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.4/cargo-hack-aarch64-pc-windows-msvc.tar.gz",
|
||||
"checksum": "af68ead95d98a18750da188259678ce53f8cecae8fb7109ae0c631161da8406e"
|
||||
}
|
||||
},
|
||||
"0.6.3": {
|
||||
"x86_64_linux_musl": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.3/cargo-hack-x86_64-unknown-linux-musl.tar.gz",
|
||||
"checksum": "b9515accb2c8984841a152f860d6c7c827ab4f91c4e5012d86ef7c44f319bd41"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.3/cargo-hack-x86_64-apple-darwin.tar.gz",
|
||||
"checksum": "c144b7912bbc9089c116d7c4610c4fc221705af93d6994c31314663bba47785f"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.3/cargo-hack-x86_64-pc-windows-msvc.zip",
|
||||
"checksum": "a34b31594d58e3ca17e00e1e0837990461570b6382c3ac7e72fbb7c873b3e9f7"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.3/cargo-hack-aarch64-unknown-linux-musl.tar.gz",
|
||||
"checksum": "c8ee443bb05cd8551b2d9d93befbe7a8f0994a128bc33125cf97da443077b579"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.3/cargo-hack-aarch64-apple-darwin.tar.gz",
|
||||
"checksum": "279e5cbbcbbe607ac5c81f204f0ae83a62132476fa1ff53f0d8ec24d879bf7f2"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.3/cargo-hack-aarch64-pc-windows-msvc.tar.gz",
|
||||
"checksum": "63a9df0cdad068b3124a858aa3d47c93513caaaea0efc61befdb0091efefb64d"
|
||||
}
|
||||
},
|
||||
"0.6.2": {
|
||||
"x86_64_linux_musl": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.2/cargo-hack-x86_64-unknown-linux-musl.tar.gz",
|
||||
"checksum": "322d1a965c94656e7b766dbdf4f5726372fdd8ac3b98b7aa3fe0b50dd4892be9"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.2/cargo-hack-x86_64-apple-darwin.tar.gz",
|
||||
"checksum": "a6713d40d955691b0efc48d77f42a9c58f740e9036eb052a4c5b8843477054d3"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.2/cargo-hack-x86_64-pc-windows-msvc.zip",
|
||||
"checksum": "a3146a6454e02a41c56676ed96ddf5acab6ff97117a8a52c19432756dc268396"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.2/cargo-hack-aarch64-unknown-linux-musl.tar.gz",
|
||||
"checksum": "305b59c9d89fa76ea91002894cea58e296c062da896a2784c04a39305221079b"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.2/cargo-hack-aarch64-apple-darwin.tar.gz",
|
||||
"checksum": "860b867a047c8d89aa2b0adb12d6ff085190bde80516a49be6e2cad4cc298bc5"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.2/cargo-hack-aarch64-pc-windows-msvc.tar.gz",
|
||||
"checksum": "73c04e1670b7d7d7696b81ccdc1ea27f7ddcc8028883cf5b5df8edcda61b899c"
|
||||
}
|
||||
},
|
||||
"0.6.1": {
|
||||
"x86_64_linux_musl": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.1/cargo-hack-x86_64-unknown-linux-musl.tar.gz",
|
||||
"checksum": "85f79339499995238287591c86b9ddc9aedf6c4c03f771f9aa7ed0b97dc6da0e"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.1/cargo-hack-x86_64-apple-darwin.tar.gz",
|
||||
"checksum": "c92fb2bd0351e4ac6ea087e5169b5fc56bc03c9afc3c8a299c21aae8ecda8067"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.1/cargo-hack-x86_64-pc-windows-msvc.zip",
|
||||
"checksum": "532a25b327dd4fcd9529cc0b2e47caa7919f15d2e40a7477c34a39f40dfea54b"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.1/cargo-hack-aarch64-unknown-linux-musl.tar.gz",
|
||||
"checksum": "4855ea417b54abca02d0fd076fa1cfffd2068ac2f4abbafc52261a7fa2a9ebfa"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.1/cargo-hack-aarch64-apple-darwin.tar.gz",
|
||||
"checksum": "fe3c9126fa64f7ef60a9a4e78c77f9741f9848221cc44c43f9346a7f9b268bca"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.1/cargo-hack-aarch64-pc-windows-msvc.tar.gz",
|
||||
"checksum": "0c6c21cc1e11c7f2794a4e7c800d2459148a7db33dc162af7c2ccd057ca38ee9"
|
||||
}
|
||||
},
|
||||
"0.6.0": {
|
||||
"x86_64_linux_musl": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.0/cargo-hack-x86_64-unknown-linux-musl.tar.gz",
|
||||
"checksum": "c1a539de7f0890527d6ecd87c0ac73097921a0cf071ded9a3cf60e6c387ba69d"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.0/cargo-hack-x86_64-apple-darwin.tar.gz",
|
||||
"checksum": "41fd4566cf743ab06a46ee556be251e8948b1ecc316b2e61bc25ecc818cfaf91"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.0/cargo-hack-x86_64-pc-windows-msvc.zip",
|
||||
"checksum": "a29683e96871938cb7b63f8389f6a7f6b48b10b40999a5f6b6b3abb0988b3b9f"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.0/cargo-hack-aarch64-unknown-linux-musl.tar.gz",
|
||||
"checksum": "f5156e8522abd9c2545425ed251da6411bf824b5d94cb0000e0a90153c78b8a2"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.0/cargo-hack-aarch64-apple-darwin.tar.gz",
|
||||
"checksum": "c8292ab17351307d71fcbe68dad39e0019227b89c3a73dc4a0d6db8ca0b2663e"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.0/cargo-hack-aarch64-pc-windows-msvc.tar.gz",
|
||||
"checksum": "9d7ca4e2c0530ad966662a56dd7b8b211cfe1067c4e46813ff82f18476dd24f8"
|
||||
}
|
||||
},
|
||||
"0.5": {
|
||||
"version": "0.5.29"
|
||||
|
||||
44
manifests/cargo-minimal-versions.json
generated
44
manifests/cargo-minimal-versions.json
generated
@@ -21,10 +21,50 @@
|
||||
}
|
||||
},
|
||||
"latest": {
|
||||
"version": "0.1.14"
|
||||
"version": "0.1.16"
|
||||
},
|
||||
"0.1": {
|
||||
"version": "0.1.14"
|
||||
"version": "0.1.16"
|
||||
},
|
||||
"0.1.16": {
|
||||
"x86_64_linux_musl": {
|
||||
"checksum": "30dc1bc067c6ac347bd0734a3117c0519e7ae715021d56952be3e207ed918447"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"checksum": "7b81508be9bb73cef8caa8b1b09113eebd1897356aa371246572c4fa6d4b19b9"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"checksum": "7d36c36b5069d1267ec5c485f904382db16c95b6a78288e3853687ec8691b013"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"checksum": "c42cba95957e6cea55800658367f59c709205d2888a0728817f15c95c6ed257f"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"checksum": "27090dbcb9d3046eadc7add438748fdd0795b5caddb985614f5dbcc791902b27"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"checksum": "0b727650f83886edf5ad8c97d2389273145e367df88f82f712de9b81f366c8e4"
|
||||
}
|
||||
},
|
||||
"0.1.15": {
|
||||
"x86_64_linux_musl": {
|
||||
"checksum": "eac1436f7aa50bc34dd2675d97e9cfca6bbda1c9283be0185dae1e9c1c08cec6"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"checksum": "658581d9ec6c82355c7472d25712eaa0acf048d5cd4a57382bd4a5ba73f212d3"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"checksum": "b673c444480ca6f6fc983bda35953c2e15a40f484a682c805fbad963dbc02c41"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"checksum": "accbd49853bc706f9ab330342baf2ff0d2db8f66c26b76b9e6845b911511c2e4"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"checksum": "4f9ae0aaddf0cda388461e246ac7eadbd0cc326eeb3a28d4ffaf1aa8b509d7d2"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"checksum": "827c626f40bead527d6eaf7b48017cfd8f559938c370c893ab00c51d3668b37c"
|
||||
}
|
||||
},
|
||||
"0.1.14": {
|
||||
"x86_64_linux_musl": {
|
||||
|
||||
24
manifests/cargo-no-dev-deps.json
generated
24
manifests/cargo-no-dev-deps.json
generated
@@ -21,10 +21,30 @@
|
||||
}
|
||||
},
|
||||
"latest": {
|
||||
"version": "0.2.3"
|
||||
"version": "0.2.4"
|
||||
},
|
||||
"0.2": {
|
||||
"version": "0.2.3"
|
||||
"version": "0.2.4"
|
||||
},
|
||||
"0.2.4": {
|
||||
"x86_64_linux_musl": {
|
||||
"checksum": "5dfabc9d10e6eefb6c4847307c7b757a0c5ff20bbc55ba4c156e8ca941130122"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"checksum": "1e3f1feed216477022ed2fcdff2019de896d6d179e432722009f507822028979"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"checksum": "09ca80f82b52ed1cd312d5aa2901c4b12b25ad557c5e39e40566de62914cfc7c"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"checksum": "f358eb55bff29666df98b8b850f44c1dc47fd4f1c35c3f91bfe7173090afeaaf"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"checksum": "b181d0ec01a93ba4909a8fefd9d4d533647448046fbae28fc81edd902d0658f1"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"checksum": "a19cddb696f1bb0890c3d26cbe5cbdc12d3a489126941bb10b7fe4f48f6a4b64"
|
||||
}
|
||||
},
|
||||
"0.2.3": {
|
||||
"x86_64_linux_musl": {
|
||||
|
||||
28
manifests/protoc.json
generated
28
manifests/protoc.json
generated
@@ -2,13 +2,35 @@
|
||||
"rust_crate": null,
|
||||
"template": null,
|
||||
"latest": {
|
||||
"version": "3.24.2"
|
||||
"version": "3.24.3"
|
||||
},
|
||||
"3": {
|
||||
"version": "3.24.2"
|
||||
"version": "3.24.3"
|
||||
},
|
||||
"3.24": {
|
||||
"version": "3.24.2"
|
||||
"version": "3.24.3"
|
||||
},
|
||||
"3.24.3": {
|
||||
"x86_64_linux_gnu": {
|
||||
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-linux-x86_64.zip",
|
||||
"checksum": "fc793561283d9ea6813fb757ae54f1afea6770afcd930904bdf3e590910420aa"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-osx-x86_64.zip",
|
||||
"checksum": "13b45cdcde9b2101e982de897d5490cfd81dfa181605749c23982379ba0e3288"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-win64.zip",
|
||||
"checksum": "c8f8c87e2eb6ba1e45f1f0b7b6c17f129309fff421c04290e272de1f7defd8f1"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-linux-aarch_64.zip",
|
||||
"checksum": "77a5a41f3e9712af6a35de13143b9b2b77f075aa1ab18a63cca4483b30f6e3cd"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-osx-aarch_64.zip",
|
||||
"checksum": "cca53adb73a6686dd60bb3b0da33961e6b9dab1f833c851b5e1bb7b5df02b36f"
|
||||
}
|
||||
},
|
||||
"3.24.2": {
|
||||
"x86_64_linux_gnu": {
|
||||
|
||||
22
manifests/syft.json
generated
22
manifests/syft.json
generated
@@ -23,7 +23,27 @@
|
||||
}
|
||||
},
|
||||
"latest": {
|
||||
"version": "0.88.0"
|
||||
"version": "0.89.0"
|
||||
},
|
||||
"0.89": {
|
||||
"version": "0.89.0"
|
||||
},
|
||||
"0.89.0": {
|
||||
"x86_64_linux_musl": {
|
||||
"checksum": "b7cc7c1fb588454947ca678df7ddd906620d399a05f92a550b1b2d312fb26764"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"checksum": "fd8fc86772d44b4a93f6566a897f832923cc6aa3de9434772a4ac0966377f8be"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"checksum": "1a512c97b3fa504ad0b6c8c62660cfe980786a433a1582b460bd35005b36ceb2"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"checksum": "1c1c8e53d7157c3e861116e24eb494da0b660b3757ea69d6e05038c6ed76c50f"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"checksum": "7d6d848c4375d10c2ebd019120a835f3d4527bb78250efc47fd2ba010a6798ba"
|
||||
}
|
||||
},
|
||||
"0.88": {
|
||||
"version": "0.88.0"
|
||||
|
||||
34
manifests/xbuild.json
generated
Normal file
34
manifests/xbuild.json
generated
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"rust_crate": "xbuild",
|
||||
"template": {
|
||||
"x86_64_linux_gnu": {
|
||||
"url": "https://github.com/rust-mobile/xbuild/releases/download/v${version}/xbuild-linux-x64",
|
||||
"bin": "xbuild-linux-x64"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"url": "https://github.com/rust-mobile/xbuild/releases/download/v${version}/xbuild-macos-x64",
|
||||
"bin": "xbuild-macos-x64"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"url": "https://github.com/rust-mobile/xbuild/releases/download/v${version}/xbuild-windows-x64.exe",
|
||||
"bin": "xbuild-windows-x64.exe"
|
||||
}
|
||||
},
|
||||
"latest": {
|
||||
"version": "0.2.0"
|
||||
},
|
||||
"0.2": {
|
||||
"version": "0.2.0"
|
||||
},
|
||||
"0.2.0": {
|
||||
"x86_64_linux_gnu": {
|
||||
"checksum": "9c294809ec3cb314b34e9f644b5bbf6ed262c25c1eeb78a3691836a95bc58e0d"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"checksum": "e357205fde5262d77b8b1dc1cb066a4f7b4edd0a83b71b3513ae466b08343305"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"checksum": "ce503cd64e6449d1c3e3bc2bfb621e9dd3ebfc775e99c97f98c2ab145e533946"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,11 @@ IFS=$'\n\t'
|
||||
cd "$(dirname "$0")"/../..
|
||||
|
||||
# They don't provide prebuilt binaries for musl or old glibc host.
|
||||
glibc_pre_2_34_incompat=(
|
||||
xbuild
|
||||
)
|
||||
glibc_pre_2_31_incompat=(
|
||||
"${glibc_pre_2_34_incompat[@]}"
|
||||
zola
|
||||
)
|
||||
glibc_pre_2_27_incompat=(
|
||||
@@ -41,13 +45,18 @@ case "$(uname -s)" in
|
||||
incompat_tools+=("${musl_incompat[@]}")
|
||||
else
|
||||
host_glibc_version=$(grep <<<"${ldd_version}" -E "GLIBC|GNU libc" | sed "s/.* //g")
|
||||
higher_glibc_version=$(sort <<<"2.31"$'\n'"${host_glibc_version}" -Vu | tail -1)
|
||||
higher_glibc_version=$(sort <<<"2.34"$'\n'"${host_glibc_version}" -Vu | tail -1)
|
||||
if [[ "${higher_glibc_version}" != "${host_glibc_version}" ]]; then
|
||||
higher_glibc_version=$(sort <<<"2.27"$'\n'"${host_glibc_version}" -Vu | tail -1)
|
||||
if [[ "${higher_glibc_version}" == "${host_glibc_version}" ]]; then
|
||||
incompat_tools+=("${glibc_pre_2_31_incompat[@]}")
|
||||
higher_glibc_version=$(sort <<<"2.31"$'\n'"${host_glibc_version}" -Vu | tail -1)
|
||||
if [[ "${higher_glibc_version}" != "${host_glibc_version}" ]]; then
|
||||
higher_glibc_version=$(sort <<<"2.27"$'\n'"${host_glibc_version}" -Vu | tail -1)
|
||||
if [[ "${higher_glibc_version}" == "${host_glibc_version}" ]]; then
|
||||
incompat_tools+=("${glibc_pre_2_31_incompat[@]}")
|
||||
else
|
||||
incompat_tools+=("${glibc_pre_2_27_incompat[@]}")
|
||||
fi
|
||||
else
|
||||
incompat_tools+=("${glibc_pre_2_27_incompat[@]}")
|
||||
incompat_tools+=("${glibc_pre_2_34_incompat[@]}")
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
13
tools/codegen/base/xbuild.json
Normal file
13
tools/codegen/base/xbuild.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"repository": "https://github.com/rust-mobile/xbuild",
|
||||
"tag_prefix": "v",
|
||||
"rust_crate": "${package}",
|
||||
"asset_name": "${package}-${os_name}-x64${exe}",
|
||||
"bin": "${package}-${os_name}-x64${exe}",
|
||||
"version_range": ">= 0.2.0",
|
||||
"platform": {
|
||||
"x86_64_linux_gnu": {},
|
||||
"x86_64_macos": {},
|
||||
"x86_64_windows": {}
|
||||
}
|
||||
}
|
||||
@@ -178,6 +178,12 @@ fn main() -> Result<()> {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// Specifically skip versions of xbuild with build metadata.
|
||||
if base_info.rust_crate.as_deref() == Some("xbuild") && !semver_version.build.is_empty() {
|
||||
continue;
|
||||
}
|
||||
|
||||
let mut download_info = BTreeMap::new();
|
||||
for (&platform, base_download_info) in &base_info.platform {
|
||||
let asset_names = base_download_info
|
||||
|
||||
Reference in New Issue
Block a user