Compare commits

...

84 Commits

Author SHA1 Message Date
Taiki Endo 7838381fcf Release 2.17.5 2023-08-29 03:47:19 +09:00
Taiki Endo 8cdc2a9825 Update cargo-hack@latest to 0.6.2 2023-08-29 03:46:21 +09:00
Taiki Endo 7f27b7d8d5 Release 2.17.4 2023-08-29 02:44:41 +09:00
Taiki Endo e156747327 Update cargo-hack@latest to 0.6.1 2023-08-29 02:44:22 +09:00
Taiki Endo 26fa6681fb Release 2.17.3 2023-08-29 01:56:05 +09:00
Taiki Endo 25d7b33a71 Update cargo-minimal-versions@latest to 0.1.15 2023-08-29 01:55:43 +09:00
Taiki Endo f96cc5318d Update cargo-hack@latest to 0.6.0 2023-08-29 01:55:43 +09:00
Taiki Endo f0d0def1e2 Release 2.17.2 2023-08-27 15:22:32 +09:00
Taiki Endo 2b66e0090b Update cargo-udeps@latest to 0.1.42 (#206) 2023-08-27 06:16:18 +00:00
Taiki Endo ba7482c6af Release 2.17.1 2023-08-26 10:31:08 +09:00
Taiki Endo 425876e44a Update manifest (#205) 2023-08-26 11:05:19 +10:00
Taiki Endo a5a8275f14 Release 2.17.0 2023-08-25 21:19:57 +09:00
Taiki Endo 38b64619b5 ci: Add macOS 13 to test 2023-08-25 21:18:31 +09:00
Taiki Endo 006e1318d7 Update cspell dictionary 2023-08-25 21:17:08 +09:00
Taiki Endo 942c7835ab Update cargo-binstall@latest to 1.3.0 (#204) 2023-08-25 12:16:33 +00:00
Taiki Endo bca437466a Release 2.16.5 2023-08-25 04:19:58 +09:00
Taiki Endo 1981e18081 Update wasmtime@latest to 12.0.1 2023-08-25 04:19:36 +09:00
Taiki Endo fe04be912f Update cargo-llvm-cov@latest to 0.5.31 2023-08-25 04:19:36 +09:00
Taiki Endo f1e481e035 Release 2.16.4 2023-08-24 00:07:41 +09:00
Taiki Endo 1d42c62e8a Update cspell dictionary 2023-08-24 00:07:27 +09:00
Taiki Endo d4d12f0d19 Update cargo-llvm-cov@latest to 0.5.30 2023-08-24 00:01:40 +09:00
Taiki Endo 8a5a554374 Release 2.16.3 2023-08-23 22:16:21 +09:00
Taiki Endo cf629cb4fe Update cargo-llvm-cov@latest to 0.5.29 (#201) 2023-08-23 23:14:53 +10:00
Taiki Endo 0c6fcb3fbd Release 2.16.2 2023-08-23 02:06:56 +09:00
Taiki Endo 82e8fed825 Update cargo-llvm-cov@latest to 0.5.28 2023-08-23 02:03:46 +09:00
Taiki Endo 2b8e18789e Release 2.16.1 2023-08-22 21:08:53 +09:00
Taiki Endo b90e19d688 Update wasmtime@latest to 12.0.0 (#198) 2023-08-22 10:39:42 +10:00
Taiki Endo 1f490d2b6e tidy: Check file permissions 2023-08-19 15:58:26 +09:00
Taiki Endo c9ba9d12d0 Release 2.16.0 2023-08-19 09:45:18 +09:00
Taiki Endo 0dbdc190f4 Update changelog 2023-08-19 09:45:06 +09:00
Tyson Nottingham 8aa60332b7 Add support for cargo-machete (#196) 2023-08-19 09:43:05 +09:00
Taiki Endo 85a0ab9568 Release 2.15.6 2023-08-19 09:35:43 +09:00
Taiki Endo ba31d2a9d5 Update protoc@latest to 3.24.1 (#197) 2023-08-19 00:18:35 +00:00
Taiki Endo ec1353d184 Release 2.15.5 2023-08-18 10:51:41 +09:00
Taiki Endo 1255c6765d Update syft@latest to 0.87.1 (#195) 2023-08-18 10:55:22 +10:00
Taiki Endo 5265bea15b Release 2.15.4 2023-08-15 11:58:16 +09:00
Taiki Endo 1ecea869bc Update syft@latest to 0.87.0 (#194) 2023-08-15 07:38:17 +10:00
Taiki Endo dd39e1fae4 Release 2.15.3 2023-08-15 01:15:40 +09:00
Taiki Endo c6d4b612a3 Update cargo-minimal-versions@latest to 0.1.14 2023-08-15 01:13:02 +09:00
Taiki Endo 1c114c9abb Update cargo-llvm-cov@latest to 0.5.27 2023-08-15 01:13:02 +09:00
Taiki Endo 7412a5eb82 Release 2.15.2 2023-08-12 23:52:18 +09:00
Taiki Endo e7fb3cf8d9 Update cargo-llvm-cov@latest to 0.5.26 2023-08-12 23:47:04 +09:00
Taiki Endo a62a22d1c7 Release 2.15.1 2023-08-11 22:01:59 +09:00
Taiki Endo 334ac84481 Update cargo-binstall@latest to 1.2.1 (#191) 2023-08-11 22:48:53 +10:00
Taiki Endo db5a06b7aa Release 2.15.0 2023-08-10 21:55:01 +09:00
Taiki Endo e3a861d97f Update cargo-binstall@latest to 1.2.0 2023-08-10 21:54:17 +09:00
Taiki Endo 4664ed74d5 Update cspell dictionary 2023-08-10 21:39:38 +09:00
Taiki Endo f0c993f6eb Tweak scripts 2023-08-10 21:39:38 +09:00
Taiki Endo b7354d4598 Update cargo-make@latest to 0.36.13 (#188) 2023-08-10 22:11:51 +10:00
Taiki Endo 6a805195a6 Release 2.14.3 2023-08-09 12:54:07 +09:00
Taiki Endo d584a598e6 Update protoc@latest to 3.24.0 (#187) 2023-08-09 00:21:53 +00:00
Taiki Endo 9d183da1f4 Update parse-changelog@latest to 0.6.2 (#186) 2023-08-06 23:00:04 +10:00
Taiki Endo 44516826f1 Release 2.14.2 2023-08-06 18:41:11 +09:00
Taiki Endo 2a4a8c0b46 Update cargo-llvm-cov@latest to 0.5.25 2023-08-06 18:40:33 +09:00
Taiki Endo baf36038f2 Update cargo-hack@latest to 0.5.29 2023-08-06 18:40:33 +09:00
Taiki Endo 05813aebbf Release 2.14.1 2023-08-06 11:36:08 +09:00
Taiki Endo e489a929a4 Update mdbook@latest to 0.4.34 (#184) 2023-08-06 11:01:00 +10:00
Taiki Endo 0b065cc737 Update changelog 2023-08-05 14:56:48 +09:00
Taiki Endo 6247ac8eb4 Release 2.14.0 2023-08-05 14:55:08 +09:00
Taiki Endo a44f2dd9f5 Update changelog 2023-08-05 14:54:49 +09:00
Taiki Endo 1cdb36bf16 Use cargo-binstall to install nextest 2023-08-05 12:26:02 +09:00
Taiki Endo c25f50bacd Release 2.13.6 2023-08-04 22:58:42 +09:00
Taiki Endo 94d8a59049 codegen: Clean up rust crate handling 2023-08-04 21:58:05 +09:00
Taiki Endo 8e67e37b45 Update mdbook@latest to 0.4.33 (#181) 2023-08-04 06:07:57 +00:00
Taiki Endo 26fe17aa20 codegen: Prevent yanked version from being selected as candidate for latest or omitted version 2023-08-03 22:00:35 +09:00
Taiki Endo 0825c0beeb Release 2.13.5 2023-08-03 11:50:09 +09:00
Taiki Endo 0e33aaec49 Update cargo-nextest@latest to 0.9.57 (#179) 2023-08-03 10:49:36 +10:00
Taiki Endo 30c32b7a1e Release 2.13.4 2023-08-03 05:40:49 +09:00
Taiki Endo eabcafb863 Update cargo-nextest@latest to 0.9.56 2023-08-03 05:40:15 +09:00
Taiki Endo f879cd58b6 Update cargo-deny@latest to 0.14.1 2023-08-03 05:40:15 +09:00
Taiki Endo 991b1ec814 Release 2.13.3 2023-08-01 12:06:13 +09:00
Taiki Endo d26809b823 Update dprint@latest to 0.40.2 (#176) 2023-08-01 03:05:12 +00:00
Taiki Endo 2e834388ca Release 2.13.2 2023-08-01 11:35:50 +09:00
Taiki Endo 70b3188323 Update syft@latest to 0.86.1 (#175) 2023-08-01 11:24:01 +10:00
Taiki Endo f0c3e0a7c5 Release 2.13.1 2023-08-01 00:52:28 +09:00
Taiki Endo d4e8bc812c Update dprint@latest to 0.40.1 2023-08-01 00:28:27 +09:00
Taiki Endo 44ea076bf3 Release 2.13.0 2023-07-31 23:12:43 +09:00
Taiki Endo a27f7f16e6 Group more package manager logs 2023-07-31 23:09:15 +09:00
Taiki Endo 7dd45f2345 Group package manager logs 2023-07-31 23:02:18 +09:00
Taiki Endo b13dd10934 ci: Add Rocky Linux 9 to container test 2023-07-31 22:55:09 +09:00
Taiki Endo 49577db638 Update changelog 2023-07-31 22:37:46 +09:00
Taiki Endo cdc26401e5 Tweak development guide 2023-07-31 22:32:04 +09:00
Taiki Endo ffbd316e0f Support cargo-careful 2023-07-31 22:24:08 +09:00
Taiki Endo 405b1cf48c Auto-generate tool list for CI 2023-07-31 22:13:13 +09:00
69 changed files with 1408 additions and 965 deletions
+11 -2
View File
@@ -6,15 +6,17 @@ taiki
// tool name and its configs or options
asan
cdylib
cflags
clippy
codegen
cxxflags
dylib
exitcode
miri
miriflags
msan
retag
rlib
rustc
rustdoc
rustdocflags
@@ -22,11 +24,13 @@ rustflags
rustfmt
rustsec
rustup
staticlib
tsan
valgrind
xcompile
Zmiri
// Rust target triple
// Rust target triple/spec
aarch
amdgpu
androideabi
@@ -53,6 +57,7 @@ gnuspe
gnux
illumos
imac
libnx
loongarch
macabi
mipsel
@@ -61,14 +66,17 @@ msvc
muslabi
musleabi
musleabihf
newlib
newlibeabihf
nvptx
ohos
openwrt
relibc
riscv
softfloat
sparcv
spirv
teeos
thumbeb
thumbebv
thumbv
@@ -151,6 +159,7 @@ endianness
esac
euxo
gsub
libc
moreutils
msys
noninteractive
+2 -1
View File
@@ -4,9 +4,10 @@ distro
doas
dprint
enablerepo
endgroup
epel
grcov
libc
incompat
linkcheck
mdbook
microdnf
+24 -37
View File
@@ -38,25 +38,20 @@ jobs:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-20.04
- ubuntu-22.04
tool:
# cargo-watch/watchexec-cli is supported by cargo-binstall (through quickinstall)
# TODO: valgrind installation sometime hangs.
- cargo-dinghy,cargo-hack,cargo-llvm-cov,cargo-make,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,zola,syft
include:
# Note: Specifying the version of valgrind and cargo-binstall is not supported.
- os: ubuntu-20.04
tool: cargo-dinghy@0.6.4,cargo-hack@0.5.24,cargo-llvm-cov@0.5.3,cargo-make@0.36.11,cargo-minimal-versions@0.1.8,cargo-no-dev-deps@0.1.0,parse-changelog@0.5.2,cargo-udeps@0.1.35,cargo-valgrind@2.1.0,cargo-deny@0.13.5,cross@0.2.4,dprint@0.34.1,just@1.9.0,nextest@0.9.11,protoc@3.21.12,shellcheck@0.9.0,shfmt@3.6.0,wasm-pack@0.10.3,wasmtime@4.0.0,mdbook@0.4.25,mdbook-linkcheck@0.7.7,cargo-watch@8.1.1,grcov@0.8.13,watchexec-cli@1.20.5,cargo-tarpaulin@0.25.0,zola@0.16.1,syft@0.83.0
- os: ubuntu-22.04
- os: ubuntu-20.04
tool: cargo-dinghy@0.6,cargo-hack@0.5,cargo-llvm-cov@0.5,cargo-make@0.36,cargo-minimal-versions@0.1,cargo-no-dev-deps@0.1,parse-changelog@0.5,cargo-udeps@0.1,cargo-valgrind@2.1,cargo-deny@0.13,cross@0.2,dprint@0.34,just@1.9,nextest@0.9,protoc@3.21,shellcheck@0.9,shfmt@3.5,wasm-pack@0.10,wasmtime@6.0,mdbook@0.4,mdbook-linkcheck@0.7,cargo-watch@8.1,grcov@0.8,watchexec-cli@1.20,cargo-tarpaulin@0.25,zola@0.16,syft@0.83
tool: major.minor.patch
- os: ubuntu-20.04
tool: cargo-valgrind@2, just@1,protoc@3 , shfmt@3 ,wasmtime@7,cargo-watch@8,watchexec-cli@1
tool: major.minor
- os: ubuntu-20.04
tool: major
- os: macos-11
tool: cargo-dinghy,cargo-hack,cargo-llvm-cov,cargo-make,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,zola,syft
- os: macos-12
- os: macos-13
- os: windows-2019
tool: cargo-hack,cargo-llvm-cov,cargo-make,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,zola,syft
- os: windows-2022
runs-on: ${{ matrix.os }}
timeout-minutes: 60
steps:
@@ -65,9 +60,12 @@ jobs:
persist-credentials: false
# cross attempts to install rust-src when Cargo.toml is available even if `cross --version`
- run: rm Cargo.toml
- name: Generate tool list
id: tool-list
run: tools/ci/tool-list.sh "${{ matrix.tool }}" >>"${GITHUB_OUTPUT}"
- uses: ./
with:
tool: ${{ matrix.tool }}
tool: ${{ steps.tool-list.outputs.tool }}
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell
- name: Test bash
run: just --version; shfmt --version; protoc --version
@@ -97,33 +95,19 @@ jobs:
fail-fast: false
matrix:
container:
# glibc >= 2.31
- ubuntu:18.04 # glibc 2.27
- ubuntu:20.04 # glibc 2.31
- ubuntu:22.04 # glibc 2.35
- debian:10-slim # glibc 2.28
- debian:11-slim # glibc 2.31
- debian:12-slim # glibc 2.36
- fedora:latest # glibc 2.37 (as of fedora 38)
tool:
# valgrind: installing snap to container is difficult...
- cargo-dinghy,cargo-hack,cargo-llvm-cov,cargo-make,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,zola,syft
include:
# glibc < 2.31
# zola don't provide prebuilt binaries for musl or old glibc host.
- container: ubuntu:18.04 # glibc 2.27
tool: cargo-dinghy,cargo-hack,cargo-llvm-cov,cargo-make,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,syft
- container: debian:10-slim # glibc 2.28
tool: cargo-dinghy,cargo-hack,cargo-llvm-cov,cargo-make,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,syft
- container: rockylinux:8 # glibc 2.28
tool: cargo-dinghy,cargo-hack,cargo-llvm-cov,cargo-make,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,syft
- container: rockylinux:8-minimal # glibc 2.28
tool: cargo-dinghy,cargo-hack,cargo-llvm-cov,cargo-make,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,syft
# glibc < 2.27 or musl
- container: centos:7 # glibc 2.17
# protoc,valgrind,wasmtime,mdbook-linkcheck,cargo-watch,zola don't provide prebuilt binaries for musl or old glibc host.
tool: cargo-dinghy,cargo-hack,cargo-llvm-cov,cargo-make,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,shellcheck,shfmt,wasm-pack,mdbook,cargo-binstall,grcov,watchexec-cli,cargo-tarpaulin,syft
- container: alpine:latest # musl 1.2.4 (as of alpine 3.18)
# protoc,valgrind,wasmtime,mdbook-linkcheck,cargo-watch,zola don't provide prebuilt binaries for musl host.
tool: cargo-dinghy,cargo-hack,cargo-llvm-cov,cargo-make,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-udeps,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,shellcheck,shfmt,wasm-pack,mdbook,cargo-binstall,grcov,watchexec-cli,cargo-tarpaulin,syft
- rockylinux:8 # glibc 2.28
- rockylinux:8-minimal # glibc 2.28
- rockylinux:9 # glibc 2.34
- rockylinux: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
timeout-minutes: 60
container: ${{ matrix.container }}
@@ -161,9 +145,12 @@ jobs:
persist-credentials: false
# cross attempts to install rust-src when Cargo.toml is available even if `cross --version`
- run: rm Cargo.toml
- name: Generate tool list
id: tool-list
run: tools/ci/tool-list.sh >>"${GITHUB_OUTPUT}"
- uses: ./
with:
tool: ${{ matrix.tool }}
tool: ${{ steps.tool-list.outputs.tool }}
manifest:
runs-on: ubuntu-latest
+173 -1
View File
@@ -10,6 +10,148 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
## [Unreleased]
## [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.
## [2.17.1] - 2023-08-26
- Update `syft@latest` to 0.88.0.
- Update `protoc@latest` to 3.24.2.
## [2.17.0] - 2023-08-25
- Update `cargo-binstall@latest` to 1.3.0.
## [2.16.5] - 2023-08-24
- Update `wasmtime@latest` to 12.0.1.
- Update `cargo-llvm-cov@latest` to 0.5.31.
## [2.16.4] - 2023-08-23
- Update `cargo-llvm-cov@latest` to 0.5.30.
## [2.16.3] - 2023-08-23
- Update `cargo-llvm-cov@latest` to 0.5.29.
## [2.16.2] - 2023-08-22
- Update `cargo-llvm-cov@latest` to 0.5.28.
## [2.16.1] - 2023-08-22
- Update `wasmtime@latest` to 12.0.0.
## [2.16.0] - 2023-08-19
- Support `cargo-machete`. ([#196](https://github.com/taiki-e/install-action/pull/196), thanks @tgnottingham)
## [2.15.6] - 2023-08-19
- Update `protoc@latest` to 3.24.1.
## [2.15.5] - 2023-08-18
- Update `syft@latest` to 0.87.1.
## [2.15.4] - 2023-08-15
- Update `syft@latest` to 0.87.0.
## [2.15.3] - 2023-08-14
- Update `cargo-minimal-versions@latest` to 0.1.14.
- Update `cargo-llvm-cov@latest` to 0.5.27.
## [2.15.2] - 2023-08-12
- Update `cargo-llvm-cov@latest` to 0.5.26.
## [2.15.1] - 2023-08-11
- Update `cargo-binstall@latest` to 1.2.1.
## [2.15.0] - 2023-08-10
- Update `cargo-binstall@latest` to 1.2.0.
- Update `cargo-make@latest` to 0.36.13.
## [2.14.3] - 2023-08-09
- Update `protoc@latest` to 3.24.0.
- Update `parse-changelog@latest` to 0.6.2.
## [2.14.2] - 2023-08-06
- Update `cargo-llvm-cov@latest` to 0.5.25.
- Update `cargo-hack@latest` to 0.5.29.
## [2.14.1] - 2023-08-06
- Update `mdbook@latest` to 0.4.34.
## [2.14.0] - 2023-08-05
- Use `cargo-binstall` to install `nextest`. ([#183](https://github.com/taiki-e/install-action/pull/183))
This is a change made in response to the request from the nextest maintainer, which potentially increases the installation time of nextest and the possibility of network errors during installation.
If you encounter network errors, you should usually be able to work around them by setting `GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}` environment variable.
## [2.13.6] - 2023-08-04
- Update `mdbook@latest` to 0.4.33.
## [2.13.5] - 2023-08-03
- Update `cargo-nextest@latest` to 0.9.57.
## [2.13.4] - 2023-08-02
- Update `cargo-nextest@latest` to 0.9.56.
- Update `cargo-deny@latest` to 0.14.1.
## [2.13.3] - 2023-08-01
- Update `dprint@latest` to 0.40.2.
## [2.13.2] - 2023-08-01
- Update `syft@latest` to 0.86.1.
## [2.13.1] - 2023-07-31
- Update `dprint@latest` to 0.40.1.
## [2.13.0] - 2023-07-31
- Support `cargo-careful`. ([#173](https://github.com/taiki-e/install-action/pull/173))
- Improve performance and robustness for cases where the host environment lacks the packages required for installation, such as containers or self-hosted runners.
## [2.12.23] - 2023-07-31
- Update `dprint@latest` to 0.40.0.
@@ -999,7 +1141,37 @@ Note: This release is considered a breaking change because installing on version
Initial release
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.12.23...HEAD
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.17.5...HEAD
[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
[2.16.5]: https://github.com/taiki-e/install-action/compare/v2.16.4...v2.16.5
[2.16.4]: https://github.com/taiki-e/install-action/compare/v2.16.3...v2.16.4
[2.16.3]: https://github.com/taiki-e/install-action/compare/v2.16.2...v2.16.3
[2.16.2]: https://github.com/taiki-e/install-action/compare/v2.16.1...v2.16.2
[2.16.1]: https://github.com/taiki-e/install-action/compare/v2.16.0...v2.16.1
[2.16.0]: https://github.com/taiki-e/install-action/compare/v2.15.6...v2.16.0
[2.15.6]: https://github.com/taiki-e/install-action/compare/v2.15.5...v2.15.6
[2.15.5]: https://github.com/taiki-e/install-action/compare/v2.15.4...v2.15.5
[2.15.4]: https://github.com/taiki-e/install-action/compare/v2.15.3...v2.15.4
[2.15.3]: https://github.com/taiki-e/install-action/compare/v2.15.2...v2.15.3
[2.15.2]: https://github.com/taiki-e/install-action/compare/v2.15.1...v2.15.2
[2.15.1]: https://github.com/taiki-e/install-action/compare/v2.15.0...v2.15.1
[2.15.0]: https://github.com/taiki-e/install-action/compare/v2.14.3...v2.15.0
[2.14.3]: https://github.com/taiki-e/install-action/compare/v2.14.2...v2.14.3
[2.14.2]: https://github.com/taiki-e/install-action/compare/v2.14.1...v2.14.2
[2.14.1]: https://github.com/taiki-e/install-action/compare/v2.14.0...v2.14.1
[2.14.0]: https://github.com/taiki-e/install-action/compare/v2.13.6...v2.14.0
[2.13.6]: https://github.com/taiki-e/install-action/compare/v2.13.5...v2.13.6
[2.13.5]: https://github.com/taiki-e/install-action/compare/v2.13.4...v2.13.5
[2.13.4]: https://github.com/taiki-e/install-action/compare/v2.13.3...v2.13.4
[2.13.3]: https://github.com/taiki-e/install-action/compare/v2.13.2...v2.13.3
[2.13.2]: https://github.com/taiki-e/install-action/compare/v2.13.1...v2.13.2
[2.13.1]: https://github.com/taiki-e/install-action/compare/v2.13.0...v2.13.1
[2.13.0]: https://github.com/taiki-e/install-action/compare/v2.12.23...v2.13.0
[2.12.23]: https://github.com/taiki-e/install-action/compare/v2.12.22...v2.12.23
[2.12.22]: https://github.com/taiki-e/install-action/compare/v2.12.21...v2.12.22
[2.12.21]: https://github.com/taiki-e/install-action/compare/v2.12.20...v2.12.21
+9 -8
View File
@@ -2,13 +2,15 @@
## Add support for new tool
(Example: [2ba826d](https://github.com/taiki-e/install-action/commit/2ba826d3ded42d6fa480b6bb82810d1282aa3460))
(Example: [ffbd316](https://github.com/taiki-e/install-action/commit/ffbd316e0fe98cb460dae3a66cd2ef9deb398bb1))
1\. Add base manifest to [`tools/codegen/base`](tools/codegen/base) directory.
1\. Add tool name to the table in ["Supported tools" section in `README.md`](https://github.com/taiki-e/install-action#supported-tools).
2\. Add base manifest to [`tools/codegen/base`](tools/codegen/base) directory.
See JSON files in `tools/codegen/base` directory for examples of the manifest.
2\. Generate manifest with the following command (replace `<tool>` with the tool name).
3\. Generate manifest with the following command (replace `<tool>` with the tool name).
```sh
./tools/manifest.sh <tool>
@@ -21,13 +23,12 @@ See JSON files in `tools/codegen/base` directory for examples of the manifest.
> GITHUB_TOKEN=$(gh auth status --show-token 2>&1 | sed -n 's/^.*Token: \(.*\)$/\1/p') ./tools/manifest.sh <tool>
> ```
3\. Add tool name to test matrix in `.github/workflows/ci.yml`.
4\. Add tool name to the table in ["Supported tools" section in `README.md`](https://github.com/taiki-e/install-action#supported-tools).
## Troubleshooting
If one of the CI builds fails due to an bin path or release asset_name, fix the problem in the base
If one of the CI builds fails due to a bin path or release asset_name, fix the problem in the base
manifest, and re-run the manifest tool `tools/manifest.sh` to regenerate the manifest json file. The
base manifest supports overriding the bin path per platform by adding the `"bin"` / `"asset_name"`
to the platform object.
If CI fails only for containers using older versions of glibc or musl, you may need to add the tool
name to one of the `*_incompat` arrays in `tools/ci/tool-list.sh`.
+3 -1
View File
@@ -83,9 +83,11 @@ https://spdx.org/licenses
| ---- | -------------------------------- | ------------------------------- | ------------------ | ------- |
| [**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-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) |
| [**cargo-machete**](https://github.com/bnjbvr/cargo-machete) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/bnjbvr/cargo-machete/releases) | Linux, macOS, Windows | [MIT](https://github.com/bnjbvr/cargo-machete/blob/HEAD/LICENSE.md) |
| [**cargo-make**](https://github.com/sagiegurari/cargo-make) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/sagiegurari/cargo-make/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/sagiegurari/cargo-make/blob/master/LICENSE) |
| [**cargo-minimal-versions**](https://github.com/taiki-e/cargo-minimal-versions) | `$CARGO_HOME/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) |
| [**cargo-no-dev-deps**](https://github.com/taiki-e/cargo-no-dev-deps) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/cargo-no-dev-deps/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/cargo-no-dev-deps/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-no-dev-deps/blob/HEAD/LICENSE-MIT) |
@@ -98,7 +100,7 @@ https://spdx.org/licenses
| [**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/HEAD/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/HEAD/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/HEAD/LICENSE) |
| [**nextest**](https://github.com/nextest-rs/nextest) (alias: `cargo-nextest`) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/nextest-rs/nextest/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/nextest-rs/nextest/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/nextest-rs/nextest/blob/HEAD/LICENSE-MIT) |
| [**nextest**](https://github.com/nextest-rs/nextest) (alias: `cargo-nextest`) | `$CARGO_HOME/bin` | cargo-binstall | Linux, macOS, Windows | [Apache-2.0](https://github.com/nextest-rs/nextest/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/nextest-rs/nextest/blob/HEAD/LICENSE-MIT) |
| [**parse-changelog**](https://github.com/taiki-e/parse-changelog) | `$CARGO_HOME/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) |
| [**protoc**](https://github.com/protocolbuffers/protobuf) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/protocolbuffers/protobuf/releases) | Linux, macOS, Windows | [BSD-3-Clause](https://github.com/protocolbuffers/protobuf/blob/HEAD/LICENSE) |
| [**shellcheck**](https://www.shellcheck.net) | `/usr/local/bin` | [GitHub Releases](https://github.com/koalaman/shellcheck/releases) | Linux, macOS, Windows | [GPL-3.0-or-later](https://github.com/koalaman/shellcheck/blob/HEAD/LICENSE) |
+61 -43
View File
@@ -78,7 +78,11 @@ download_and_extract() {
tar_args+=("xjf")
if ! type -P bzip2 &>/dev/null; then
case "${base_distro}" in
debian | alpine | fedora) sys_install bzip2 ;;
debian | alpine | fedora)
echo "::group::Install packages required for installation (bzip2)"
sys_install bzip2
echo "::endgroup::"
;;
esac
fi
;;
@@ -86,15 +90,27 @@ download_and_extract() {
tar_args+=("xJf")
if ! type -P xz &>/dev/null; then
case "${base_distro}" in
debian) sys_install xz-utils ;;
alpine | fedora) sys_install xz ;;
debian)
echo "::group::Install packages required for installation (xz-utils)"
sys_install xz-utils
echo "::endgroup::"
;;
alpine | fedora)
echo "::group::Install packages required for installation (xz)"
sys_install xz
echo "::endgroup::"
;;
esac
fi
;;
*.zip)
if ! type -P unzip &>/dev/null; then
case "${base_distro}" in
debian | alpine | fedora) sys_install unzip ;;
debian | alpine | fedora)
echo "::group::Install packages required for installation (unzip)"
sys_install unzip
echo "::endgroup::"
;;
esac
fi
;;
@@ -136,6 +152,7 @@ read_manifest() {
local tool="$1"
local version="$2"
local manifest
rust_crate=$(jq -r ".rust_crate" "${manifest_dir}/${tool}.json")
manifest=$(jq -r ".\"${version}\"" "${manifest_dir}/${tool}.json")
if [[ "${manifest}" == "null" ]]; then
download_info="null"
@@ -161,21 +178,6 @@ read_manifest() {
# TODO: However, a warning may make sense.
host_platform="${host_arch}_linux_gnu"
download_info=$(jq <<<"${manifest}" -r ".${host_platform}")
elif [[ "${host_env}" == "gnu" ]]; then
# TODO: don't hardcode tool name and use 'prefer_linux_gnu' field in base manifest.
case "${tool}" in
cargo-nextest | nextest)
# TODO: don't hardcode required glibc version
required_glibc_version=2.27
higher_glibc_version=$(sort <<<"${required_glibc_version}"$'\n'"${host_glibc_version}" -Vu | tail -1)
if [[ "${higher_glibc_version}" == "${host_glibc_version}" ]]; then
# musl build of nextest is slow, so use glibc build if host_env is gnu.
# https://github.com/taiki-e/install-action/issues/13
host_platform="${host_arch}_linux_gnu"
download_info=$(jq <<<"${manifest}" -r ".${host_platform}")
fi
;;
esac
fi
;;
macos | windows)
@@ -204,15 +206,14 @@ read_download_info() {
template=$(jq -r ".template.${host_platform}" "${manifest_dir}/${tool}.json")
url=$(jq <<<"${template}" -r '.url')
url="${url//\$\{version\}/${exact_version}}"
bin_dir=$(jq <<<"${template}" -r '.bin_dir')
bin_dir="${bin_dir//\$\{version\}/${exact_version}}"
bin_in_archive=$(jq <<<"${template}" -r '.bin')
bin_in_archive="${bin_in_archive//\$\{version\}/${exact_version}}"
else
bin_dir=$(jq <<<"${download_info}" -r '.bin_dir')
bin_in_archive=$(jq <<<"${download_info}" -r '.bin')
fi
if [[ "${bin_dir}" == "null" ]]; then
if [[ "${rust_crate}" == "null" ]]; then
bin_dir="/usr/local/bin"
else
bin_dir="${cargo_bin}"
fi
if [[ "${bin_in_archive}" == "null" ]]; then
@@ -348,22 +349,15 @@ exe=""
case "$(uname -s)" in
Linux)
host_os=linux
ldd_version=$(ldd --version 2>&1 || true)
if grep <<<"${ldd_version}" -q 'musl'; then
host_env="musl"
else
host_env="gnu"
host_glibc_version=$(grep <<<"${ldd_version}" -E "GLIBC|GNU libc" | sed "s/.* //g")
fi
if grep -q '^ID_LIKE=' /etc/os-release; then
base_distro="$(grep '^ID_LIKE=' /etc/os-release | sed 's/^ID_LIKE=//')"
base_distro=$(grep '^ID_LIKE=' /etc/os-release | sed 's/^ID_LIKE=//')
case "${base_distro}" in
*debian*) base_distro=debian ;;
*alpine*) base_distro=alpine ;;
*fedora*) base_distro=fedora ;;
esac
else
base_distro="$(grep '^ID=' /etc/os-release | sed 's/^ID=//')"
base_distro=$(grep '^ID=' /etc/os-release | sed 's/^ID=//')
fi
case "${base_distro}" in
fedora)
@@ -420,15 +414,31 @@ fi
if ! type -P jq &>/dev/null || ! type -P curl &>/dev/null || ! type -P tar &>/dev/null; then
case "${base_distro}" in
debian | alpine) sys_install ca-certificates curl jq tar ;;
fedora)
if [[ "${dnf}" == "yum" ]]; then
# On RHEL7-based distribution jq requires EPEL
sys_install ca-certificates curl tar epel-release
sys_install jq --enablerepo=epel
else
sys_install ca-certificates curl jq tar
debian | fedora | alpine)
echo "::group::Install packages required for installation (jq, curl, and/or tar)"
sys_packages=()
if ! type -P curl &>/dev/null; then
sys_packages+=(ca-certificates curl)
fi
if ! type -P tar &>/dev/null; then
sys_packages+=(tar)
fi
if [[ "${dnf:-}" == "yum" ]]; then
# On RHEL7-based distribution jq requires EPEL
if ! type -P jq &>/dev/null; then
sys_packages+=(epel-release)
sys_install "${sys_packages[@]}"
sys_install jq --enablerepo=epel
else
sys_install "${sys_packages[@]}"
fi
else
if ! type -P jq &>/dev/null; then
sys_packages+=(jq)
fi
sys_install "${sys_packages[@]}"
fi
echo "::endgroup::"
;;
esac
fi
@@ -463,7 +473,11 @@ for tool in "${tools[@]}"; do
fi
if ! type -P unzip &>/dev/null; then
case "${base_distro}" in
debian | alpine | fedora) sys_install unzip ;;
debian | alpine | fedora)
echo "::group::Install packages required for installation (unzip)"
sys_install unzip
echo "::endgroup::"
;;
esac
fi
mkdir -p "${tmp_dir}"
@@ -527,10 +541,13 @@ for tool in "${tools[@]}"; do
# Use cargo-binstall fallback if tool is available but the specified version not available.
read_manifest "${tool}" "${version}"
if [[ "${download_info}" == "null" ]]; then
if [[ "${rust_crate}" == "null" ]]; then
bail "${tool}@${version} for '${host_os}' is not supported"
fi
warn "${tool}@${version} for '${host_os}' is not supported; fallback to cargo-binstall"
case "${version}" in
latest) unsupported_tools+=("${tool}") ;;
*) unsupported_tools+=("${tool}@${version}") ;;
latest) unsupported_tools+=("${rust_crate}") ;;
*) unsupported_tools+=("${rust_crate}@${version}") ;;
esac
continue
fi
@@ -557,6 +574,7 @@ for tool in "${tools[@]}"; do
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.
cargo-*)
if type -P cargo &>/dev/null; then
case "${tool}" in
+9 -8
View File
@@ -1,4 +1,5 @@
{
"rust_crate": "cargo-binstall",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/cargo-bins/cargo-binstall/releases/download/v${version}/cargo-binstall-x86_64-unknown-linux-musl.tgz"
@@ -20,26 +21,26 @@
}
},
"latest": {
"version": "1.1.2"
"version": "1.3.0"
},
"1.1.2": {
"1.3.0": {
"x86_64_linux_musl": {
"checksum": "a77a735455c4fd379d7965184086fa5b1a72f9f0246a5f6e6fd79ae5362bdc39"
"checksum": "c6b61f091191e0444f1a503ac8fa8ce53ae7cf77c9472d9e725e9bae099f36d6"
},
"x86_64_macos": {
"checksum": "27e688f0371a4f049b8c69d4fc73cc6986f5e4cfce78b9b150fd79a1c4d1e890"
"checksum": "fb4feeb108fb1133efa402677d202dffcd9dff7956ebae645a442fce0dfd923a"
},
"x86_64_windows": {
"checksum": "f98e0e29be8f0ce5563de76032ec5daf604edda492ee33aed69a88136d06b374"
"checksum": "14fac83eb6f03159c4b495a0dc8bb338d88b0b3139d45a2fe1be1b0cc5259186"
},
"aarch64_linux_musl": {
"checksum": "a8495cd3463fc71be50ab7a6d135007e2356ca528c63c044370110f52f5c5fc9"
"checksum": "59183aae6e296cbaef4bae4e74ef0ddbced3cb52cadff236b8b729d1492cde05"
},
"aarch64_macos": {
"checksum": "a27733cb48b3705c7df8b86224b5f97f24aef4a5ffca851cb948413207e9ecff"
"checksum": "fbfeab286b70b4874563dbaa3630379ee5f4020562d00f67b116baee0ebc83eb"
},
"aarch64_windows": {
"checksum": "dd775c2a9317e59b3583303a2ad5608cfabb3270f03481d09e63cbb371854f2d"
"checksum": "30e325fa2da8e47d350237c5bc231f6eb916a3c7202f4b6fc22eeba848a331f1"
}
}
}
+42
View File
@@ -0,0 +1,42 @@
{
"rust_crate": "cargo-careful",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/RalfJung/cargo-careful/releases/download/v${version}/cargo-careful.x86_64-unknown-linux-musl"
},
"x86_64_macos": {
"url": "https://github.com/RalfJung/cargo-careful/releases/download/v${version}/cargo-careful.x86_64-apple-darwin"
},
"x86_64_windows": {
"url": "https://github.com/RalfJung/cargo-careful/releases/download/v${version}/cargo-careful.exe"
}
},
"latest": {
"version": "0.3.4"
},
"0.3": {
"version": "0.3.4"
},
"0.3.4": {
"x86_64_linux_musl": {
"checksum": "a9cfc7775546bd646a9e9252527c5caa56c429d854c6d8664ab4d63ed87827bd"
},
"x86_64_macos": {
"checksum": "b29d263648fc287250a413ebf53ddb37310564ac44bfd71c5a35ca8eaddac22f"
},
"x86_64_windows": {
"checksum": "50cebcb95cda4fa3b4d5010ed6252be92de2748d3f5c00aff3bc6fe5f39c0906"
}
},
"0.3.3": {
"x86_64_linux_musl": {
"checksum": "bb2b06f4df62110c8ae89a006b548a10a4da36d0f8f3ff67f7417fb51ed96b0a"
},
"x86_64_macos": {
"checksum": "c396bae85ad4b414976ea6943bdb6fb666e56735ad51255ab615399e40641fec"
},
"x86_64_windows": {
"checksum": "87b35993b38fc60c069c45d58e79bae6c8f5253ce2459dff6a6b0b629c7aeb4c"
}
}
}
+17 -2
View File
@@ -1,4 +1,5 @@
{
"rust_crate": "cargo-deny",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/EmbarkStudios/cargo-deny/releases/download/${version}/cargo-deny-${version}-x86_64-unknown-linux-musl.tar.gz",
@@ -18,10 +19,24 @@
}
},
"latest": {
"version": "0.14.0"
"version": "0.14.1"
},
"0.14": {
"version": "0.14.0"
"version": "0.14.1"
},
"0.14.1": {
"x86_64_linux_musl": {
"checksum": "913928cabbf80d2a237de6ffe47bdcba49434f8f08f9680f8a3a27b4ebc30832"
},
"x86_64_macos": {
"checksum": "ea59c1045d05f0afe9d53cb5677cbbedd858e02132fc4414f92a5f81e943a5dc"
},
"x86_64_windows": {
"checksum": "15e59617863b89040b52d67b79eaaa137fe7fe73eacab2ef01aef1cdb45195f9"
},
"aarch64_macos": {
"checksum": "f1651d37cb991c96cd9cc96c00cee2ddb470e7dd490a83896664ce50b2238e59"
}
},
"0.14.0": {
"x86_64_linux_musl": {
+1
View File
@@ -1,4 +1,5 @@
{
"rust_crate": "cargo-dinghy",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/sonos/dinghy/releases/download/${version}/cargo-dinghy-linux-${version}.tgz",
+110 -2
View File
@@ -1,10 +1,118 @@
{
"rust_crate": "cargo-hack",
"template": null,
"latest": {
"version": "0.5.28"
"version": "0.6.2"
},
"0.6": {
"version": "0.6.2"
},
"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.28"
"version": "0.5.29"
},
"0.5.29": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.5.29/cargo-hack-x86_64-unknown-linux-musl.tar.gz",
"checksum": "97be81fba9a94970d9984ea6a02028d9c6a83d53071456aa7c7cf35b9a150405"
},
"x86_64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.5.29/cargo-hack-x86_64-apple-darwin.tar.gz",
"checksum": "1388d51e994673f30380f709f3a8bacbc7f2981c3b294f34945b9612977ae6dd"
},
"x86_64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.5.29/cargo-hack-x86_64-pc-windows-msvc.zip",
"checksum": "e6bcc2ea5c5802e53773fb5f64b0d3e43784779ec61d7c2cbefb1a760fb04241"
},
"aarch64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.5.29/cargo-hack-aarch64-unknown-linux-musl.tar.gz",
"checksum": "e8729bd85be2c4efc3c72c8a7c995758f4b531334144cb7376557d44492c102e"
},
"aarch64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.5.29/cargo-hack-aarch64-apple-darwin.tar.gz",
"checksum": "3a024f71643a0cb137b28c7da9530c417f2c64dfa5f78d5e615b7f7376b43558"
},
"aarch64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.5.29/cargo-hack-aarch64-pc-windows-msvc.tar.gz",
"checksum": "79261291cadb00feb75f70d50ba33ff8fb6c68d7ab9c66614423610dd840d23f"
}
},
"0.5.28": {
"x86_64_linux_musl": {
+122 -2
View File
@@ -1,4 +1,5 @@
{
"rust_crate": "cargo-llvm-cov",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-llvm-cov/releases/download/v${version}/cargo-llvm-cov-x86_64-unknown-linux-musl.tar.gz"
@@ -17,10 +18,129 @@
}
},
"latest": {
"version": "0.5.24"
"version": "0.5.31"
},
"0.5": {
"version": "0.5.24"
"version": "0.5.31"
},
"0.5.31": {
"x86_64_linux_musl": {
"checksum": "f3814f9446f441c8b280ca93ba5aaf211295a6c8363d52e03d7e700808e6692c"
},
"x86_64_macos": {
"checksum": "9cd643daafc0e868c5c284a68cefb57fbc3bb2a11e8c59e54e738168bc691126"
},
"x86_64_windows": {
"checksum": "392cb5e11eaebd21f7ae865807837d0ab54df86e7ab5f98d3bf5b3cda65fea93"
},
"aarch64_linux_musl": {
"checksum": "0261bbfa0bd49964ca3dbd3041ec3fe5b23efd62b51e794bf516cc964af24079"
},
"aarch64_macos": {
"checksum": "9b7e2cb8fbc6694c2a0fd2abb7867108447c39350ca0fd3688a1b991877dff69"
}
},
"0.5.30": {
"x86_64_linux_musl": {
"checksum": "6731e8d7767145debb825095ab3ab7b9ab25cf7f5a10d22d17c1ef4566fbf249"
},
"x86_64_macos": {
"checksum": "9f634e2bed2dff89ec21177daf8abc1d55c1cca07e73d52f70b796f63a7a3d52"
},
"x86_64_windows": {
"checksum": "60dd774010ae493d17ca052f33d4976f5fe13e462d5b0f731a6c5e39de7475e8"
},
"aarch64_linux_musl": {
"checksum": "87718e164f6206fe4b2cf9b600bcafa1b582f22509820147f1060569e1d9217c"
},
"aarch64_macos": {
"checksum": "58d6295dffafdb920a1096635f9dd5334e5911d3e27cd7bccb0d2d9f99cc86b2"
}
},
"0.5.29": {
"x86_64_linux_musl": {
"checksum": "963ef54eca8296c4c112f0453b9bc36e5103ab1bee2b272abeb1e3474ae4aab8"
},
"x86_64_macos": {
"checksum": "be124539c0a1cc99124b28bda4fa916b5189a706fc975add13c4299f74d31237"
},
"x86_64_windows": {
"checksum": "ac70d70ac560a433276b6037f684044fb66627a8ddab38fe999599951d075845"
},
"aarch64_linux_musl": {
"checksum": "5865b9f03bbc6684731eaaa2ae512bf85dc11ee409e25e77882f4183af1ac03d"
},
"aarch64_macos": {
"checksum": "e05bf23c4d8b0af4b3127e10cf3484ca107e32a808e1cab48e417a14d3542edc"
}
},
"0.5.28": {
"x86_64_linux_musl": {
"checksum": "2e615725d904a4372f8613b8fc2012f392e22e8ce1190b3ad38a63ef25958f9e"
},
"x86_64_macos": {
"checksum": "56cc1e4c456b560608edea0871b7d5c0f6b61abe2eab6dcfdf66ef5dc32849c9"
},
"x86_64_windows": {
"checksum": "60d1c6253a6ac1d33127d22f9520237229422f9c91102e02134d9ec2f40d21fa"
},
"aarch64_linux_musl": {
"checksum": "a944fb36384a8baf9625c26f5232a82e344be38075be9175d50acf1128c418e3"
},
"aarch64_macos": {
"checksum": "035f1d632073d90d4b7986e9392b6659552d83759e154697d6032d2eb5fb7557"
}
},
"0.5.27": {
"x86_64_linux_musl": {
"checksum": "74e554fb069ee0410422158d293f91eddf1f126c59801df5474d79c39c6c63af"
},
"x86_64_macos": {
"checksum": "8f86128ef90534f1ccdb033ec05f37447e5861eceacb12871598a9f7b1097a1d"
},
"x86_64_windows": {
"checksum": "f9f0eadbe325594dc5b45cf226fa8c738635539a6a93fce39783876c0f6b4344"
},
"aarch64_linux_musl": {
"checksum": "20161f2a1f8322ec98281bd818219a9c9cb4744b2dbe95bf073af29b1e47cc83"
},
"aarch64_macos": {
"checksum": "43ad8e2bcd3a394f08c6e1582253ea759b611b0b94774933b7ebcc91a23f82e8"
}
},
"0.5.26": {
"x86_64_linux_musl": {
"checksum": "9284d4ff91e76a12186670a370ecd481e0ef430f077d5258b7c45560fdce2a1f"
},
"x86_64_macos": {
"checksum": "9972f993cab0668ee22c1b1cec6c84b00e810ba56c1479122751dd23a9fd71df"
},
"x86_64_windows": {
"checksum": "f60ad6861037cd98cc5f9ed640f5bc347188ca4053956dfdc544d4259518ee29"
},
"aarch64_linux_musl": {
"checksum": "0bc7aec3aa09c638c0bc153170ab1f60802057ce9037c6febd10941e5751dc07"
},
"aarch64_macos": {
"checksum": "99864fc0f04d337a9a77fd24b89a6e9325381b5f7fb4542ce5e4a2ad2c12363c"
}
},
"0.5.25": {
"x86_64_linux_musl": {
"checksum": "0567e6b651bcb819afcc2cc8f49f18a74c57ffba0aa9a2640b313c5f2568ea1c"
},
"x86_64_macos": {
"checksum": "7af62464a39cc9732567ba2b3213c19afe85b20f0ffd7e70ba56cd7bcc78e661"
},
"x86_64_windows": {
"checksum": "2b91db2b1b329f700337d5ec2323e969527644f3761cc1ae7a4a94a9faff2d0d"
},
"aarch64_linux_musl": {
"checksum": "a16b7950746dd8d764479289ac48cb06ebc156e2a750c595b95589a68342bccb"
},
"aarch64_macos": {
"checksum": "db6d159acf27ca7d6f148fc5604dd9f2ff39da163f94d9a1c37c3f063dd664fb"
}
},
"0.5.24": {
"x86_64_linux_musl": {
+82
View File
@@ -0,0 +1,82 @@
{
"rust_crate": "cargo-machete",
"template": null,
"latest": {
"version": "0.5.0"
},
"0.5": {
"version": "0.5.0"
},
"0.5.0": {
"x86_64_linux_musl": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.5.0/cargo-machete-v0.5.0-x86_64-unknown-linux-musl.tar.gz",
"checksum": "1ce5cf9fa24f6861a14318fb96db59011865d0adf979c2240d006407815ca174",
"bin": "cargo-machete-v0.5.0-x86_64-unknown-linux-musl/cargo-machete"
},
"x86_64_macos": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.5.0/cargo-machete-v0.5.0-x86_64-apple-darwin.tar.gz",
"checksum": "0550b85e43905fe8bfe0e83cb04d220a80f7aa898aaa3be0fe7a96f8ffd5e7f5",
"bin": "cargo-machete-v0.5.0-x86_64-apple-darwin/cargo-machete"
},
"x86_64_windows": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.5.0/cargo-machete-v0.5.0-x86_64-pc-windows-msvc.tar.gz",
"checksum": "fd5ebb959cc214e8dab2661c65562eb0ec3d1da72d5f5a746f6bb6111b1854f8",
"bin": "cargo-machete-v0.5.0-x86_64-pc-windows-msvc/cargo-machete.exe"
},
"aarch64_macos": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.5.0/cargo-machete-v0.5.0-aarch64-apple-darwin.tar.gz",
"checksum": "0386aa9ace17f6d96244b1315f8e996325ab81584a37fd3bc1d300a84455e55f",
"bin": "cargo-machete-v0.5.0-aarch64-apple-darwin/cargo-machete"
}
},
"0.4": {
"version": "0.4.0"
},
"0.4.0": {
"x86_64_linux_musl": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.4.0/cargo-machete-v0.4.0-x86_64-unknown-linux-musl.tar.gz",
"checksum": "92e77b38b91e30e9d7383779b71035c5eebd8d874e1683db19239062d0dd1000",
"bin": "cargo-machete-v0.4.0-x86_64-unknown-linux-musl/cargo-machete"
},
"x86_64_macos": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.4.0/cargo-machete-v0.4.0-x86_64-apple-darwin.tar.gz",
"checksum": "db1f036bafc424af7247aa27748c08b3174b85b414e774cad51689f3e01ec64e",
"bin": "cargo-machete-v0.4.0-x86_64-apple-darwin/cargo-machete"
},
"x86_64_windows": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.4.0/cargo-machete-v0.4.0-x86_64-pc-windows-msvc.tar.gz",
"checksum": "0c31b0b4d7a3092dc84375d3993947cbdbf9db7f4d81128aca8a13e268cfe49c",
"bin": "cargo-machete-v0.4.0-x86_64-pc-windows-msvc/cargo-machete.exe"
},
"aarch64_macos": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.4.0/cargo-machete-v0.4.0-aarch64-apple-darwin.tar.gz",
"checksum": "5f8a3004642535c78d2b7a49cb0e1fc6287643bc5c52d10e77ae3e79b558e190",
"bin": "cargo-machete-v0.4.0-aarch64-apple-darwin/cargo-machete"
}
},
"0.3": {
"version": "0.3.1"
},
"0.3.1": {
"x86_64_linux_musl": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.3.1/cargo-machete-0.3.1-x86_64-unknown-linux-musl.tar.gz",
"checksum": "d5e15a4c1926296746e0da4d52d8c7203acc1d453c8874c6b6f56a0ae52d4d87",
"bin": "cargo-machete-0.3.1-x86_64-unknown-linux-musl/cargo-machete"
},
"x86_64_macos": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.3.1/cargo-machete-0.3.1-x86_64-apple-darwin.tar.gz",
"checksum": "83431f27f24f59d47385497d1a19ebe7c6e32f36dd163d804aa5b1337ca1489b",
"bin": "cargo-machete-0.3.1-x86_64-apple-darwin/cargo-machete"
},
"x86_64_windows": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.3.1/cargo-machete-0.3.1-x86_64-pc-windows-msvc.tar.gz",
"checksum": "28aa111b283bc97f9259b0644b99e0109dde6414a5a672e00347d8cbb6e83804",
"bin": "cargo-machete-0.3.1-x86_64-pc-windows-msvc/cargo-machete.exe"
},
"aarch64_macos": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.3.1/cargo-machete-0.3.1-aarch64-apple-darwin.tar.gz",
"checksum": "3ac0cee2102d74c71c831af1c7b8e229b254d3318927baed340728ddc61a10a8",
"bin": "cargo-machete-0.3.1-aarch64-apple-darwin/cargo-machete"
}
}
}
+17 -2
View File
@@ -1,4 +1,5 @@
{
"rust_crate": "cargo-make",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/sagiegurari/cargo-make/releases/download/${version}/cargo-make-v${version}-x86_64-unknown-linux-musl.zip",
@@ -18,10 +19,24 @@
}
},
"latest": {
"version": "0.36.12"
"version": "0.36.13"
},
"0.36": {
"version": "0.36.12"
"version": "0.36.13"
},
"0.36.13": {
"x86_64_linux_musl": {
"checksum": "7f89f550b69e7bea469d34c09c6462cf8c7b08a5746c4e59a16600a4ebf6c409"
},
"x86_64_macos": {
"checksum": "fb383b0c461df1e1824caf6787035ca834d02ea765d6a18177bc1dbd3d2ac4c5"
},
"x86_64_windows": {
"checksum": "390379ce493a788a0853fda09480dde00b7bb3c717393cd3785e45a9b42e6aa1"
},
"aarch64_macos": {
"checksum": "e4dd8ed9035babdd5bd16799b713ec90373e65354aa92c0322a8031c78fcb65c"
}
},
"0.36.12": {
"x86_64_linux_musl": {
+43 -2
View File
@@ -1,4 +1,5 @@
{
"rust_crate": "cargo-minimal-versions",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-minimal-versions/releases/download/v${version}/cargo-minimal-versions-x86_64-unknown-linux-musl.tar.gz"
@@ -20,10 +21,50 @@
}
},
"latest": {
"version": "0.1.13"
"version": "0.1.15"
},
"0.1": {
"version": "0.1.13"
"version": "0.1.15"
},
"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": {
"checksum": "f7284ada48677bef2acb9348a6bfe86705246b57681db178a28634e25c61459d"
},
"x86_64_macos": {
"checksum": "d5121056830331b512e3648f7edca3d86cc84e1621f2d3369d24bef549b2c0f0"
},
"x86_64_windows": {
"checksum": "00a478f561c25db3009d14aba8d0dc8a9e5c9e4f114fd9522a6a09e5de289f55"
},
"aarch64_linux_musl": {
"checksum": "8915fdcde61536c740b885ce83cd2f38a607bf5d7121d8535e8be43bd820b0d6"
},
"aarch64_macos": {
"checksum": "7c737c7ade8f4080d04dacec82b9b94752d3b98fd179a2f51af986fc26d273ba"
},
"aarch64_windows": {
"checksum": "d87025a5881f0c24ecb52061bc0b3c7fca9ca7beee3b75566392dce759ecd7a5"
}
},
"0.1.13": {
"x86_64_linux_musl": {
-735
View File
@@ -1,735 +0,0 @@
{
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/nextest-rs/nextest/releases/download/cargo-nextest-${version}/cargo-nextest-${version}-x86_64-unknown-linux-gnu.tar.gz"
},
"x86_64_linux_musl": {
"url": "https://github.com/nextest-rs/nextest/releases/download/cargo-nextest-${version}/cargo-nextest-${version}-x86_64-unknown-linux-musl.tar.gz"
},
"x86_64_macos": {
"url": "https://github.com/nextest-rs/nextest/releases/download/cargo-nextest-${version}/cargo-nextest-${version}-universal-apple-darwin.tar.gz"
},
"x86_64_windows": {
"url": "https://github.com/nextest-rs/nextest/releases/download/cargo-nextest-${version}/cargo-nextest-${version}-x86_64-pc-windows-msvc.tar.gz"
},
"aarch64_linux_gnu": {
"url": "https://github.com/nextest-rs/nextest/releases/download/cargo-nextest-${version}/cargo-nextest-${version}-aarch64-unknown-linux-gnu.tar.gz"
}
},
"latest": {
"version": "0.9.55"
},
"0.9": {
"version": "0.9.55"
},
"0.9.55": {
"x86_64_linux_gnu": {
"checksum": "b5bab814d720561c002b5cbe899f997c20407689cfba23754b5a6c20ae3cac4a"
},
"x86_64_linux_musl": {
"checksum": "2ae6cd6198a60c73e906ed99fcc7254ae6dae68076ea2c24f5acda83c5918ffd"
},
"x86_64_macos": {
"checksum": "adbcbd9c2c1634e90c0cc8f376633ff76242a722a81938ecda6fe9131cc90aa6"
},
"x86_64_windows": {
"checksum": "64280ff486b3af59a7c4e095f293f292211b334b9b17c7d4bd45445aabfe15e5"
},
"aarch64_linux_gnu": {
"checksum": "0dbd309e53c001a18afb5f3a3839d0427421bc06ba057b28506d08e7ae2fb20a"
}
},
"0.9.54": {
"x86_64_linux_gnu": {
"checksum": "ed393824489793854193906946d972afc1e3c32a18aed5bc9dafc2cb3547bead"
},
"x86_64_linux_musl": {
"checksum": "898bdec39d25f8c60eb984fe440a7a2e677a7f8b881ad7f0bdc44d1236700ab7"
},
"x86_64_macos": {
"checksum": "436c10a0c32aaefe3680a8550903f1382436a7954ecea5156f99c7f207516466"
},
"x86_64_windows": {
"checksum": "45bb1ac2cbe1286ded194619befe860adde01b14c0f4c7a77352022fb2be254d"
},
"aarch64_linux_gnu": {
"checksum": "c62ae5598a857655ba7c6299be5254244c78dfb249d83f6634804221e3f0faa0"
}
},
"0.9.53": {
"x86_64_linux_gnu": {
"checksum": "b07def6a5e5521481eb5853e5f17650be406ce8c57ce917a90d2866c788e5967"
},
"x86_64_linux_musl": {
"checksum": "432af91cae859413b79bd50baea327badffe7d488ce4ffd5d301bd84b007b889"
},
"x86_64_macos": {
"checksum": "ccab0a046538cb86a93ee6f05a1d9ceace7878fc7ca39392b681b01dc27fc54e"
},
"x86_64_windows": {
"checksum": "49605a5f5f3275d1e8a2fdfaa0a45a52df03cfd791ad5b1a093b196df3a408d5"
},
"aarch64_linux_gnu": {
"checksum": "54e47dc3fcf7eead6307ac06a9e02ce9a0fe3a156a53b062b63f823cd2765bfd"
}
},
"0.9.52": {
"x86_64_linux_gnu": {
"checksum": "55bf039be0d14e4266eaacd765a292294c8627787dcb31d503690a9c14ad21fc"
},
"x86_64_linux_musl": {
"checksum": "7e6b14b379b8315f81d1e2542e6f6de9fffda6ca9c95054ebc0560f52a27038f"
},
"x86_64_macos": {
"checksum": "d4638b6ec6e8e8d8f3cf4ff8f039665f0a1d4ff2cf7ef6467bdb243e654c9911"
},
"x86_64_windows": {
"checksum": "af5c3227e870b9f1719d8993d09dc3f2871c4e34b06d8711679129c370a0fa0d"
},
"aarch64_linux_gnu": {
"checksum": "ee7d4f5264c5be5177b3a0bb8fb0bd2100592a6ea29bcbef1d98b782c09e5dc0"
}
},
"0.9.51": {
"x86_64_linux_gnu": {
"checksum": "5cbf80e72737d63a601f139d6ff1c42ca9cf6204cd7991f7d6ce7458f2c12bbc"
},
"x86_64_linux_musl": {
"checksum": "2d7def02b6b795b7b44fe2cca9b1b9e77bcb4c8903957ad502f60f45a2f92e9a"
},
"x86_64_macos": {
"checksum": "607c0cac7d659bb957af12a136756821771b9d91f03ccae24b255363e7fcbfda"
},
"x86_64_windows": {
"checksum": "4a97e5ab319af4347549e8414df2af5af7d9f8b4cee8650bad0111d2007711b2"
},
"aarch64_linux_gnu": {
"checksum": "8da18d12f95280bf1a7bde6e13cb8e1e2ea877acc4e826c27ab6c5df653fafca"
}
},
"0.9.50": {
"x86_64_linux_gnu": {
"checksum": "4586cfb628f70f6493d9f861b0c71dbe66622128e935ca3c922010bd460673ba"
},
"x86_64_linux_musl": {
"checksum": "c8b766b6bc28018b8a2c0597b97dd8183fe5a81ddd51fbcc1e9892147887eca3"
},
"x86_64_macos": {
"checksum": "77405db34f1191cc6979b3e291e7aaf587a40ee231cbccbe1885fd89e31ee577"
},
"x86_64_windows": {
"checksum": "6e8a2f4deeb4ade48f4424a65db13bd5122dec73d59a4eeac51c13eb997e1bdf"
},
"aarch64_linux_gnu": {
"checksum": "ebb3198673a199518548af5f8c1a5be7e15a85e9ca5c3978caeb7e0cd09f2969"
}
},
"0.9.49": {
"x86_64_linux_gnu": {
"checksum": "5e19c5038c9940da4c47a9ae87f94b352dc98c2ab75b4b9aeae227cdff8440d2"
},
"x86_64_linux_musl": {
"checksum": "b09d7870bba824af1acfce505811951f0d81cf21b144490c6a3f34f59bcc182b"
},
"x86_64_macos": {
"checksum": "171bc696474667208587c74d9acce0250f3b2eac1faad39458e828a65c3f1c93"
},
"x86_64_windows": {
"checksum": "e9c532bb99c6e8e7edb65578f8c251fb3d87a3377bef1128763442dc7f088ebb"
},
"aarch64_linux_gnu": {
"checksum": "40ff81ed279e8a6d38ebe06ee75bba47785e8cb006267e35a15c157724e8e437"
}
},
"0.9.48": {
"x86_64_linux_gnu": {
"checksum": "9730218bacb5f6c1697a4f44a94958a3ce708e8cc7ff430ac007075620b49b09"
},
"x86_64_linux_musl": {
"checksum": "bc6c52c443469342d9eeed564d78007c8c7aca6c592153d1743b6c2530b195b8"
},
"x86_64_macos": {
"checksum": "ee592baa34e0210bc2195a9369e13cc520e926ee6cbfec8727c653c1f8a275c4"
},
"x86_64_windows": {
"checksum": "3d34a3be1ace82dc33f52a8396743ad19f1f78739d44fc755a927fb1c187c071"
},
"aarch64_linux_gnu": {
"checksum": "13af6c207cfae0219f6ec3760980d951292815d26f575f4c099ae1797af7505a"
}
},
"0.9.47": {
"x86_64_linux_gnu": {
"checksum": "8518f212d10ab67ad620bcf8dff755a0f083757440881143c31a3904821f260f"
},
"x86_64_linux_musl": {
"checksum": "879605757d4b7bbb8aa2c108e91a328ea1d5af38a1be236bccc5aec7eed60446"
},
"x86_64_macos": {
"checksum": "23ad7efe005bbbc686eabdc4be6f471fabc64ef6caf161d92ec8f0ef9dcb38f5"
},
"x86_64_windows": {
"checksum": "22d838040a0106c0fbe06a0f13bc0995c92e81898f2355421c07fe2f856dd2ed"
},
"aarch64_linux_gnu": {
"checksum": "98260769d5762f35f2e2d7b1812372f4639d2ab4078e1967d1daf659331b879b"
}
},
"0.9.46": {
"x86_64_macos": {
"checksum": "938fa847ab1d7d0fa94dbeb9bdea817187bcf89c59d2a871b24042b09ad17944"
}
},
"0.9.45": {
"x86_64_linux_gnu": {
"checksum": "fb7dd79b1b16e2c8a4476c72091988852966ad42dd969eaf3469b84bb996f08c"
},
"x86_64_linux_musl": {
"checksum": "6ca9583d08da02bc8b4e6c4d94d341cce4784057fb27730e64e01b70fe004afd"
},
"x86_64_macos": {
"checksum": "dc50fb656120753932f88b5c9de0ed64d3bd738d1615d1d5b9849c393328cdd1"
},
"x86_64_windows": {
"checksum": "8222d7f4ba8d4d62bb21ecf2dac3695025e77d00ea711bd8043a0c4605250b4d"
},
"aarch64_linux_gnu": {
"checksum": "e8aef754b393369cff845ffe1a0acba569b04f4747874320e71bb15593c8235d"
}
},
"0.9.44": {
"x86_64_linux_gnu": {
"checksum": "544e15a10bdea2e98da6762d062a61fe1e1a24235200895c9f1c4817d3d9fec1"
},
"x86_64_linux_musl": {
"checksum": "5174ecb5f0fa699dcf2c90f2689b5d6e32e0d5b9ab24fd309c00d865710fa8b8"
},
"x86_64_macos": {
"checksum": "ae20bb213ca44898b49b30fad9eb90b00f4997032bd0815f11571109c3e675b2"
},
"x86_64_windows": {
"checksum": "1c6d5e02ac53495d1efd7754337a64d362bc917b7a063de8cb560352696d0167"
},
"aarch64_linux_gnu": {
"checksum": "7293c00fcc3a1f77e2b12438aba0de8612b4b5ed6b6eaa5b1665db9d84e99ba0"
}
},
"0.9.43": {
"x86_64_linux_gnu": {
"checksum": "448e6700d5b0e459b9dcd73f6ebc76fd57bd1c621f4ac5f2c915ac90d6e89c84"
},
"x86_64_linux_musl": {
"checksum": "b40f83e6093ba0822daf43caa5fb3f64fc098cfbb1b2b8b704a1b82d280b93dd"
},
"x86_64_macos": {
"checksum": "8fef2947e22891a8f668aab33fa05ebbf0138df6703fcc2ca963a257e6441d29"
},
"x86_64_windows": {
"checksum": "4fc0f4c3e255dea1a07d43592056d71d19660abcfd11711e1bb3732311ca0dc4"
},
"aarch64_linux_gnu": {
"checksum": "79da74c38d6ba1381058fb5d1318c6b318b47869349b8a80806e09596abc8017"
}
},
"0.9.42": {
"x86_64_linux_gnu": {
"checksum": "baaed41d21ff120fed927e022c9bf74e8d31dc50a4342e7849894fc341f31c53"
},
"x86_64_linux_musl": {
"checksum": "1b4c4442d5ca6329d5c04697fad70355569d738f37c713411c6fcd0195aac457"
},
"x86_64_macos": {
"checksum": "12d9e8ebf0ab5cf2596dea35bee183310348d5c9625f2bda64cfbf4c342e3730"
},
"x86_64_windows": {
"checksum": "bf69c7055f5c45f38a4c63538c8b367122557d1dd49414e62f8c38a76f31f88e"
},
"aarch64_linux_gnu": {
"checksum": "f2de3914236041d7aa843c3d1d2304cf25e032dad2a3cd2e3fd4cbde12202b64"
}
},
"0.9.41": {
"x86_64_macos": {
"checksum": "1d2983bed390e6e5fb13222dc0724bb54a3f67226e87e7a304c7dd3f0003ca61"
}
},
"0.9.40": {
"x86_64_linux_gnu": {
"checksum": "d9ab201015d93bc1e47b0c9da0a778d746fb7f22c610cdc9f2dabd441dd7fc76"
},
"x86_64_linux_musl": {
"checksum": "04772ba51706ddaffeb05688bc2a77719321aadfa31b70249c894ad85ce0fe36"
},
"x86_64_macos": {
"checksum": "55c9c77885f8fed495bd1da06d00d676b506ea35a5c1825ff3eda0b83746b0e4"
},
"x86_64_windows": {
"checksum": "49d80615ee2cbd213abe8bd110f5bd1990050dcefd17a34014e4d3b924339fe9"
},
"aarch64_linux_gnu": {
"checksum": "e20dde1b62b5be9c76782b3c6521682621b04e483f4029f69c05b5f44a133704"
}
},
"0.9.39": {
"x86_64_linux_gnu": {
"checksum": "759d6766f4686af03c99d9d641286b313b8acad01f5795d825eb33014ae0867a"
},
"x86_64_linux_musl": {
"checksum": "1c0a1ff68ddf1e2a9acd201c12a4dab451fc3a8d1908d33e7bda406de757a689"
},
"x86_64_macos": {
"checksum": "563d491a51d3ec4a133b83b979cd4d4ed654e5fd65bbe9ca2fd9f3021a8dab1e"
},
"x86_64_windows": {
"checksum": "d9cb5b2a7a52b43f53f2c4afbcb3ae56d029b98342101b78d84fdfa569988eb3"
},
"aarch64_linux_gnu": {
"checksum": "bc4300207ca8365348f6a4c5d2122873bf6ca12652b4c58c455a339e79118568"
}
},
"0.9.38": {
"x86_64_linux_gnu": {
"checksum": "ce6a30df41bc32158d0136b59757f41e9da9b9633ca00a5f96f03c4586ea7bf5"
},
"x86_64_linux_musl": {
"checksum": "6fadc213ccf08a3cc3149d784d13452cfb74cea5e68885e31d5853d4b56c6dc3"
},
"x86_64_macos": {
"checksum": "1c5923ed413d82933e45dfa6ad16c08901216f39c67d2836e45048d768f91bd2"
},
"x86_64_windows": {
"checksum": "fbf73b5e8bca59784b11fd526068ff01b5e456d66b19be6706ce93e4181e83b6"
},
"aarch64_linux_gnu": {
"checksum": "b7fc94e638e82075286190ba696222a6768f4144ea7384ea5a25292ca5534fac"
}
},
"0.9.37": {
"x86_64_linux_gnu": {
"checksum": "da51679397ed055a0cc2f2e63ff934d179372bbd88f937f71f7255fd5c528755"
},
"x86_64_linux_musl": {
"checksum": "6ea9ce5726ea30ac6186dcf063dc5a4595c6779b8530200618d291ac95944e53"
},
"x86_64_macos": {
"checksum": "01386d1242a6656eb1239cd5ce59b383f60167f687e3eb9bfd180fab86f58e47"
},
"x86_64_windows": {
"checksum": "9f3be2d8a85b2dedaad7bccefa45dc430f9a76bf99104a44bef3fbb8553e3e5c"
},
"aarch64_linux_gnu": {
"checksum": "41ccf7273be37af8ea466b2dfa35fe922cdd1d1b45716407f2951fb38d97a748"
}
},
"0.9.36": {
"x86_64_linux_gnu": {
"checksum": "d2b0f7b0773e60a93aba72a9ae5c11fc348e58f38fe25d6e1877725d9e6ae475"
},
"x86_64_linux_musl": {
"checksum": "e1b90e4bcb12ab3839eca75ef6de6a3ed46936d68037958f7a7167e4653896da"
},
"x86_64_macos": {
"checksum": "4332636324d9ee0e786cfdefae3ee383a2a0b3ddde6fdccab212e0c09671f7fc"
},
"x86_64_windows": {
"checksum": "7f0c7211671e1fdea76136c06110df6acca23e4e32f53c3ef6e8a537efae73c2"
},
"aarch64_linux_gnu": {
"checksum": "b266b330fcfc7223825b46a07cdd072df3e41911515697000508baf019e64dea"
}
},
"0.9.35": {
"x86_64_linux_gnu": {
"checksum": "fa6fbc8d848e595d847eaeddea432dad6944a4cfc4ac3156ef91173772a1c4ab"
},
"x86_64_linux_musl": {
"checksum": "9d11ad8ed2d6401b51196d4b0c78924b0f78df323458b096c1adcdc899c8fb66"
},
"x86_64_macos": {
"checksum": "0cbc3a22be5511ff0365499f6d0e38b0aaa62f33c8e25792a71437dbdfd0af43"
},
"x86_64_windows": {
"checksum": "1026b2d19604d745c61635bf9fd5105c15f36bebef1cd6de2b0fc0a455de0b27"
},
"aarch64_linux_gnu": {
"checksum": "866db5b1b39032055eb2cfb0a62f5a5a23899ce0abfba0129f44bf826b81adcf"
}
},
"0.9.34": {
"x86_64_linux_gnu": {
"checksum": "a96acb41a9ca14d5cd5aef9e8a12c1be8f8a3362bafe4f3a3da32c56b9c1abc5"
},
"x86_64_linux_musl": {
"checksum": "f1ef0f528e09dc2ae9dea3fb6cf234f279772170cddc1fc8a603c4733f7675cc"
},
"x86_64_macos": {
"checksum": "406ae94f8e8ae81e7f00080449c045bee01ee569721e603f7e6eb685903dde66"
},
"x86_64_windows": {
"checksum": "7b096f12a97ca2f7f194c25e88a2459bf078997157af85dc77603df277f63d7c"
},
"aarch64_linux_gnu": {
"checksum": "008927576704b0650727539daa435d1636f01516bad5f45d27c21afe992fdc01"
}
},
"0.9.33": {
"x86_64_linux_gnu": {
"checksum": "6bfd0f9f156dcad38f40282320b38cb513f19023617b9df327026cc8e41a2795"
},
"x86_64_linux_musl": {
"checksum": "2e5b1819ebfc8c6da370ef07e9487dd42bef7ad28949aa6235dd127ad49cd064"
},
"x86_64_macos": {
"checksum": "bee61898fdaa523b4ebfbeeacfd3f6051a77cb307b3c5ece4f35f26802e7469c"
},
"x86_64_windows": {
"checksum": "425e9be858d5b66410cdb8ac9b9d62fc80a196aa5a9cc7c8ee7f0a5fe7bdf6a8"
},
"aarch64_linux_gnu": {
"checksum": "1b016e421493e11a5272bd9a24fa1515d7fad2962d41393261b5823fd1c8dbf4"
}
},
"0.9.32": {
"x86_64_linux_gnu": {
"checksum": "3c4688160d7055494ba4343b6f84c80d229576df6acf6c4caf955b01e52a67a9"
},
"x86_64_linux_musl": {
"checksum": "86d4e3a57e99c1806315c4df1337b0044eea9fe1d57331428f79d3c1686a2187"
},
"x86_64_macos": {
"checksum": "a5747af15b4620dcf51b166e866a6421858becdd7ee07db1b05cf9fc3e9fa7eb"
},
"x86_64_windows": {
"checksum": "f75dc137cc4826a276d9d9dc38ce3ea93b69e4fc2fcfa13af9dd060ae9db1f9a"
},
"aarch64_linux_gnu": {
"checksum": "c50cedfbf8c5ec41c8777e9b18f082f0cc789ee7a47de07bfa6f4549e84d8bed"
}
},
"0.9.31": {
"x86_64_linux_gnu": {
"checksum": "e086b4d84f08ff750afc917dbe89803e3aece8ff166ab380d2c4437cd459da72"
},
"x86_64_linux_musl": {
"checksum": "272593752ad3ce5eca51cd071efbdc463914ee091f38007f5ae684ae5d7b2733"
},
"x86_64_macos": {
"checksum": "dda665e39e889bafee6ccfcfc8b63ad510abac9cc0d0673fe7bc928135e56055"
},
"x86_64_windows": {
"checksum": "c72779cee829009550668d7da2ad1a1fc9081e8d14782818b8fa17c6aa763ac6"
},
"aarch64_linux_gnu": {
"checksum": "a5c23e61574f938d1b9e0d71425b9b01a9af5dd5000a79489b5f256fb48d174e"
}
},
"0.9.30": {
"x86_64_linux_gnu": {
"checksum": "6607736082fa6557012cd1b388cc63d3ec4b5eb344d41404c0726bfaa37c108b"
},
"x86_64_linux_musl": {
"checksum": "fa3117e40bbb888a81da73b7ddc1d0b545ccc5684fcabc99761589c33c90ae24"
},
"x86_64_macos": {
"checksum": "5e0f12f783dbe64343ddc168d36ee8bde961149a92883c0b7813b7831f4c33ed"
},
"x86_64_windows": {
"checksum": "bc3728cb1a8fb34378005dc5c2e849e1ecad5c9df7be368c968d3125b895b8db"
},
"aarch64_linux_gnu": {
"checksum": "2bbeea2fcb0a84b4349c735bafe4575a85d2c080e1863347601bbbec17f7602f"
}
},
"0.9.29": {
"x86_64_linux_gnu": {
"checksum": "b57d1662827d85be4ea37e9e4ca0bc53b96dc564fb8d8ab2300fda3b53423895"
},
"x86_64_linux_musl": {
"checksum": "0af9af9f9f278becd87f203fab31b9f0ef8ea69c7c9227e30a41c6c9311526dd"
},
"x86_64_macos": {
"checksum": "3706c380fdf87bf0547b51a29c2880efcfd1c5f8839dcfcc455fc40de1ff3a6d"
},
"x86_64_windows": {
"checksum": "5a5c3532872a1006b61e0422d6f6cc89de2ed80273f76888c9a68b2f4e039cae"
},
"aarch64_linux_gnu": {
"checksum": "fa32a8c8951b4f6ea19fdb97799188fc8c8b1fba06afc0240a005d72b685915a"
}
},
"0.9.28": {
"x86_64_linux_gnu": {
"checksum": "fa0f8843469cf3c541b6dedb9321ba04573d9ba75bf8608a028537ba924f0bd8"
},
"x86_64_macos": {
"checksum": "d99f24fe2ec8887fddd6b8a7b39cc1f0c793504d8f61f965a71b3499801e6aec"
},
"x86_64_windows": {
"checksum": "cd519077fa9dad077644ea3f0ea28455cb320c48bc0577e33f61169d81aefc4b"
}
},
"0.9.27": {
"x86_64_linux_gnu": {
"checksum": "da3054259e0aac51d3a4392778a594fa22cef2ae22494c2cc109ffe1b895e1f6"
},
"x86_64_macos": {
"checksum": "215594fb9dca749cc7dabc5727d6e6aeacdc4f4f835aee330cfa1d5b26a3102c"
},
"x86_64_windows": {
"checksum": "bb78880018da246a18d5654181d3ee7a7755fe27773502147e64938ba9400634"
}
},
"0.9.26": {
"x86_64_linux_gnu": {
"checksum": "fda7a9d8964d87da648fb2336957a5ea4c3584671eeac4d378a258873395814a"
},
"x86_64_macos": {
"checksum": "5d13fe035eb40aa1963c9434e23cff3dc26a9644ca09ed9271f18a1b40559006"
},
"x86_64_windows": {
"checksum": "f0c0dba573b8f486a3b452a4173f14bd3cc52dc0801f98a74ec81c86b6d46786"
}
},
"0.9.25": {
"x86_64_linux_gnu": {
"checksum": "5a0af54644702a17690d3e9bfe5b007f5eb04a423a31560011818f6e6b828011"
},
"x86_64_macos": {
"checksum": "012199680a32ea1834662e558a7455a4a92bbfd3825f48809fea4ccf5ad6427f"
},
"x86_64_windows": {
"checksum": "23c3ce0f92098016651832f44f6b27d9c9d4031db421ea5afdb43dfdeb643d93"
}
},
"0.9.24": {
"x86_64_linux_gnu": {
"checksum": "a51b6fedb9b7a4d1616bed1e84a9c001a7b74f1c238d0f82fd06f2c2c1852a15"
},
"x86_64_macos": {
"checksum": "3b08a166428ff53d129bdce9a55a4b84c46328e91cdf6a97fe5db2070fdf4548"
},
"x86_64_windows": {
"checksum": "6d5ae9d933af826b7cd9fce6f803c92740a48ccd1a6a9899bd3e5878cf9d1f09"
}
},
"0.9.23": {
"x86_64_linux_gnu": {
"checksum": "e55ea8d86b2667fa630e1b3cf61eb1d5f079619ccc63c193b64545a2b6bc5cea"
},
"x86_64_macos": {
"checksum": "3464080829d1989b1ee0e8ab99c30cba06cfa7dc413dd0d553e9197434240e4f"
},
"x86_64_windows": {
"checksum": "c8fa3e1f0d235f93d9cd6b76e6fc75bf9d7d82929b91e3d6cf6a15975907defc"
}
},
"0.9.22": {
"x86_64_linux_gnu": {
"checksum": "b0d05e3fc88b0fb8320a05fc860f2f5030e8f6ee2662e62750a194e8af5546f6"
},
"x86_64_macos": {
"checksum": "9fb9d314ffc646d4537950f0cce30b4f8ac06865d43e6b4c5eb1235f657a6351"
},
"x86_64_windows": {
"checksum": "3f92c2cbe12f50f03032c3724711c2e5e537167413c3b671203d367eda16f79f"
}
},
"0.9.21": {
"x86_64_linux_gnu": {
"checksum": "33b905ef2202b97e7103ff7765a42547e25b2d6b781f6f985442e2b438d1aa62"
},
"x86_64_macos": {
"checksum": "cdf95d3a0f990e74c4c2bd1332ccfc5b500067c50ff6f0b8f5862f979ce093ce"
},
"x86_64_windows": {
"checksum": "004845877d74734b2d7465d34d4cd512fe4e81e0c407ba03faf0517cf4cef7cd"
}
},
"0.9.20": {
"x86_64_linux_gnu": {
"checksum": "d1de19dc8e5d46aaa5fc00394e1a7ccb04160761a4d262f58d1eb6b73b80d73b"
},
"x86_64_macos": {
"checksum": "74122e64f063169c068f6e0126ca320e686b09dc2114eaca0e3425e94e596f60"
},
"x86_64_windows": {
"checksum": "4cb7eb9b6bd94340929b3b517360d24353526f98b19e6706e244f220f2651185"
}
},
"0.9.19": {
"x86_64_linux_gnu": {
"checksum": "fd351b31fdb2ce547027928918820d7f07e3a1782e419427028f4993ae7be8ef"
},
"x86_64_macos": {
"checksum": "e455850453292f2f4808b176f8c01759df81d8b9ed388aa145c0692bbe4836a3"
},
"x86_64_windows": {
"checksum": "18071ab9afa62e1074991e07034b2924a9af69fe1be846276999f0f1df18d5f4"
}
},
"0.9.18": {
"x86_64_linux_gnu": {
"checksum": "acbeaf13acdf5913dae7c628eaf834e2ad166567fdfbb8fc5bb1a7e3fcf1ea0d"
},
"x86_64_macos": {
"checksum": "66b6420a1c03522b7ff1a986095a7253dacd0caa81dfadd9af4394373261274b"
},
"x86_64_windows": {
"checksum": "79e8e2e45d493e99e536f5155e709831084c9071a0d90d0d1bb367ae3c83e8b9"
}
},
"0.9.17": {
"x86_64_linux_gnu": {
"checksum": "2ac1d189f8efdc3ef6f487b1230c41f4f417b26caee07fef2845828cd5282ee6"
},
"x86_64_macos": {
"checksum": "72bb8422383d3ae97988e7bdc5b8bae2a62e9ce3e313dc6a3ecb402c7acdd5fb"
},
"x86_64_windows": {
"checksum": "980bfca9db2ca58b8b6e8e5542863523b63deb29bff09c5dfee698aea90dab64"
}
},
"0.9.16": {
"x86_64_linux_gnu": {
"checksum": "64889b60a9d13082b2848c262072bf113635c70a71b89656e7d9848dbb10f58b"
},
"x86_64_macos": {
"checksum": "ce7b3cba9267ba10dfed2416ae2cf9f2c3e5c5c328f4bf80818cd7c1dbd8db24"
},
"x86_64_windows": {
"checksum": "e14b2295530642d70cd327d119300ed566bf58daa2a05176c2c8ff213c3c3df0"
}
},
"0.9.15": {
"x86_64_linux_gnu": {
"checksum": "d80d666195a97d0e41c371f7e763855475d08d9a5209aa5302598d926bbb590c"
},
"x86_64_macos": {
"checksum": "db2f8277edeb9f41016422480d120c6c98390fd4c5551b1960ac2e1f04466499"
},
"x86_64_windows": {
"checksum": "2ead3aa0a4bfe8a400240bd71b6e512c5c344c2e678dd6fe5b2c99b70ddc7b28"
}
},
"0.9.14": {
"x86_64_linux_gnu": {
"checksum": "42bcff26fec36c213371108cbf1c7d5baeccf3ae84f4f177db222d59268db417"
},
"x86_64_macos": {
"checksum": "a4de96f85fe863900f297639c4acdc3bd0b3bed2de181bb9a0a83b80bca090dd"
},
"x86_64_windows": {
"checksum": "03e5185732b1807629510e5d8c29764a144af3ffe81b0ab0c8522ad91a492653"
}
},
"0.9.13": {
"x86_64_linux_gnu": {
"checksum": "299338ee9dba31b1b1df06142ce6fbfb3388f42b5047b33bc6f83db1b903a6b8"
},
"x86_64_macos": {
"checksum": "293d07de124fe58b19e464b4234554d7d24ad46c7131a029588525e95813bd27"
},
"x86_64_windows": {
"checksum": "f00b5fa66b4677360c3849069b91c25b580d3980609fdc5dc0cef3174402fa10"
}
},
"0.9.12": {
"x86_64_linux_gnu": {
"checksum": "62a3bd60304f031a9e8de2eb5359ac709bbf43c979b2885cf719ee6982925a1b"
},
"x86_64_macos": {
"checksum": "59a98b67718f57878f034562fbcfcccdad38cd276cb989eaf66197c3194aa20a"
},
"x86_64_windows": {
"checksum": "bc0d2c77602fae21981ca5ea1f7577385c7bad6becd40d02a7e8f850ec647a3c"
}
},
"0.9.11": {
"x86_64_linux_gnu": {
"checksum": "edf8b5de7ae39fc1f7c1a5696f92fecee67ea40eb2937b707c026421cd2b0ef7"
},
"x86_64_macos": {
"checksum": "13062f0d363bdcfebb6711726f3f376f6b96f6d618f003bc9deb62eff177b5c6"
},
"x86_64_windows": {
"checksum": "f50546bc2e870a6d700866daed0e754f7911070f3bf15168e22aa7e394006d68"
}
},
"0.9.10": {
"x86_64_linux_gnu": {
"checksum": "72f2452beab162849800e451f002b7b666599c1fbf48ba0f1e4e1f66d1a3f964"
},
"x86_64_macos": {
"checksum": "9defd432c28d0c4639722e18f2d0b30cfcbc3d40d0da979484029bf3fb37bfe8"
},
"x86_64_windows": {
"checksum": "a0b3f050813f9c4e9342e96806fe3f58b40cd21070bf6e975c8b9c32022f0c7c"
}
},
"0.9.9": {
"x86_64_linux_gnu": {
"checksum": "a68f660fc632ba9f56d34c108e12268c776b3a4af12e4a57919defea2749a4fb"
},
"x86_64_macos": {
"checksum": "68fabfb452ea3da2631867528342d76c7d22e65eb5729dcf2001b529377465ff"
},
"x86_64_windows": {
"checksum": "cfb61967039f6378e78ceb494212782ef484b4014cd267fd48c3aa6562b9ed9f"
}
},
"0.9.8": {
"x86_64_linux_gnu": {
"checksum": "9f2bcac8b65bafb12573b0106db48b29d9ceba4acaa351cc5f2504d38245de61"
},
"x86_64_macos": {
"checksum": "56962fcebf7af87de9c3c24d161a4849fa5274e4ca1d5efa4901849f15efae1d"
},
"x86_64_windows": {
"checksum": "0ed3100d1b29c0475f5784556ac024556b7984a95abffc10c4e80300d525b31d"
}
},
"0.9.7": {
"x86_64_linux_gnu": {
"checksum": "f837faa4e747a82f73f01e735dc9304e64bda55adcf857b9448158d1817cafbc"
},
"x86_64_macos": {
"checksum": "59d144fc093c344a82ebda600c06c97ae423a0ce1346a0bab44d38e220843a59"
},
"x86_64_windows": {
"checksum": "1a248d7ee61fc353638b249c2ab57a5f34ee06a1b31ad181a1d82c7d7766079a"
}
},
"0.9.6": {
"x86_64_linux_gnu": {
"checksum": "de73c56b53a96dbdbb0625727cd7296afebfc3b3b561310330732aefd20808bf"
},
"x86_64_macos": {
"checksum": "90bad8022768b6a5a8980cc715208568a578b88305ff3b11bd06360fe1398429"
},
"x86_64_windows": {
"checksum": "a8963ab448155f49476bd27f8e47313de5b5c4fea01ae1e08d493aafbaa6d086"
}
},
"0.9.5": {
"x86_64_linux_gnu": {
"checksum": "170abd2e313faab81ff5f9a029feec552fed6f9131790206554870a8e33ff6ab"
},
"x86_64_macos": {
"checksum": "714d8406f729b776a6dd50f3e48e1ca7d45481a7ed172bcbfe6feacd08074d8b"
},
"x86_64_windows": {
"checksum": "a4b56f8b88c9d4a2f0aeef5f07e80029eaec5df8a5f996f4bcad8cf258c25283"
}
},
"0.9.4": {
"x86_64_linux_gnu": {
"checksum": "08b9c483c5a7a1fdc15375a1ea061f79e1a08670e77912f7943852215e3da4f6"
},
"x86_64_macos": {
"checksum": "58ec77643a8f395a989491763841434863fa1f9c5d622b6dcdf5278512217995"
},
"x86_64_windows": {
"checksum": "1eb8ebd4d1790e18ace38436549ac14c9cbc7c42431fcd6de5a04c3db753155c"
}
}
}
+1
View File
@@ -1,4 +1,5 @@
{
"rust_crate": "cargo-no-dev-deps",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-no-dev-deps/releases/download/v${version}/cargo-no-dev-deps-x86_64-unknown-linux-musl.tar.gz"
+1
View File
@@ -1,4 +1,5 @@
{
"rust_crate": "cargo-tarpaulin",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/xd009642/tarpaulin/releases/download/${version}/cargo-tarpaulin-x86_64-unknown-linux-musl.tar.gz"
+23 -2
View File
@@ -1,4 +1,5 @@
{
"rust_crate": "cargo-udeps",
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/est31/cargo-udeps/releases/download/v${version}/cargo-udeps-v${version}-x86_64-unknown-linux-gnu.tar.gz",
@@ -30,10 +31,30 @@
}
},
"latest": {
"version": "0.1.41"
"version": "0.1.42"
},
"0.1": {
"version": "0.1.41"
"version": "0.1.42"
},
"0.1.42": {
"x86_64_linux_musl": {
"checksum": "87566d3ef73ab818f64b078de211772b488a536e502b0cadf52d0aa72c98df4e"
},
"x86_64_macos": {
"checksum": "2bb16d6f823e76bae2c80f19327d80defdbad94da56af215a113fdb1ca2a723b"
},
"x86_64_windows": {
"checksum": "2042993093509a11f4f630f4d3dc0a1d48694f15890d6d2fbe1a8c3b1e1662c7"
},
"aarch64_linux_musl": {
"checksum": "c9d93d0114dda2f4992c284ab61a3be57aee5e02cd9a1a9911cfe7c4a93441f8"
},
"aarch64_macos": {
"checksum": "6ba990fea6cafbb305f731c903903aeaa730dee35afd93b4e9ce0efac1fc5d92"
},
"aarch64_windows": {
"checksum": "9e8fda00a0e495a0ed38a327379076ab305041b2fba65649dcb7dd5821463680"
}
},
"0.1.41": {
"x86_64_linux_musl": {
+1
View File
@@ -1,4 +1,5 @@
{
"rust_crate": "cargo-valgrind",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/jfrimmel/cargo-valgrind/releases/download/v${version}/cargo-valgrind-${version}-x86_64-unknown-linux-musl.tar.gz"
+1
View File
@@ -1,4 +1,5 @@
{
"rust_crate": "cross",
"template": null,
"latest": {
"version": "0.2.5"
+37 -2
View File
@@ -1,4 +1,5 @@
{
"rust_crate": "dprint",
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/dprint/dprint/releases/download/${version}/dprint-x86_64-unknown-linux-gnu.zip"
@@ -20,10 +21,44 @@
}
},
"latest": {
"version": "0.40.0"
"version": "0.40.2"
},
"0.40": {
"version": "0.40.0"
"version": "0.40.2"
},
"0.40.2": {
"x86_64_linux_musl": {
"checksum": "5c8418466937191f711ce4ba59e9ec28036daec01a08a505a17570a5edaec4c3"
},
"x86_64_macos": {
"checksum": "e4089c699a09ac725337f2f00f1de2798fa93e2cd7c739c81fdd85c3259b61e5"
},
"x86_64_windows": {
"checksum": "ede70ca91ae7983f8365aa59c477246f9595c9f32536c359abf3a706c68801c8"
},
"aarch64_linux_gnu": {
"checksum": "66e51be4b1882f504beca45067fee39226b81c23c7fed0b71de629cafa51b7da"
},
"aarch64_macos": {
"checksum": "d1e7517270c7a04f38ff6659d0a20482c5406e66b2ae8e9c15abd4674e74c127"
}
},
"0.40.1": {
"x86_64_linux_musl": {
"checksum": "0bc9cf7e191bd0c9a3e0ff84c77837da1a14f399220246d1955774135c0e40e6"
},
"x86_64_macos": {
"checksum": "a510053186e3cc9a802807cccf3e5eac3427fa1ceddd3e6f9ccb59dce7051ac0"
},
"x86_64_windows": {
"checksum": "a51788272cf3412f7cdaecde1c570e22f93f01f89ae14587712b0f8f321a47e2"
},
"aarch64_linux_gnu": {
"checksum": "53056d49e4c4394f52de95a3910a9d4a8986287f728886f0d768d2908975e92e"
},
"aarch64_macos": {
"checksum": "8b8826460309a6306a3bab9150bd84344eccb59ca0e8c38ca551dfea6c1efc9b"
}
},
"0.40.0": {
"x86_64_linux_musl": {
+1
View File
@@ -1,4 +1,5 @@
{
"rust_crate": "grcov",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/mozilla/grcov/releases/download/v${version}/grcov-x86_64-unknown-linux-musl.tar.bz2"
+1
View File
@@ -1,4 +1,5 @@
{
"rust_crate": "just",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/casey/just/releases/download/${version}/just-${version}-x86_64-unknown-linux-musl.tar.gz"
+1
View File
@@ -1,4 +1,5 @@
{
"rust_crate": "mdbook-linkcheck",
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/Michael-F-Bryan/mdbook-linkcheck/releases/download/v${version}/mdbook-linkcheck.x86_64-unknown-linux-gnu.zip"
+31 -2
View File
@@ -1,4 +1,5 @@
{
"rust_crate": "mdbook",
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/rust-lang/mdBook/releases/download/v${version}/mdbook-v${version}-x86_64-unknown-linux-gnu.tar.gz"
@@ -17,10 +18,38 @@
}
},
"latest": {
"version": "0.4.32"
"version": "0.4.34"
},
"0.4": {
"version": "0.4.32"
"version": "0.4.34"
},
"0.4.34": {
"x86_64_linux_musl": {
"checksum": "dde955d5b3df83ebaed716cf18d53b05678a4b78500cfa33aedd138bd55a1152"
},
"x86_64_macos": {
"checksum": "738f423f1857c58a6175cf35254de4e616ca61db93803766eca5773ca6dbf516"
},
"x86_64_windows": {
"checksum": "3679b9be098c410423797f14bae01523a2074ad0ffe8668980df074d1d4e5198"
},
"aarch64_linux_musl": {
"checksum": "b7188119e088dc87a1db13963f78eaffb4a3959109936e26ee4afea74de0df5c"
}
},
"0.4.33": {
"x86_64_linux_musl": {
"checksum": "f56043b14b2d554b98aa6cd5e15bcbe81c095cea67a937c6c724300da4fc4005"
},
"x86_64_macos": {
"checksum": "172e83fea640b41afecf46d5bec3b09d0d54c5e6234b9e3777715b6c6a4a58a3"
},
"x86_64_windows": {
"checksum": "573acc650654cca12c77d73f0f7c8d22fdce92d7348c0bd4676579c60ee3c0b9"
},
"aarch64_linux_musl": {
"checksum": "dbafc64ee0bd616ee10ab367686fc7a000d817ddb7c6634e8b878e6c322bb38f"
}
},
"0.4.32": {
"x86_64_linux_musl": {
+23 -2
View File
@@ -1,4 +1,5 @@
{
"rust_crate": "parse-changelog",
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/taiki-e/parse-changelog/releases/download/v${version}/parse-changelog-x86_64-unknown-linux-gnu.tar.gz"
@@ -23,10 +24,30 @@
}
},
"latest": {
"version": "0.6.1"
"version": "0.6.2"
},
"0.6": {
"version": "0.6.1"
"version": "0.6.2"
},
"0.6.2": {
"x86_64_linux_musl": {
"checksum": "e64e446ba613599ca51583fc94fd1062bd79550e5e75bab9ef3047d021b6bb3a"
},
"x86_64_macos": {
"checksum": "11898a671fa48b328fc80d3287b9b9e36c1d97e22031c3bdd2c24fc1b9209ef9"
},
"x86_64_windows": {
"checksum": "e0a701a6bbd1e01dfa9827f7f6000ed4d7d1783fb17836cafacbfb346e23c19f"
},
"aarch64_linux_musl": {
"checksum": "1bcee8f53807c5a571460db33fcd12d00b22220a5e5a1ab6c536c904ef47c604"
},
"aarch64_macos": {
"checksum": "76f77e36fec9c4b57190aabdd36fb140121088d3bfa1b2672be2999b71eb6a48"
},
"aarch64_windows": {
"checksum": "c9315d7352538cbe67dc9547ee8fbd6bf196fb0ae6317b903dbb6bc57b0420ff"
}
},
"0.6.1": {
"x86_64_linux_musl": {
+72 -2
View File
@@ -1,10 +1,80 @@
{
"rust_crate": null,
"template": null,
"latest": {
"version": "3.23.4"
"version": "3.24.2"
},
"3": {
"version": "3.23.4"
"version": "3.24.2"
},
"3.24": {
"version": "3.24.2"
},
"3.24.2": {
"x86_64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.2/protoc-24.2-linux-x86_64.zip",
"checksum": "1bfa935466cf902200cfba0e80d0ac60fec8e4c61aad3debc9fc97a135604b72"
},
"x86_64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.2/protoc-24.2-osx-x86_64.zip",
"checksum": "335d8623065234734d35b284f36326fbeded4bad88ca20a2df181761f67ca1a5"
},
"x86_64_windows": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.2/protoc-24.2-win64.zip",
"checksum": "e0cbca02e34aca5c76059f8b78000512a83c77409f7137ec6977fc554609f79f"
},
"aarch64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.2/protoc-24.2-linux-aarch_64.zip",
"checksum": "6593cf94c8d66f367e6526fda6c0ee0fdd442171a9e302c4625e6eb0958c06c1"
},
"aarch64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.2/protoc-24.2-osx-aarch_64.zip",
"checksum": "9624e53cd0c061afb5eab9e50fc0372383585dcc22bd2b1fb54fd5a4c3294989"
}
},
"3.24.1": {
"x86_64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.1/protoc-24.1-linux-x86_64.zip",
"checksum": "1b9d1467205530986d58d24d2b89b9db3c8a9e3c31ed40b2a223913480ca8987"
},
"x86_64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.1/protoc-24.1-osx-x86_64.zip",
"checksum": "476782d4220ff7b2d8b333a648a1f8a52c200211db85e76347e668d9d4c07515"
},
"x86_64_windows": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.1/protoc-24.1-win64.zip",
"checksum": "dad1efed75cb772a0c9e5d4646006bf87e1e051191473a2a30c9db66ee223cfd"
},
"aarch64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.1/protoc-24.1-linux-aarch_64.zip",
"checksum": "676a38ff5584c913bbab3991bb1a515b8cbd22a12c029e24c440d9b05c816f1c"
},
"aarch64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.1/protoc-24.1-osx-aarch_64.zip",
"checksum": "e7c622512ad2133f25bc6369e1330809daa7ae2742611bf596bbc904e18ca8d5"
}
},
"3.24.0": {
"x86_64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.0/protoc-24.0-linux-x86_64.zip",
"checksum": "4feef12d91c4e452eac8c45bd11f43d51541db7fc6c18b4ca7bdd38af52c9d15"
},
"x86_64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.0/protoc-24.0-osx-x86_64.zip",
"checksum": "c438ae68427aa848f4e2dbf7d6cbd4e6a13e30a6bcc61007fd95cfc90451264a"
},
"x86_64_windows": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.0/protoc-24.0-win64.zip",
"checksum": "8c84d3d36936424a99934a9e5034f8a573615bf7f1b4246d536f33c120af60cd"
},
"aarch64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.0/protoc-24.0-linux-aarch_64.zip",
"checksum": "d27f1479fc4707f275eaa952cef548f9fa0c8ef2d8cb5977f337d2ce61430682"
},
"aarch64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.0/protoc-24.0-osx-aarch_64.zip",
"checksum": "e4cc0739f0f8ae31633fb11335f11e6fbe067ecda8fd1b4716e80cfe3661ee1d"
}
},
"3.23": {
"version": "3.23.4"
+1 -4
View File
@@ -1,23 +1,20 @@
{
"rust_crate": null,
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/koalaman/shellcheck/releases/download/v${version}/shellcheck-v${version}.linux.x86_64.tar.xz",
"bin_dir": "/usr/local/bin",
"bin": "shellcheck-v${version}/shellcheck"
},
"x86_64_macos": {
"url": "https://github.com/koalaman/shellcheck/releases/download/v${version}/shellcheck-v${version}.darwin.x86_64.tar.xz",
"bin_dir": "/usr/local/bin",
"bin": "shellcheck-v${version}/shellcheck"
},
"x86_64_windows": {
"url": "https://github.com/koalaman/shellcheck/releases/download/v${version}/shellcheck-v${version}.zip",
"bin_dir": "/usr/local/bin",
"bin": "shellcheck.exe"
},
"aarch64_linux_gnu": {
"url": "https://github.com/koalaman/shellcheck/releases/download/v${version}/shellcheck-v${version}.linux.aarch64.tar.xz",
"bin_dir": "/usr/local/bin",
"bin": "shellcheck-v${version}/shellcheck"
}
},
+6 -10
View File
@@ -1,24 +1,20 @@
{
"rust_crate": null,
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/mvdan/sh/releases/download/v${version}/shfmt_v${version}_linux_amd64",
"bin_dir": "/usr/local/bin"
"url": "https://github.com/mvdan/sh/releases/download/v${version}/shfmt_v${version}_linux_amd64"
},
"x86_64_macos": {
"url": "https://github.com/mvdan/sh/releases/download/v${version}/shfmt_v${version}_darwin_amd64",
"bin_dir": "/usr/local/bin"
"url": "https://github.com/mvdan/sh/releases/download/v${version}/shfmt_v${version}_darwin_amd64"
},
"x86_64_windows": {
"url": "https://github.com/mvdan/sh/releases/download/v${version}/shfmt_v${version}_windows_amd64.exe",
"bin_dir": "/usr/local/bin"
"url": "https://github.com/mvdan/sh/releases/download/v${version}/shfmt_v${version}_windows_amd64.exe"
},
"aarch64_linux_gnu": {
"url": "https://github.com/mvdan/sh/releases/download/v${version}/shfmt_v${version}_linux_arm64",
"bin_dir": "/usr/local/bin"
"url": "https://github.com/mvdan/sh/releases/download/v${version}/shfmt_v${version}_linux_arm64"
},
"aarch64_macos": {
"url": "https://github.com/mvdan/sh/releases/download/v${version}/shfmt_v${version}_darwin_arm64",
"bin_dir": "/usr/local/bin"
"url": "https://github.com/mvdan/sh/releases/download/v${version}/shfmt_v${version}_darwin_arm64"
}
},
"latest": {
+96 -6
View File
@@ -1,33 +1,123 @@
{
"rust_crate": null,
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_linux_amd64.tar.gz",
"bin_dir": "/usr/local/bin",
"bin": "syft"
},
"x86_64_macos": {
"url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_darwin_amd64.tar.gz",
"bin_dir": "/usr/local/bin",
"bin": "syft"
},
"x86_64_windows": {
"url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_windows_amd64.zip",
"bin_dir": "/usr/local/bin",
"bin": "syft.exe"
},
"aarch64_linux_musl": {
"url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_linux_arm64.tar.gz",
"bin_dir": "/usr/local/bin",
"bin": "syft"
},
"aarch64_macos": {
"url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_darwin_arm64.tar.gz",
"bin_dir": "/usr/local/bin",
"bin": "syft"
}
},
"latest": {
"version": "0.85.0"
"version": "0.88.0"
},
"0.88": {
"version": "0.88.0"
},
"0.88.0": {
"x86_64_linux_musl": {
"checksum": "d22c5e840c1a9ba10aee264d8bd015aca9c745bfd23efdfe75fdd36eeaf75ea8"
},
"x86_64_macos": {
"checksum": "f27232e327bf7f533dcffb2275250d325f45b69f5a0bd723c33f40f733e89e15"
},
"x86_64_windows": {
"checksum": "3c4bbcfee4c885e2b344c0de3dc77987057b27079cccb1b15435fd2399f92cfa"
},
"aarch64_linux_musl": {
"checksum": "2c5550833c9c958f29e0f0cd13fd962b1805b97c8775db73c44e274da42a7b39"
},
"aarch64_macos": {
"checksum": "8e822e53eb3f779e446466a93863a75da9e78cefdbcf1fa575b0645a45dcc868"
}
},
"0.87": {
"version": "0.87.1"
},
"0.87.1": {
"x86_64_linux_musl": {
"checksum": "1f6f5aa0bb5682f8db74cb5adf00fac9bddec40f6fcde808b71c43d3593e3cf5"
},
"x86_64_macos": {
"checksum": "c24990a01127bfe512351bb65694460629a6c83828e02aef9f8e7ece5d0b3c8a"
},
"x86_64_windows": {
"checksum": "ec89bf68571238a67b83c26a32371b67efa6daeaa819d67a9f281a69cb2e0cd0"
},
"aarch64_linux_musl": {
"checksum": "5570eb42a9a2b696d4d8398a9733f7f2dda0e4a243413960aeab44a1183a6f47"
},
"aarch64_macos": {
"checksum": "eeae4d4ed97f9519697027d658deab72fcdc94a6f2c4d77354a82085fb8db1f4"
}
},
"0.87.0": {
"x86_64_linux_musl": {
"checksum": "9567007466ae6c5c893abd680258f8781b0709188fb0aab59eb1eb35c64ea6b6"
},
"x86_64_macos": {
"checksum": "60137a14c6a1340e7405baa07876b5e442e756b208fd9b5b3cb2f9a14a410e19"
},
"x86_64_windows": {
"checksum": "2fe288c607b1d2febac30b5997b76aa83b40694b8af7af6690d9f64385212f3c"
},
"aarch64_linux_musl": {
"checksum": "14f5876c6543d084fa0f91ec928af8bd0dba7ea09f5848528c6402b20ff72041"
},
"aarch64_macos": {
"checksum": "2b68cefc0b51781fdf2669ef3633904fe057740b6752d2704db34ba380238387"
}
},
"0.86": {
"version": "0.86.1"
},
"0.86.1": {
"x86_64_linux_musl": {
"checksum": "6316bff6b9a40c893422ec4df12c7da6a200f7ca08842cccc39bf94cd69f28c8"
},
"x86_64_macos": {
"checksum": "5e506e96ac2ae01e9d2598e66dcc9375d0d4018031e54725e25b26bc0ed9f177"
},
"x86_64_windows": {
"checksum": "b0a8141b46de13ccf82dd12fd8eddb77888aef770ef210ee35f9c68a61122b93"
},
"aarch64_linux_musl": {
"checksum": "ed143b563c231ab3acdf805ff4b68d808d4ccf2ed35ec829aa5c377de0cc02ee"
},
"aarch64_macos": {
"checksum": "e538cc1881d9b2446d4d20ea19f650e567cb729c38ad05c268c712450bcf7ecf"
}
},
"0.86.0": {
"x86_64_linux_musl": {
"checksum": "f05da10cbf60cb5f9edcd8da79762bc5b4a495d828bad23b301632ffc18ddfb1"
},
"x86_64_macos": {
"checksum": "d8c7169086347427bc1317ce484d21049331f34c516f209e01335b6c4ba89648"
},
"x86_64_windows": {
"checksum": "ffb447ca43ac4761796f9463b88b2bdca5f45169ac5ace86413c70394cefdc3e"
},
"aarch64_linux_musl": {
"checksum": "c6aa2fe68101b349b8426c0fb119b98d24a361e3bdac0554f477c5a943bb288d"
},
"aarch64_macos": {
"checksum": "e083dbf018cfa5bffd2904a1c4c9277cface05bdfdd2ec6b46b171091c3e6a91"
}
},
"0.85": {
"version": "0.85.0"
+1
View File
@@ -1,4 +1,5 @@
{
"rust_crate": "wasm-pack",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/rustwasm/wasm-pack/releases/download/v${version}/wasm-pack-v${version}-x86_64-unknown-linux-musl.tar.gz",
+62 -1
View File
@@ -1,7 +1,68 @@
{
"rust_crate": "wasmtime-cli",
"template": null,
"latest": {
"version": "11.0.1"
"version": "12.0.1"
},
"12": {
"version": "12.0.1"
},
"12.0": {
"version": "12.0.1"
},
"12.0.1": {
"x86_64_linux_gnu": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-x86_64-linux.tar.xz",
"checksum": "59eb24b421c40104240d00848e3d9ffee5403b7e15958ace974aa2705050b0b3",
"bin": "wasmtime-v12.0.1-x86_64-linux/wasmtime"
},
"x86_64_macos": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-x86_64-macos.tar.xz",
"checksum": "1975f51fd251fa19345776328f958985606458b5d7178c5a10fc72fd9f2ba59f",
"bin": "wasmtime-v12.0.1-x86_64-macos/wasmtime"
},
"x86_64_windows": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-x86_64-windows.zip",
"checksum": "1878426629e78c7d80d26448fe5c9d8adf878383edc6ea4c772bc7ef59f963fb",
"bin": "wasmtime-v12.0.1-x86_64-windows/wasmtime.exe"
},
"aarch64_linux_gnu": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-aarch64-linux.tar.xz",
"checksum": "7ec484c9f3c3002a789c41252b630ac509b0532102bfd3aa66e5d6d7dbebcc74",
"bin": "wasmtime-v12.0.1-aarch64-linux/wasmtime"
},
"aarch64_macos": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-aarch64-macos.tar.xz",
"checksum": "975e286eb7ad4a4e17b7bb73b0b39dd6212ef7606f6d74ff63d5d8f2d5f7c339",
"bin": "wasmtime-v12.0.1-aarch64-macos/wasmtime"
}
},
"12.0.0": {
"x86_64_linux_gnu": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.0/wasmtime-v12.0.0-x86_64-linux.tar.xz",
"checksum": "c31e0d8eb2797627ba1f72b313315da960016f87ccec3cce2ae67654060a8f04",
"bin": "wasmtime-v12.0.0-x86_64-linux/wasmtime"
},
"x86_64_macos": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.0/wasmtime-v12.0.0-x86_64-macos.tar.xz",
"checksum": "27a649593f3106f256c227d26ce8f3d03b360a267d89b094537217104fa05e88",
"bin": "wasmtime-v12.0.0-x86_64-macos/wasmtime"
},
"x86_64_windows": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.0/wasmtime-v12.0.0-x86_64-windows.zip",
"checksum": "fb0c6e981f2d1997174ef198819091bdca517c20ecd727762e0b38d2643b1b4d",
"bin": "wasmtime-v12.0.0-x86_64-windows/wasmtime.exe"
},
"aarch64_linux_gnu": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.0/wasmtime-v12.0.0-aarch64-linux.tar.xz",
"checksum": "3693fd9db6ad37e6937c5fdc003f0038bbfde9eec0ad33ee7cc611a85cac29c4",
"bin": "wasmtime-v12.0.0-aarch64-linux/wasmtime"
},
"aarch64_macos": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.0/wasmtime-v12.0.0-aarch64-macos.tar.xz",
"checksum": "64d594618e47e0b5b70a3b38c943e6d79c145ea281defef1ad13c92faafc3e8c",
"bin": "wasmtime-v12.0.0-aarch64-macos/wasmtime"
}
},
"11": {
"version": "11.0.1"
+1
View File
@@ -1,4 +1,5 @@
{
"rust_crate": "zola",
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/getzola/zola/releases/download/v${version}/zola-v${version}-x86_64-unknown-linux-gnu.tar.gz"
+4 -2
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0 OR MIT
set -euxo pipefail
set -euo pipefail
IFS=$'\n\t'
cd "$(dirname "$0")"/../..
@@ -16,10 +16,12 @@ fi
git config user.name "Taiki Endo"
git config user.email "te316e89@gmail.com"
set -x
for manifest in manifests/*.json; do
git add -N "${manifest}"
if ! git diff --exit-code -- "${manifest}"; then
name="$(basename "${manifest%.*}")"
name=$(basename "${manifest%.*}")
git stash
old_version=$(jq -r '.latest.version' "${manifest}")
git stash pop
+132
View File
@@ -0,0 +1,132 @@
#!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0 OR MIT
set -euo pipefail
IFS=$'\n\t'
cd "$(dirname "$0")"/../..
# They don't provide prebuilt binaries for musl or old glibc host.
glibc_pre_2_31_incompat=(
zola
)
glibc_pre_2_27_incompat=(
"${glibc_pre_2_31_incompat[@]}"
cargo-watch
mdbook-linkcheck
protoc
valgrind
wasmtime
)
musl_incompat=(
"${glibc_pre_2_27_incompat[@]}"
)
incompat_tools=()
case "${1:-}" in
'') version=latest ;;
major.minor.patch | major.minor | major)
version="$1"
# Specifying the version of valgrind and cargo-binstall is not supported.
incompat_tools+=(valgrind cargo-binstall)
;;
*)
echo "tool=$1"
exit 0
;;
esac
case "$(uname -s)" in
Linux)
host_os=linux
ldd_version=$(ldd --version 2>&1 || true)
if grep <<<"${ldd_version}" -q 'musl'; then
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)
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
fi
fi
if ! type -P snap &>/dev/null; then
incompat_tools+=(valgrind)
fi
;;
Darwin) host_os=macos ;;
MINGW* | MSYS* | CYGWIN* | Windows_NT) host_os=windows ;;
*) bail "unrecognized OS type '$(uname -s)'" ;;
esac
tools=()
for manifest in tools/codegen/base/*.json; do
tool_name=$(basename "${manifest%.*}")
case "${host_os}" in
linux*)
for incompat in ${incompat_tools[@]+"${incompat_tools[@]}"}; do
if [[ "${incompat}" == "${tool_name}" ]]; then
tool_name=''
break
fi
done
;;
*)
if [[ "$(jq -r ".platform.x86_64_${host_os}" "${manifest}")" == "null" ]]; then
continue
fi
;;
esac
if [[ -n "${tool_name}" ]]; then
if [[ "${version}" != "latest" ]]; then
latest_version=$(jq -r ".latest.version" "manifests/${tool_name}.json")
case "${version}" in
major.minor.patch) tool_name+="@${latest_version}" ;;
major.minor) tool_name+="@${latest_version%.*}" ;;
major) tool_name+="@${latest_version%%.*}" ;;
*) exit 1 ;;
esac
fi
if [[ "${tool_name}" != *"@0" ]] && [[ "${tool_name}" != *"@0.0" ]]; then
tools+=("${tool_name}")
fi
fi
done
if [[ "${version}" != "latest" ]]; then
tools_tmp=()
for tool in "${tools[@]}"; do
tools_tmp+=("${tool}")
done
tools=("${tools_tmp[@]}")
fi
# Not manifest-based
case "${host_os}" in
linux*)
# Installing snap to container is difficult...
# Specifying the version of valgrind is not supported.
if type -P snap &>/dev/null && [[ "${version}" == "latest" ]]; then
tools+=(valgrind)
fi
;;
esac
# cargo-watch/watchexec-cli is supported by cargo-binstall (through quickinstall)
case "${version}" in
latest) tools+=(cargo-watch watchexec-cli nextest) ;;
major.minor.patch) tools+=(cargo-watch@8.1.1 watchexec-cli@1.20.5 nextest@0.9.57) ;;
major.minor) tools+=(cargo-watch@8.1 watchexec-cli@1.20 nextest@0.9) ;;
major) tools+=(cargo-watch@8 watchexec-cli@1) ;;
*) exit 1 ;;
esac
# sort and dedup
IFS=$'\n'
# shellcheck disable=SC2207
tools=($(LC_ALL=C sort -u <<<"${tools[*]}"))
IFS=$'\n\t'
# TODO: inject random space before/after of tool name for testing https://github.com/taiki-e/install-action/issues/115.
IFS=','
echo "tool=${tools[*]}"
IFS=$'\n\t'
+1 -1
View File
@@ -7,7 +7,7 @@ publish = false
[dependencies]
anyhow = "1"
fs-err = "2"
semver = "1"
semver = { version = "1", features = ["serde"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
sha2 = "0.10"
+1
View File
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/cargo-bins/cargo-binstall",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.tgz",
"version_range": "latest",
"platform": {
+13
View File
@@ -0,0 +1,13 @@
{
"repository": "https://github.com/RalfJung/cargo-careful",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}.${rust_target}",
"platform": {
"x86_64_linux_musl": {},
"x86_64_macos": {},
"x86_64_windows": {
"asset_name": "${package}.exe"
}
}
}
+1
View File
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/EmbarkStudios/cargo-deny",
"tag_prefix": "",
"rust_crate": "${package}",
"asset_name": "${package}-${version}-${rust_target}.tar.gz",
"bin": "${package}-${version}-${rust_target}/${package}${exe}",
"platform": {
+1
View File
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/sonos/dinghy",
"tag_prefix": "",
"rust_crate": "${package}",
"asset_name": "${package}-${os_name}-${version}.tgz",
"bin": "${package}-${version}/${package}${exe}",
"platform": {
+1
View File
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/taiki-e/cargo-hack",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": [
"${package}-${rust_target}.tar.gz",
"${package}-v${version}-${rust_target}.tar.gz"
+1
View File
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/taiki-e/cargo-llvm-cov",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.tar.gz",
"platform": {
"x86_64_linux_musl": {},
+13
View File
@@ -0,0 +1,13 @@
{
"repository": "https://github.com/bnjbvr/cargo-machete",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-v${version}-${rust_target}.tar.gz",
"bin": "${package}-v${version}-${rust_target}/${package}${exe}",
"platform": {
"x86_64_linux_musl": {},
"x86_64_macos": {},
"x86_64_windows": {},
"aarch64_macos": {}
}
}
+1
View File
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/sagiegurari/cargo-make",
"tag_prefix": "",
"rust_crate": "${package}",
"asset_name": "${package}-v${version}-${rust_target}.zip",
"bin": "${package}-v${version}-${rust_target}/${package}${exe}",
"platform": {
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/taiki-e/cargo-minimal-versions",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.tar.gz",
"platform": {
"x86_64_linux_musl": {},
-15
View File
@@ -1,15 +0,0 @@
{
"repository": "https://github.com/nextest-rs/nextest",
"tag_prefix": "cargo-nextest-",
"asset_name": "${package}-${version}-${rust_target}.tar.gz",
"platform": {
"x86_64_linux_gnu": {},
"x86_64_linux_musl": {},
"x86_64_macos": {
"asset_name": "${package}-${version}-universal-apple-darwin.tar.gz"
},
"x86_64_windows": {},
"aarch64_linux_gnu": {}
},
"prefer_linux_gnu": true
}
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/taiki-e/cargo-no-dev-deps",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.tar.gz",
"platform": {
"x86_64_linux_musl": {},
+1
View File
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/xd009642/tarpaulin",
"tag_prefix": "",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.tar.gz",
"version_range": "> 0.22.0",
"platform": {
+1
View File
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/est31/cargo-udeps",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-v${version}-${rust_target}.tar.gz",
"bin": "./${package}-v${version}-${rust_target}/${package}${exe}",
"platform": {
+1
View File
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/jfrimmel/cargo-valgrind",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${version}-${rust_target}.tar.gz",
"platform": {
"x86_64_linux_musl": {},
+1
View File
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/cross-rs/cross",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": [
"${package}-${rust_target}.tar.gz",
"${package}-v${version}-${rust_target}.tar.gz"
+1
View File
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/dprint/dprint",
"tag_prefix": "",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.zip",
"platform": {
"x86_64_linux_gnu": {},
+1
View File
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/mozilla/grcov",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.tar.bz2",
"version_range": ">= 0.8.7",
"platform": {
+1
View File
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/casey/just",
"tag_prefix": "",
"rust_crate": "${package}",
"asset_name": "${package}-${version}-${rust_target}.tar.gz",
"platform": {
"x86_64_linux_musl": {},
+1
View File
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/Michael-F-Bryan/mdbook-linkcheck",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}.${rust_target}.zip",
"platform": {
"x86_64_linux_gnu": {},
+1
View File
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/rust-lang/mdBook",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-v${version}-${rust_target}.tar.gz",
"platform": {
"x86_64_linux_musl": {},
+1
View File
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/taiki-e/parse-changelog",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.tar.gz",
"platform": {
"x86_64_linux_gnu": {},
-1
View File
@@ -1,7 +1,6 @@
{
"repository": "https://github.com/koalaman/shellcheck",
"tag_prefix": "v",
"bin_dir": "/usr/local/bin",
"bin": "${package}-v${version}/${package}${exe}",
"platform": {
"x86_64_linux_gnu": {
-1
View File
@@ -1,7 +1,6 @@
{
"repository": "https://github.com/mvdan/sh",
"tag_prefix": "v",
"bin_dir": "/usr/local/bin",
"platform": {
"x86_64_linux_gnu": {
"asset_name": "${package}_v${version}_linux_amd64"
-1
View File
@@ -1,7 +1,6 @@
{
"repository": "https://github.com/anchore/syft",
"tag_prefix": "v",
"bin_dir": "/usr/local/bin",
"bin": "${package}${exe}",
"version_range": ">= 0.83.0",
"platform": {
+1
View File
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/rustwasm/wasm-pack",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-v${version}-${rust_target}.tar.gz",
"bin": "${package}-v${version}-${rust_target}/${package}${exe}",
"platform": {
+1
View File
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/bytecodealliance/wasmtime",
"tag_prefix": "v",
"rust_crate": "wasmtime-cli",
"platform": {
"x86_64_linux_gnu": {
"asset_name": "${package}-v${version}-x86_64-linux.tar.xz",
+1
View File
@@ -1,6 +1,7 @@
{
"repository": "https://github.com/getzola/zola",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-v${version}-${rust_target}.tar.gz",
"platform": {
"x86_64_linux_gnu": {},
+93 -63
View File
@@ -31,7 +31,7 @@ fn main() -> Result<()> {
fs::create_dir_all(manifest_path.parent().unwrap())?;
fs::create_dir_all(download_cache_dir)?;
let base_info: BaseManifest = serde_json::from_slice(&fs::read(
let mut base_info: BaseManifest = serde_json::from_slice(&fs::read(
workspace_root
.join("tools/codegen/base")
.join(format!("{package}.json")),
@@ -74,6 +74,20 @@ fn main() -> Result<()> {
})
.collect();
let mut crates_io_info = None;
base_info.rust_crate = base_info
.rust_crate
.as_ref()
.map(|s| replace_vars(s, package, None, None))
.transpose()?;
if let Some(crate_name) = &base_info.rust_crate {
eprintln!("downloading crate info from https://crates.io/api/v1/crates/{crate_name}");
crates_io_info = Some(
download(&format!("https://crates.io/api/v1/crates/{crate_name}"))?
.into_json::<crates_io::Crate>()?,
);
}
let mut manifests: Manifests = Manifests::default();
let mut semver_versions = BTreeSet::new();
let mut has_build_metadata = false;
@@ -97,10 +111,6 @@ fn main() -> Result<()> {
for (platform, d) in &mut manifest.download_info {
let template = &template.download_info[platform];
d.url = Some(template.url.replace("${version}", version));
d.bin_dir = template
.bin_dir
.as_ref()
.map(|s| s.replace("${version}", version));
d.bin = template
.bin
.as_ref()
@@ -177,7 +187,7 @@ fn main() -> Result<()> {
.with_context(|| format!("asset_name is needed for {package} on {platform:?}"))?
.as_slice()
.iter()
.map(|asset_name| replace_vars(asset_name, package, version, platform))
.map(|asset_name| replace_vars(asset_name, package, Some(version), Some(platform)))
.collect::<Result<Vec<_>>>()?;
let (url, asset_name) = match asset_names.iter().find_map(|asset_name| {
release
@@ -218,16 +228,11 @@ fn main() -> Result<()> {
ManifestDownloadInfo {
url: Some(url),
checksum: hash,
bin_dir: base_download_info
.bin_dir
.as_ref()
.or(base_info.bin_dir.as_ref())
.cloned(),
bin: base_download_info
.bin
.as_ref()
.or(base_info.bin.as_ref())
.map(|s| replace_vars(s, package, version, platform))
.map(|s| replace_vars(s, package, Some(version), Some(platform)))
.transpose()?,
},
);
@@ -237,18 +242,24 @@ fn main() -> Result<()> {
eprintln!("no release asset for {package} {version}");
continue;
}
if !base_info.prefer_linux_gnu {
// compact manifest
if download_info.contains_key(&HostPlatform::x86_64_linux_gnu)
&& download_info.contains_key(&HostPlatform::x86_64_linux_musl)
{
download_info.remove(&HostPlatform::x86_64_linux_gnu);
}
if download_info.contains_key(&HostPlatform::aarch64_linux_gnu)
&& download_info.contains_key(&HostPlatform::aarch64_linux_musl)
{
download_info.remove(&HostPlatform::aarch64_linux_gnu);
}
// compact manifest
if download_info.contains_key(&HostPlatform::x86_64_linux_gnu)
&& download_info.contains_key(&HostPlatform::x86_64_linux_musl)
{
download_info.remove(&HostPlatform::x86_64_linux_gnu);
}
if download_info.contains_key(&HostPlatform::aarch64_linux_gnu)
&& download_info.contains_key(&HostPlatform::aarch64_linux_musl)
{
download_info.remove(&HostPlatform::aarch64_linux_gnu);
}
if download_info.contains_key(&HostPlatform::x86_64_macos)
&& download_info.contains_key(&HostPlatform::aarch64_macos)
&& download_info[&HostPlatform::x86_64_macos].url
== download_info[&HostPlatform::aarch64_macos].url
{
// macOS universal binary or x86_64 binary that works on both x86_64 and aarch64 (rosetta).
download_info.remove(&HostPlatform::aarch64_macos);
}
has_build_metadata |= !semver_version.build.is_empty();
if semver_version.pre.is_empty() {
@@ -266,6 +277,13 @@ fn main() -> Result<()> {
} else if !semver_versions.is_empty() {
let mut prev_version = semver_versions.iter().next().unwrap();
for version in &semver_versions {
if let Some(crates_io_info) = &crates_io_info {
if let Some(v) = crates_io_info.versions.iter().find(|v| v.num == *version) {
if v.yanked {
continue;
}
}
}
if !(version.major == 0 && version.minor == 0) {
manifests.map.insert(
Reverse(Version::omitted(version.major, Some(version.minor))),
@@ -311,21 +329,19 @@ fn main() -> Result<()> {
if latest_manifest.download_info.contains_key(&p) {
continue;
}
if !base_info.prefer_linux_gnu {
if p == HostPlatform::x86_64_linux_gnu
&& latest_manifest
.download_info
.contains_key(&HostPlatform::x86_64_linux_musl)
{
continue;
}
if p == HostPlatform::aarch64_linux_gnu
&& latest_manifest
.download_info
.contains_key(&HostPlatform::aarch64_linux_musl)
{
continue;
}
if p == HostPlatform::x86_64_linux_gnu
&& latest_manifest
.download_info
.contains_key(&HostPlatform::x86_64_linux_musl)
{
continue;
}
if p == HostPlatform::aarch64_linux_gnu
&& latest_manifest
.download_info
.contains_key(&HostPlatform::aarch64_linux_musl)
{
continue;
}
bail!(
"platform list in base manifest for {package} contains {p:?}, \
@@ -345,10 +361,9 @@ fn main() -> Result<()> {
let t = template.as_mut().unwrap();
for (platform, d) in &mut manifest.download_info {
let template_url = d.url.take().unwrap().replace(version, "${version}");
let template_bin_dir = d.bin_dir.take().map(|s| s.replace(version, "${version}"));
let template_bin = d.bin.take().map(|s| s.replace(version, "${version}"));
if let Some(d) = t.download_info.get(platform) {
if template_url != d.url || template_bin_dir != d.bin_dir || template_bin != d.bin {
if template_url != d.url || template_bin != d.bin {
template = None;
break 'outer;
}
@@ -357,7 +372,6 @@ fn main() -> Result<()> {
*platform,
ManifestTemplateDownloadInfo {
url: template_url,
bin_dir: template_bin_dir,
bin: template_bin,
},
);
@@ -370,6 +384,8 @@ fn main() -> Result<()> {
manifests.template = template;
}
manifests.rust_crate = base_info.rust_crate;
let mut buf = serde_json::to_vec_pretty(&manifests)?;
buf.push(b'\n');
fs::write(manifest_path, buf)?;
@@ -384,14 +400,22 @@ fn workspace_root() -> PathBuf {
dir
}
fn replace_vars(s: &str, package: &str, version: &str, platform: HostPlatform) -> Result<String> {
let s = s
.replace("${package}", package)
.replace("${tool}", package)
.replace("${rust_target}", platform.rust_target())
.replace("${os_name}", platform.os_name())
.replace("${version}", version)
.replace("${exe}", platform.exe_suffix());
fn replace_vars(
s: &str,
package: &str,
version: Option<&str>,
platform: Option<HostPlatform>,
) -> Result<String> {
let mut s = s.replace("${package}", package).replace("${tool}", package);
if let Some(platform) = platform {
s = s
.replace("${rust_target}", platform.rust_target())
.replace("${os_name}", platform.os_name())
.replace("${exe}", platform.exe_suffix());
}
if let Some(version) = version {
s = s.replace("${version}", version);
}
if s.contains('$') {
bail!("variable not fully replaced: '{s}'");
}
@@ -563,6 +587,7 @@ impl<'de> Deserialize<'de> for Version {
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
struct Manifests {
rust_crate: Option<String>,
template: Option<ManifestTemplate>,
#[serde(flatten)]
map: BTreeMap<Reverse<Version>, ManifestRef>,
@@ -586,9 +611,6 @@ struct ManifestDownloadInfo {
#[serde(skip_serializing_if = "Option::is_none")]
url: Option<String>,
checksum: String,
/// Default to ${cargo_bin}
#[serde(skip_serializing_if = "Option::is_none")]
bin_dir: Option<String>,
/// Default to ${tool}${exe}
#[serde(skip_serializing_if = "Option::is_none")]
bin: Option<String>,
@@ -603,9 +625,6 @@ struct ManifestTemplate {
#[derive(Debug, Clone, Serialize, Deserialize)]
struct ManifestTemplateDownloadInfo {
url: String,
/// Default to ${cargo_bin}
#[serde(skip_serializing_if = "Option::is_none")]
bin_dir: Option<String>,
/// Default to ${tool}${exe}
#[serde(skip_serializing_if = "Option::is_none")]
bin: Option<String>,
@@ -618,17 +637,14 @@ struct BaseManifest {
repository: String,
/// Prefix of release tag.
tag_prefix: String,
/// Crate name, if this is Rust crate.
rust_crate: Option<String>,
default_major_version: Option<String>,
/// Asset name patterns.
asset_name: Option<StringOrArray>,
/// Directory where binary is installed. Default to `${cargo_bin}`.
bin_dir: Option<String>,
/// Path to binary in archive. Default to `${tool}${exe}`.
bin: Option<String>,
platform: BTreeMap<HostPlatform, BaseManifestPlatformInfo>,
/// Use glibc build if host_env is gnu.
#[serde(default)]
prefer_linux_gnu: bool,
version_range: Option<String>,
}
@@ -637,8 +653,6 @@ struct BaseManifest {
struct BaseManifestPlatformInfo {
/// Asset name patterns. Default to the value at `BaseManifest::asset_name`.
asset_name: Option<StringOrArray>,
/// Directory where binary is installed. Default to the value at `BaseManifest::bin_dir`.
bin_dir: Option<String>,
/// Path to binary in archive. Default to the value at `BaseManifest::bin`.
bin: Option<String>,
}
@@ -741,3 +755,19 @@ mod github {
pub browser_download_url: String,
}
}
mod crates_io {
use serde::Deserialize;
// https://crates.io/api/v1/crates/<crate>
#[derive(Debug, Deserialize)]
pub struct Crate {
pub versions: Vec<Version>,
}
#[derive(Debug, Deserialize)]
pub struct Version {
pub num: semver::Version,
pub yanked: bool,
}
}
+1 -1
View File
@@ -15,6 +15,6 @@ if [[ $# -gt 0 ]]; then
fi
for manifest in tools/codegen/base/*.json; do
package="$(basename "${manifest%.*}")"
package=$(basename "${manifest%.*}")
cargo run --release -p install-action-internal-codegen -- "${package}" latest
done
+1 -3
View File
@@ -106,10 +106,8 @@ tools=()
for tool in tools/codegen/base/*.json; do
tools+=("$(basename "${tool%.*}")")
done
# Aliases
tools+=(nextest)
# Not manifest-based
tools+=(valgrind)
tools+=(valgrind nextest cargo-nextest)
(
set -x
+43
View File
@@ -112,6 +112,49 @@ if [[ -n "$(git ls-files '*.rs')" ]]; then
echo "${new}" >"${lib}"
check_diff "${lib}"
done
# Make sure that public Rust crates don't contain executables.
failed_files=''
metadata=$(cargo metadata --format-version=1 --all-features --no-deps)
has_public_crate=''
for id in $(jq <<<"${metadata}" '.workspace_members[]'); do
pkg=$(jq <<<"${metadata}" ".packages[] | select(.id == ${id})")
publish=$(jq <<<"${pkg}" -r '.publish')
# Publishing is unrestricted if null, and forbidden if an empty array.
if [[ "${publish}" == "[]" ]]; then
continue
fi
has_public_crate='1'
done
if [[ -n "${has_public_crate}" ]]; then
info "checking file permissions"
if [[ -f Cargo.toml ]] && grep -Eq '^\[package\]' Cargo.toml && ! grep -Eq '^publish = false' Cargo.toml; then
if ! grep -Eq '^exclude = \[.*\.\*.*\]' Cargo.toml; then
error "top-level Cargo.toml of real manifest should have exclude field with \"/.*\" and \"/tools\""
elif ! grep -Eq '^exclude = \[.*/tools.*\]' Cargo.toml; then
error "top-level Cargo.toml of real manifest should have exclude field with \"/.*\" and \"/tools\""
fi
fi
for p in $(git ls-files); do
# Skip directories.
if [[ -d "${p}" ]]; then
continue
fi
# Top-level hidden files/directories and tools/* are excluded from crates.io (ensured by the above check).
# TODO: fully respect exclude field in Cargo.toml.
case "${p}" in
.* | tools/*) continue ;;
esac
if [[ -x "${p}" ]]; then
failed_files+="${p}"$'\n'
fi
done
if [[ -n "${failed_files}" ]]; then
error "file-permissions-check failed: executable should be in tools/ directory"
echo "======================================="
echo -n "${failed_files}"
echo "======================================="
fi
fi
fi
# C/C++ (if exists)