Compare commits

...

125 Commits

Author SHA1 Message Date
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
Taiki Endo
32827a2a5e Release 2.12.23 2023-07-31 15:24:25 +09:00
Taiki Endo
ef9cd54530 Update dprint@latest to 0.40.0 (#171) 2023-07-31 16:11:35 +10:00
Taiki Endo
e4052c038b Release 2.12.22 2023-07-30 16:28:42 +09:00
Taiki Endo
2b5850d1e4 Tweak script 2023-07-30 16:17:31 +09:00
Taiki Endo
8030289dfd Update cargo-nextest@latest to 0.9.55 (#170) 2023-07-30 16:09:20 +10:00
Taiki Endo
0cda7d9a26 Release 2.12.21 2023-07-29 04:40:59 +09:00
Taiki Endo
4cb6490afd Update manifest (#169) 2023-07-29 05:40:13 +10:00
Taiki Endo
deab2bca07 Tweak scripts 2023-07-29 04:29:10 +09:00
Taiki Endo
6ffcb9d268 Update cspell dictionary 2023-07-29 04:28:59 +09:00
Taiki Endo
59ffd0e530 Release 2.12.20 2023-07-29 04:11:01 +09:00
Taiki Endo
d8fe71594b Update cargo-deny@latest to 0.14.0 2023-07-29 04:10:00 +09:00
Taiki Endo
1536ff4b2f ci: Run scheduled jobs more frequently 2023-07-27 21:33:37 +09:00
Taiki Endo
434f50854b Release 2.12.19 2023-07-27 21:27:20 +09:00
Taiki Endo
6761f88909 Update changelog 2023-07-27 21:27:06 +09:00
Taiki Endo
d421f5e267 Regenerate manifest for cargo-tarpaulin
Fixes #167
2023-07-27 21:24:10 +09:00
Taiki Endo
da599ad1a0 Release 2.12.18 2023-07-25 21:43:25 +09:00
Taiki Endo
f81fe36426 Update wasmtime@latest to 11.0.1 (#166) 2023-07-25 12:16:54 +10:00
Taiki Endo
c23f6ec97c Release 2.12.17 2023-07-22 13:16:50 +09:00
Taiki Endo
3ae1e9ff6e Update cargo-binstall@latest to 1.1.2 (#165) 2023-07-22 12:29:47 +10:00
Taiki Endo
815c1a26eb Release 2.12.16 2023-07-21 13:15:22 +09:00
Taiki Endo
3642a17cf9 Update manifest (#164)
* Update `cargo-udeps@latest` to 0.1.41

* Update `wasmtime@latest` to 11.0.0
2023-07-21 13:18:58 +10:00
Taiki Endo
8a0de4af47 Release 2.12.15 2023-07-20 13:04:56 +09:00
Taiki Endo
e2f674e042 Update manifest (#163)
* Update `cargo-binstall@latest` to 1.1.1

* Update `cargo-make@latest` to 0.36.12
2023-07-20 12:40:26 +10:00
Taiki Endo
c5814bad44 Release 2.12.14 2023-07-19 12:34:49 +09:00
Taiki Endo
cbd3af1a1b Update cargo-binstall@latest to 1.1.0 (#162) 2023-07-19 10:50:42 +10:00
Taiki Endo
af0e3259d2 Update cspell dictionary 2023-07-19 04:33:31 +09:00
Taiki Endo
d7346df193 Move CI script from ci to tools/ci 2023-07-19 03:21:43 +09:00
Taiki Endo
c8da22002b Release 2.12.13 2023-07-18 23:58:28 +09:00
Taiki Endo
1c9cdf1902 Update changelog 2023-07-18 23:57:57 +09:00
Taiki Endo
87c08913ae Pass options to unzip 2023-07-18 23:51:08 +09:00
Taiki Endo
2f673b4841 Release 2.12.12 2023-07-17 14:28:29 +09:00
Taiki Endo
ec615ab753 Update mdbook@latest to 0.4.32 (#161) 2023-07-17 12:15:24 +10:00
Taiki Endo
3048daa459 Update cspell dictionary 2023-07-16 02:16:10 +09:00
Taiki Endo
ce314215ec Release 2.12.11 2023-07-13 12:44:33 +09:00
Taiki Endo
3ac3842059 Enable dependabot update for codegen 2023-07-13 12:44:18 +09:00
Taiki Endo
2db66fc31e Update syft@latest to 0.85.0 2023-07-13 12:23:03 +09:00
Taiki Endo
fb545eb1c9 Update dprint@latest to 0.39.1 2023-07-13 12:23:03 +09:00
Taiki Endo
42e74b55ab Revert "Update release scripts (take 3)"
This reverts commit be8c41d56e.

```
+ git push origin refs/heads/v2
To https://github.com/taiki-e/install-action
 ! [rejected]        v2 -> v2 (non-fast-forward)
error: failed to push some refs to 'https://github.com/taiki-e/install-action'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
```
2023-07-09 13:11:42 +09:00
Taiki Endo
4efcb9aabf Release 2.12.10 2023-07-09 13:02:35 +09:00
Taiki Endo
be8c41d56e Update release scripts (take 3) 2023-07-09 13:02:13 +09:00
Taiki Endo
76d33aa44e codegen: Remove INTERNAL_CODEGEN_GH_PAT 2023-07-09 12:49:58 +09:00
Taiki Endo
143626c55b Update dprint@latest to 0.39.0 (#159) 2023-07-09 12:11:29 +10:00
Taiki Endo
5251e6a3db Release 2.12.9 2023-07-08 12:25:46 +09:00
Taiki Endo
d8aee37aa8 Update cargo-llvm-cov@latest to 0.5.23 (#158) 2023-07-08 12:25:09 +10:00
Taiki Endo
a08c2af7ad Release 2.12.8 2023-07-07 13:21:09 +09:00
Taiki Endo
648287cffe Update cspell dictionary 2023-07-07 13:20:55 +09:00
Taiki Endo
a2d6b56270 Update protoc@latest to 3.23.4 (#156) 2023-07-07 13:45:01 +10:00
Taiki Endo
8c7f6ba5c3 Release 2.12.7 2023-07-04 12:22:35 +09:00
Taiki Endo
6e292096ec Update manifest (#155) 2023-07-04 12:56:01 +10:00
Taiki Endo
d3712f40a2 Release 2.12.6 2023-07-03 12:18:23 +09:00
Taiki Endo
e624baa845 Update dprint@latest to 0.38.1 2023-07-03 12:18:05 +09:00
Taiki Endo
35cf4f9516 Release 2.12.5 2023-07-02 18:45:27 +09:00
Taiki Endo
e35fd983ab Update dprint@latest to 0.38.0 (#153) 2023-07-02 19:44:58 +10:00
Taiki Endo
68b724e842 Format with rustfmt nightly-2023-07-02 2023-07-02 18:40:50 +09:00
Taiki Endo
b5e941de23 Release 2.12.4 2023-06-30 12:14:01 +09:00
Taiki Endo
78cd39b647 Update syft@latest to 0.84.1 2023-06-30 12:13:37 +09:00
Taiki Endo
b0a3efae00 Update mdbook@latest to 0.4.31 2023-06-30 12:13:37 +09:00
Taiki Endo
41ef5985ac Update cargo-llvm-cov@latest to 0.5.22 2023-06-30 12:13:37 +09:00
Taiki Endo
96ea675418 Release 2.12.3 2023-06-28 13:08:35 +09:00
Taiki Endo
5cf836c582 Update manifest (#151)
* Update `cargo-binstall@latest` to 1.0.0

* Update `wasm-pack@latest` to 0.12.1
2023-06-28 12:56:38 +10:00
Taiki Endo
9a865a852d Release 2.12.2 2023-06-26 14:51:20 +09:00
Taiki Endo
733aa4f048 Update cargo-nextest@latest to 0.9.54 (#150) 2023-06-26 15:50:44 +10:00
Taiki Endo
26f2520368 Release 2.12.1 2023-06-26 14:08:12 +09:00
Taiki Endo
c718718fa0 Update parse-changelog@latest to 0.6.0 (#149) 2023-06-26 15:05:52 +10:00
Taiki Endo
27465951f4 Tweak CI config 2023-06-26 14:00:26 +09:00
Josh McKinney
161fccd992 docs: minor change to DEVELOPMENT.md (#148)
Adds the small change requested in #147.
2023-06-26 13:23:38 +09:00
Taiki Endo
6590181c47 Release 2.12.0 2023-06-26 13:11:27 +09:00
Taiki Endo
a6a57724af Update changelog 2023-06-26 13:11:16 +09:00
Josh McKinney
6d614e4efc docs: add troubleshooting to DEVELOPMENT.md (#147) 2023-06-26 13:07:12 +09:00
Josh McKinney
fd8cc5b92c Add cargo-make to supported tools (#146) 2023-06-26 11:02:41 +10:00
Taiki Endo
486baeb8af Release 2.11.6 2023-06-22 11:59:11 +09:00
Taiki Endo
ea5f6615de Update wasmtime@latest to 10.0.1 (#145) 2023-06-22 12:47:36 +10:00
Taiki Endo
07a42d487c Release 2.11.5 2023-06-21 12:51:30 +09:00
Taiki Endo
a5871829af Update manifest (#144)
* Update `syft@latest` to 0.84.0

* Update `wasmtime@latest` to 10.0.0
2023-06-21 13:09:50 +10:00
Taiki Endo
6039015526 Release 2.11.4 2023-06-20 01:27:20 +09:00
Taiki Endo
95a159ca13 Test --help option if --version option is not available 2023-06-20 01:24:44 +09:00
Taiki Endo
b0f46ac8be Update wasm-pack@latest to 0.12.0 2023-06-20 01:24:44 +09:00
Taiki Endo
5b48284f79 Update shfmt@latest to 3.7.0 2023-06-20 01:24:44 +09:00
Taiki Endo
36e93e0501 Remove the need to reopen "update manifest" PR 2023-06-20 00:49:19 +09:00
Taiki Endo
459a174db6 Release 2.11.3 2023-06-17 12:21:21 +09:00
github-actions[bot]
0d66f4ca09 Update cargo-tarpaulin@latest to 0.26.0 (#140)
Co-authored-by: Taiki Endo <te316e89@gmail.com>
2023-06-17 12:56:52 +10:00
67 changed files with 2882 additions and 976 deletions

View File

@@ -24,10 +24,9 @@ rustsec
rustup
valgrind
xcompile
Zdoctest
Zmiri
// Rust target triple
// Rust target triple/spec
aarch
amdgpu
androideabi
@@ -38,6 +37,7 @@ asmjs
atmega
bpfeb
bpfel
csky
cuda
eabi
eabihf
@@ -45,6 +45,7 @@ emscripten
espidf
fortanix
gnuabi
gnuabiv
gnueabi
gnueabihf
gnullvm
@@ -52,6 +53,7 @@ gnuspe
gnux
illumos
imac
libnx
loongarch
macabi
mipsel
@@ -60,14 +62,17 @@ msvc
muslabi
musleabi
musleabihf
newlib
newlibeabihf
nvptx
ohos
openwrt
relibc
riscv
softfloat
sparcv
spirv
teeos
thumbeb
thumbebv
thumbv
@@ -115,6 +120,7 @@ nonoverlapping
noreturn
nostack
peekable
powf
punct
rclass
repr
@@ -149,12 +155,14 @@ endianness
esac
euxo
gsub
libc
moreutils
msys
noninteractive
noprofile
norc
nproc
objcopy
objdump
pipefail
powerset
@@ -164,7 +172,5 @@ readelf
shellcheckrc
SIGABRT
SIGILL
SIGINT
SIGTERM
subcmd
tlsv

View File

@@ -4,9 +4,10 @@ distro
doas
dprint
enablerepo
endgroup
epel
grcov
libc
incompat
linkcheck
mdbook
microdnf

9
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,9 @@
version: 2
updates:
- package-ecosystem: cargo
directory: /
schedule:
interval: daily
commit-message:
prefix: ''
labels: []

View File

@@ -10,7 +10,7 @@ on:
- main
- dev
schedule:
- cron: '0 1 * * *'
- cron: '0 0,6,12,18 * * *'
workflow_dispatch:
env:
@@ -38,25 +38,19 @@ 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-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-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-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-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: windows-2019
tool: cargo-hack,cargo-llvm-cov,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 +59,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 +94,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:bookworm-slim # glibc 2.36
- fedora:latest # glibc 2.36 (as of fedora 37)
tool:
# valgrind: installing snap to container is difficult...
- cargo-dinghy,cargo-hack,cargo-llvm-cov,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-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-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-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-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-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.3 (as of alpine 3.17)
# 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-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
- debian:12-slim # glibc 2.36
- fedora:latest # glibc 2.37 (as of fedora 38)
- rockylinux:8 # glibc 2.28
- rockylinux:8-minimal # glibc 2.28
- rockylinux:9 # glibc 2.34
- rockylinux:9-minimal # glibc 2.34
- 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 }}
@@ -132,7 +115,7 @@ jobs:
run: |
set -euxo pipefail
apt-get -o Acquire::Retries=10 -qq update
apt-get -o Acquire::Retries=10 -qq -o Dpkg::Use-Pty=0 install -y --no-install-recommends cargo
apt-get -o Acquire::Retries=10 -o Dpkg::Use-Pty=0 install -y --no-install-recommends cargo
if: startsWith(matrix.container, 'ubuntu') || startsWith(matrix.container, 'debian')
- name: Install requirements (fedora/rockylinux)
run: |
@@ -161,9 +144,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
@@ -180,19 +166,15 @@ jobs:
- run: tools/manifest.sh
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: git add -N . && git diff --exit-code
if: github.repository_owner != 'taiki-e' || github.event_name != 'schedule' && !(github.event_name == 'push' && github.ref == 'refs/heads/main')
- id: diff
run: ci/manifest.sh
run: tools/ci/manifest.sh
if: github.repository_owner == 'taiki-e' && (github.event_name == 'schedule' || github.event_name == 'push' && github.ref == 'refs/heads/main')
- uses: peter-evans/create-pull-request@v5
with:
title: Update manifest
body: |
Auto-generated by [create-pull-request][1]
[Please close and immediately reopen this pull request to run CI.][2]
[1]: https://github.com/peter-evans/create-pull-request
[2]: https://github.com/peter-evans/create-pull-request/blob/HEAD/docs/concepts-guidelines.md#workarounds-to-trigger-further-workflow-runs
Auto-generated by [create-pull-request](https://github.com/peter-evans/create-pull-request)
branch: update-manifest
token: ${{ secrets.CREATE_PR_TOKEN }}
if: github.repository_owner == 'taiki-e' && (github.event_name == 'schedule' || github.event_name == 'push' && github.ref == 'refs/heads/main') && steps.diff.outputs.success == 'false'
- run: git add -N . && git diff --exit-code

View File

@@ -10,6 +10,212 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
## [Unreleased]
## [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.
## [2.12.22] - 2023-07-30
- Update `cargo-nextest@latest` to 0.9.55.
## [2.12.21] - 2023-07-28
- Update `cargo-no-dev-deps@latest` to 0.2.3.
- Update `cargo-minimal-versions@latest` to 0.1.13.
- Update `cargo-llvm-cov@latest` to 0.5.24.
## [2.12.20] - 2023-07-28
- Update `cargo-deny@latest` to 0.14.0.
## [2.12.19] - 2023-07-27
- Update `cargo-tarpaulin@latest` to 0.26.1.
- Fix checksum error with `cargo-tarpaulin@0.26.0`. ([#167](https://github.com/taiki-e/install-action/pull/167))
## [2.12.18] - 2023-07-25
- Update `wasmtime@latest` to 11.0.1.
## [2.12.17] - 2023-07-22
- Update `cargo-binstall@latest` to 1.1.2.
## [2.12.16] - 2023-07-21
- Update `wasmtime@latest` to 11.0.0.
- Update `cargo-udeps@latest` to 0.1.41.
## [2.12.15] - 2023-07-20
- Update `cargo-make@latest` to 0.36.12.
- Update `cargo-binstall@latest` to 1.1.1.
## [2.12.14] - 2023-07-19
- Update `cargo-binstall@latest` to 1.1.0.
## [2.12.13] - 2023-07-18
- Slightly improve the time taken to install tools distributed as `.zip`.
## [2.12.12] - 2023-07-17
- Update `mdbook@latest` to 0.4.32.
## [2.12.11] - 2023-07-13
- Update `syft@latest` to 0.85.0.
- Update `dprint@latest` to 0.39.1.
## [2.12.10] - 2023-07-09
- Update `dprint@latest` to 0.39.0.
## [2.12.9] - 2023-07-08
- Update `cargo-llvm-cov@latest` to 0.5.23.
## [2.12.8] - 2023-07-07
- Update `protoc@latest` to 3.23.4.
## [2.12.7] - 2023-07-04
- Update `parse-changelog@latest` to 0.6.1.
- Update `dprint@latest` to 0.38.3.
## [2.12.6] - 2023-07-03
- Update `dprint@latest` to 0.38.1.
## [2.12.5] - 2023-07-02
- Update `dprint@latest` to 0.38.0.
## [2.12.4] - 2023-06-30
- Update `syft@latest` to 0.84.1.
- Update `mdbook@latest` to 0.4.31.
- Update `cargo-llvm-cov@latest` to 0.5.22.
## [2.12.3] - 2023-06-28
- Update `wasm-pack@latest` to 0.12.1.
- Update `cargo-binstall@latest` to 1.0.0.
## [2.12.2] - 2023-06-26
- Update `cargo-nextest@latest` to 0.9.54.
## [2.12.1] - 2023-06-26
- Update `parse-changelog@latest` to 0.6.0.
## [2.12.0] - 2023-06-26
- Support `cargo-make`. ([#146](https://github.com/taiki-e/install-action/pull/146), thanks @joshka)
## [2.11.6] - 2023-06-22
- Update `wasmtime@latest` to 10.0.1.
## [2.11.5] - 2023-06-21
- Update `wasmtime@latest` to 10.0.0.
- Update `syft@latest` to 0.84.0.
## [2.11.4] - 2023-06-19
- Update `wasm-pack@latest` to 0.12.0.
- Update `shfmt@latest` to 3.7.0.
## [2.11.3] - 2023-06-17
- Update `cargo-tarpaulin@latest` to 0.26.0.
## [2.11.2] - 2023-06-15
- Update `syft@latest` to 0.83.1.
@@ -863,7 +1069,49 @@ Note: This release is considered a breaking change because installing on version
Initial release
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.11.2...HEAD
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.15.2...HEAD
[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
[2.12.20]: https://github.com/taiki-e/install-action/compare/v2.12.19...v2.12.20
[2.12.19]: https://github.com/taiki-e/install-action/compare/v2.12.18...v2.12.19
[2.12.18]: https://github.com/taiki-e/install-action/compare/v2.12.17...v2.12.18
[2.12.17]: https://github.com/taiki-e/install-action/compare/v2.12.16...v2.12.17
[2.12.16]: https://github.com/taiki-e/install-action/compare/v2.12.15...v2.12.16
[2.12.15]: https://github.com/taiki-e/install-action/compare/v2.12.14...v2.12.15
[2.12.14]: https://github.com/taiki-e/install-action/compare/v2.12.13...v2.12.14
[2.12.13]: https://github.com/taiki-e/install-action/compare/v2.12.12...v2.12.13
[2.12.12]: https://github.com/taiki-e/install-action/compare/v2.12.11...v2.12.12
[2.12.11]: https://github.com/taiki-e/install-action/compare/v2.12.10...v2.12.11
[2.12.10]: https://github.com/taiki-e/install-action/compare/v2.12.9...v2.12.10
[2.12.9]: https://github.com/taiki-e/install-action/compare/v2.12.8...v2.12.9
[2.12.8]: https://github.com/taiki-e/install-action/compare/v2.12.7...v2.12.8
[2.12.7]: https://github.com/taiki-e/install-action/compare/v2.12.6...v2.12.7
[2.12.6]: https://github.com/taiki-e/install-action/compare/v2.12.5...v2.12.6
[2.12.5]: https://github.com/taiki-e/install-action/compare/v2.12.4...v2.12.5
[2.12.4]: https://github.com/taiki-e/install-action/compare/v2.12.3...v2.12.4
[2.12.3]: https://github.com/taiki-e/install-action/compare/v2.12.2...v2.12.3
[2.12.2]: https://github.com/taiki-e/install-action/compare/v2.12.1...v2.12.2
[2.12.1]: https://github.com/taiki-e/install-action/compare/v2.12.0...v2.12.1
[2.12.0]: https://github.com/taiki-e/install-action/compare/v2.11.6...v2.12.0
[2.11.6]: https://github.com/taiki-e/install-action/compare/v2.11.5...v2.11.6
[2.11.5]: https://github.com/taiki-e/install-action/compare/v2.11.4...v2.11.5
[2.11.4]: https://github.com/taiki-e/install-action/compare/v2.11.3...v2.11.4
[2.11.3]: https://github.com/taiki-e/install-action/compare/v2.11.2...v2.11.3
[2.11.2]: https://github.com/taiki-e/install-action/compare/v2.11.1...v2.11.2
[2.11.1]: https://github.com/taiki-e/install-action/compare/v2.11.0...v2.11.1
[2.11.0]: https://github.com/taiki-e/install-action/compare/v2.10.0...v2.11.0

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,6 +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`.
## Troubleshooting
4\. Add tool name to the table in ["Supported tools" section in `README.md`](https://github.com/taiki-e/install-action#supported-tools).
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`.

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-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) |
| [**cargo-tarpaulin**](https://github.com/xd009642/tarpaulin) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/xd009642/tarpaulin/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/xd009642/tarpaulin/blob/develop/LICENSE-APACHE) OR [MIT](https://github.com/xd009642/tarpaulin/blob/develop/LICENSE-MIT) |
@@ -97,7 +99,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) |

139
main.sh
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
;;
@@ -115,7 +131,7 @@ download_and_extract() {
else
case "${url}" in
*.zip)
unzip tmp
unzip -q tmp "${bin_in_archive#\./}"
mv "${bin_in_archive}" "${bin_dir}/"
;;
*) mv tmp "${installed_bin}" ;;
@@ -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
@@ -261,9 +262,9 @@ apt_install() {
apt_update
fi
if type -P sudo &>/dev/null; then
retry sudo apt-get -o Acquire::Retries=10 -qq -o Dpkg::Use-Pty=0 install -y --no-install-recommends "$@"
retry sudo apt-get -o Acquire::Retries=10 -o Dpkg::Use-Pty=0 install -y --no-install-recommends "$@"
else
retry apt-get -o Acquire::Retries=10 -qq -o Dpkg::Use-Pty=0 install -y --no-install-recommends "$@"
retry apt-get -o Acquire::Retries=10 -o Dpkg::Use-Pty=0 install -y --no-install-recommends "$@"
fi
}
apt_remove() {
@@ -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)
@@ -414,21 +408,37 @@ cargo_bin="${CARGO_HOME:-"${HOME}/.cargo"}/bin"
# If $CARGO_HOME does not exist, or cargo installed outside of $CARGO_HOME/bin
# is used ($CARGO_HOME/bin is most likely not included in the PATH), fallback to
# /usr/local/bin or $HOME/.install-action/bin.
if [[ ! -d "${cargo_bin}" ]] || [[ "${host_os}" != "windows" ]] && [[ "$(type -P cargo || true)" != "${cargo_bin}/cargo${exe}" ]]; then
if [[ ! -d "${cargo_bin}" ]] || { [[ "${host_os}" != "windows" ]] && [[ "$(type -P cargo || true)" != "${cargo_bin}/cargo${exe}" ]]; }; then
cargo_bin=/usr/local/bin
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,14 +473,18 @@ 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}"
(
cd "${tmp_dir}"
download_and_checksum "${url}" "${checksum}"
unzip tmp
unzip -q tmp
mv "bin/protoc${exe}" "${bin_dir}/"
mkdir -p "${include_dir}/"
cp -r include/. "${include_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
@@ -555,23 +572,35 @@ for tool in "${tools[@]}"; do
esac
info "${tool} installed at $(type -P "${tool}${exe}")"
# At least cargo-udeps 0.1.30 and wasm-pack 0.12.0 do not support --version option.
case "${tool}" in
cargo-careful) ;; # cargo-careful 0.3.4 does not support neither --version nor --help option.
cargo-*)
if type -P cargo &>/dev/null; then
case "${tool}" in
cargo-udeps) x cargo udeps --help | head -1 ;; # cargo-udeps v0.1.30 does not support --version option
cargo-valgrind) x cargo valgrind --help ;; # cargo-valgrind v2.1.0 does not support --version option
*) x cargo "${tool#cargo-}" --version ;;
cargo-valgrind) x cargo "${tool#cargo-}" --help ;; # cargo-valgrind 2.1.0's --version option just calls cargo's --version option
*)
if ! x cargo "${tool#cargo-}" --version; then
x cargo "${tool#cargo-}" --help
fi
;;
esac
else
case "${tool}" in
cargo-udeps) x "${tool}" udeps --help | head -1 ;; # cargo-udeps v0.1.30 does not support --version option
cargo-valgrind) x "${tool}" valgrind --help ;; # cargo-valgrind v2.1.0 does not support --version option
*) x "${tool}" "${tool#cargo-}" --version ;;
cargo-valgrind) x "${tool}" "${tool#cargo-}" --help ;; # cargo-valgrind 2.1.0's --version option just calls cargo's --version option
*)
if ! x "${tool}" "${tool#cargo-}" --version; then
x "${tool}" "${tool#cargo-}" --help
fi
;;
esac
fi
;;
*) x "${tool}" --version ;;
*)
if ! x "${tool}" --version; then
x "${tool}" --help
fi
;;
esac
echo
done

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": "0.23.1"
"version": "1.2.1"
},
"0.23.1": {
"1.2.1": {
"x86_64_linux_musl": {
"checksum": "dea75e6896fc183af8f0bd6490196d7fcf1a17946c25c558ec87be906a0e64ef"
"checksum": "579db0cea00c5afab93a957f5db7aea9b762e0a7cd1e882b5b9fdb94fed78471"
},
"x86_64_macos": {
"checksum": "1e03794b4380b56a3b3fb5dd47f01aea27a83672ef0fff84413d672d77cbcfaa"
"checksum": "50b8090d74b77de12c1dbaa7204476c927c02ee8a5cefddf7959412f72cca5d1"
},
"x86_64_windows": {
"checksum": "62e09ac2ab3a36d8d44790dc4679b32d8fcd50951bceb27239cdec23b43b2a8e"
"checksum": "8906f2ab674125d73b9cca71db6615fa432b1aa594e6fea7a896b4931798066d"
},
"aarch64_linux_musl": {
"checksum": "a54749e2d7761c0e4e04858d58dd08a98bd71318a9dcb3fd950ef732176f5195"
"checksum": "b847dd62ea44b9bcf55a267ee247c69fbe678f291bdf1705ed3565425f6a5cf5"
},
"aarch64_macos": {
"checksum": "10fffaff985822a67957ef3798407ce0f7282db3fc80a6ae297cdfe9ebb00869"
"checksum": "faedc148029f30496438548b7e7a4583f0cc7fe14e61e8b838df83c5a47a32c8"
},
"aarch64_windows": {
"checksum": "b1412448d417d923ee64bc7c961a87b7af387dc97291e3e4f818dc225b48d245"
"checksum": "6809ae3c7f35232ea1c2f2bbaa2bb1aa7493764cbd8445416a801ab781f83d0b"
}
}
}

42
manifests/cargo-careful.json generated Normal file
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"
}
}
}

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,7 +19,38 @@
}
},
"latest": {
"version": "0.13.9"
"version": "0.14.1"
},
"0.14": {
"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": {
"checksum": "85dee04c86104c84f83b344f29ba3f9e0b57b64da011c478e1e4a677cd59baa0"
},
"x86_64_macos": {
"checksum": "3d03a6a5764b81bd3e4f00bc70974f48bf44fe8346788397ff1a680d7304e755"
},
"x86_64_windows": {
"checksum": "4956fe0a296cee572b878512953f562bd5afdd568efe76131d8ecf72b1740cc3"
},
"aarch64_macos": {
"checksum": "2fc95e449d086694aa76c1306e9e5a1762491f99d14a1d46a6b524bed20a94b7"
}
},
"0.13": {
"version": "0.13.9"

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",

View File

@@ -1,10 +1,37 @@
{
"rust_crate": "cargo-hack",
"template": null,
"latest": {
"version": "0.5.28"
"version": "0.5.29"
},
"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": {

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,112 @@
}
},
"latest": {
"version": "0.5.20"
"version": "0.5.26"
},
"0.5": {
"version": "0.5.20"
"version": "0.5.26"
},
"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": {
"checksum": "e1c15ac5a583eeb4c478eed0222c3a3629aff3c9f151d8bdf7b50704ef9073c6"
},
"x86_64_macos": {
"checksum": "c12b25c44fd1b1b76ecfff7ca1ed4a29b2ec6f9c707f0d09a8716ea7513a557d"
},
"x86_64_windows": {
"checksum": "e4221c57b1cd759c0c659f66673f0fd5a03a1a8d2f3c95462b9af966273301c6"
},
"aarch64_linux_musl": {
"checksum": "0f3edd524e10b30c26c6ef7ff069843e89a75441c5f281254c2e65e028ccf29e"
},
"aarch64_macos": {
"checksum": "0d90b623b4dfa4fe631aaff13b891096224346ce907f0dbd61ae9276717f1bec"
}
},
"0.5.23": {
"x86_64_linux_musl": {
"checksum": "cdbb1c34bffeb2b5b986f16e3e1dd08c01d9ef2cbd1cf2d989ae7a184ce91302"
},
"x86_64_macos": {
"checksum": "e87ffd34514d23b5ce5d70e62eaff51c8a56308fcfea5d2df1cbf7a4930883af"
},
"x86_64_windows": {
"checksum": "3b0885d80a5d33c687331628adca4307cfb5d80a3d76a344ebf1077e504da08e"
},
"aarch64_linux_musl": {
"checksum": "5ad1d9b56601b76112c2555289763b88e0aba57b5188c7cb0b7e0c9f17141590"
},
"aarch64_macos": {
"checksum": "bfc30b8d89cf3b477caa8b4eee89bc083d8a3649e57a88eaa7a3a4948e5eaa0e"
}
},
"0.5.22": {
"x86_64_linux_musl": {
"checksum": "6a3f93f12e93853844dfa8b697ff86aaa688b9f44b82ba75b3f4ddd8905f3de5"
},
"x86_64_macos": {
"checksum": "9860cd3df6947817b689772d976f03f8b4edddc98a7d000a36d39d286c2ef663"
},
"x86_64_windows": {
"checksum": "c5cc93820d54c83fda40251c3f7a06a89de4cd0a5bc330208b5c7220c3bc8890"
},
"aarch64_linux_musl": {
"checksum": "bcf7cf97bbf49932b6cf43554a2ebf7ed9d50a54c16b0b33cd95cbc90e66008c"
},
"aarch64_macos": {
"checksum": "c2b702c10a033edee94fbff3b62d0e248932187431fea1b02e652762a0ae2c8d"
}
},
"0.5.21": {
"x86_64_linux_musl": {
"checksum": "bd23aced73f17c2178569c058f6cd78478cb38b233c45660eacab853b42353d6"
},
"x86_64_macos": {
"checksum": "d56ee6a72d496f86d8a387da9c5f66a88fa4dd568d822a0c78c4e3c6b901fdde"
},
"x86_64_windows": {
"checksum": "94f0cf996f63e5eea5ef908bb7bfcf2df1eb6f12508d7e5a435a5f8bfb9a4238"
},
"aarch64_linux_musl": {
"checksum": "6b3f727af761400bec3a6b7043e228722060fda045fb68d05a33ed28befa39f2"
},
"aarch64_macos": {
"checksum": "4572ef983631d461088a658f9d0fffe0a66ee2584b1160deca7fb48e91823b34"
}
},
"0.5.20": {
"x86_64_linux_musl": {

1207
manifests/cargo-make.json generated Normal file

File diff suppressed because it is too large Load Diff

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,30 @@
}
},
"latest": {
"version": "0.1.12"
"version": "0.1.13"
},
"0.1": {
"version": "0.1.12"
"version": "0.1.13"
},
"0.1.13": {
"x86_64_linux_musl": {
"checksum": "7bafe9e8c27207845edb3940e3a91f7cbae7a318472267610017fb6b10d8c7a2"
},
"x86_64_macos": {
"checksum": "79bf05f75f95e20641181d7c5576fa18a9b8eb11ad640a979a8916d8b6887831"
},
"x86_64_windows": {
"checksum": "ab7849653698babfc74dc865c87c3683594174e8f53201dc2bbcdc2100e9b4c8"
},
"aarch64_linux_musl": {
"checksum": "c5a1b3d68fc25420806576bc3d947fbb71011f30153c29ff1de162c80dc167e9"
},
"aarch64_macos": {
"checksum": "e7ce17977d4fc48d7a240989edf0c88511cee8573133504f0af5b4f7070893cf"
},
"aarch64_windows": {
"checksum": "f0f501bb1026cb5e48db5ccff3a16dcc6832d5d2f9da353f17337f86fbceca38"
}
},
"0.1.12": {
"x86_64_linux_musl": {

View File

@@ -1,701 +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.53"
},
"0.9": {
"version": "0.9.53"
},
"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"
}
}
}

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"
@@ -20,10 +21,30 @@
}
},
"latest": {
"version": "0.2.2"
"version": "0.2.3"
},
"0.2": {
"version": "0.2.2"
"version": "0.2.3"
},
"0.2.3": {
"x86_64_linux_musl": {
"checksum": "ccd4ee0b1cbe122657d5968ad27712b9ecb291aa58e5ec6e1b2964e78f9f00ee"
},
"x86_64_macos": {
"checksum": "2b7670703e8daaf854f373da5eacd3c9ea26ab28f9ceac6b24351fdf8e2e98df"
},
"x86_64_windows": {
"checksum": "f745b034340885a721fcf7c2eb23e4ef57809cf7304d411b434173c0e7085457"
},
"aarch64_linux_musl": {
"checksum": "2b012dabefa62da7e97e426f0dbf45bb38218b5570e32057aa732551fccad8d4"
},
"aarch64_macos": {
"checksum": "5af57c8f508d1fe04ec7ef74af6e6689c644ff2a0fa0ce36befe68920f819c52"
},
"aarch64_windows": {
"checksum": "a63f26daee3de974ecdb1cea8c3e0918000acd1098c0a63b34c73ae4362b043b"
}
},
"0.2.2": {
"x86_64_linux_musl": {

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"
@@ -17,7 +18,44 @@
}
},
"latest": {
"version": "0.25.2"
"version": "0.26.1"
},
"0.26": {
"version": "0.26.1"
},
"0.26.1": {
"x86_64_linux_musl": {
"checksum": "d8f07d68b2739a545ffa6f45b093922cb23d0726d086b3d4c405aa374b154186"
},
"x86_64_macos": {
"checksum": "6000aa742b2ec44d4c9a2ab5873847703b53597f0ff296c4ae1096c572ce5565"
},
"x86_64_windows": {
"checksum": "c464ab2e356dfbed8d530925de3cbe7fff2313ecf269d6674ab726d2a49b96ed"
},
"aarch64_linux_musl": {
"checksum": "51c2984b15a60e1d9bbf537d56354379abc428240855137b8ab8cd0614211c58"
},
"aarch64_macos": {
"checksum": "aac56df882fdf69030c7e4317eefa8ba8f9c2a184c8e66ff88dc6cae2093243a"
}
},
"0.26.0": {
"x86_64_linux_musl": {
"checksum": "c0c89310eecf34ede08e4c82a3be34ae5982e7a751b48290b05c5e829ae9c948"
},
"x86_64_macos": {
"checksum": "34560cde275396114a850141356f2fbb712fff74182d5e020dd8f133ed1eecec"
},
"x86_64_windows": {
"checksum": "296bb32608c6f1a983927e2d8284f3cc2ceb6129fd218dd5f0512ccc0e18a835"
},
"aarch64_linux_musl": {
"checksum": "63203c4c4cb135bdb82cf33429adac8d277963dde42439481ceb7b5849422d85"
},
"aarch64_macos": {
"checksum": "f58ea996d2216fe0c218e7f8fd7ce050149f1b766243d1661c4431087c7901a2"
}
},
"0.25": {
"version": "0.25.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.40"
"version": "0.1.41"
},
"0.1": {
"version": "0.1.40"
"version": "0.1.41"
},
"0.1.41": {
"x86_64_linux_musl": {
"checksum": "9895062bb4563c6eb6f0d1134f443d95550e3aefa51c9dc65a716550ef12fa74"
},
"x86_64_macos": {
"checksum": "421fb935f2a06f42e99ed8fa6b25514f5a724427d30321a5460ca471676da6fd"
},
"x86_64_windows": {
"checksum": "58d7f7555adfe0a6137662ba8446096c866214fc268a18906e7ba5670e587161"
},
"aarch64_linux_musl": {
"checksum": "f527129f91703dab09fa0bb139a6f9020bcb9598dc43ca010f59ee9886055eb1"
},
"aarch64_macos": {
"checksum": "a3aec3ea5356d232a670b112170dc46ac7285419886aa693045907094b030f09"
},
"aarch64_windows": {
"checksum": "da3a695bcd3654413873e8f1df0389d0d3d478ec13317676a29e2e05d520ce3b"
}
},
"0.1.40": {
"x86_64_linux_musl": {

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
manifests/cross.json generated
View File

@@ -1,4 +1,5 @@
{
"rust_crate": "cross",
"template": null,
"latest": {
"version": "0.2.5"

165
manifests/dprint.json generated
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,7 +21,169 @@
}
},
"latest": {
"version": "0.37.1"
"version": "0.40.2"
},
"0.40": {
"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": {
"checksum": "4ca464e5d57d2fcffaa724a4fcecd4b75a8a264df8e673feda0ca94267d07416"
},
"x86_64_macos": {
"checksum": "7da589860a440717b7d1e6153394509fa2a2b74d1c0b24a669920da172c805ce"
},
"x86_64_windows": {
"checksum": "372c6cd7665f1526a821cc3676d36036a6137609c6dcbfaa2601a7da8b0d0bb4"
},
"aarch64_linux_gnu": {
"checksum": "693b5d943a0f705be6379c79135f7e9d9bcc590d2b237e6344196fed62d817c7"
},
"aarch64_macos": {
"checksum": "a0b67859e733330d99809c8307095f56723ba9c3af01b1ffb7a03f1290e19c92"
}
},
"0.39": {
"version": "0.39.1"
},
"0.39.1": {
"x86_64_linux_musl": {
"checksum": "5e6ff56f68d31ff8411367fa021a15b29092d0d48bcd8b2741953927652da953"
},
"x86_64_macos": {
"checksum": "f4fb55f4361d70a43fd6cefd25328accef0cc52790950261f1d21aabfe97132d"
},
"x86_64_windows": {
"checksum": "6e7f87393fadd04bee062859c00f71bd7379960c15cebd673b35f3c810a0cee9"
},
"aarch64_linux_gnu": {
"checksum": "3a91d748c57d8510399d17eb14181c8f2803d9e67f7403ad7043a2c7a30c3568"
},
"aarch64_macos": {
"checksum": "63aa28e5ee984c029da74f51b53d4b3f979d9b70fce3800eb82486af389d3a99"
}
},
"0.39.0": {
"x86_64_linux_musl": {
"checksum": "85a05abe62b607b0b632dc2dfb70f1f0c25d0ba1c917ec5c57e4aba226617d42"
},
"x86_64_macos": {
"checksum": "79d1bbe2f811ddd4f9da83cb827abccc2a2fa851709886c8df9e1dd264d348a6"
},
"x86_64_windows": {
"checksum": "6e7726628ae1a656e9a889926c49b0d0dc213867e310112e550579512bedac40"
},
"aarch64_linux_gnu": {
"checksum": "d638ef063d33e12e4ee6ebb501655179c2be2a25800e6e8fa53c8d4413f08df4"
},
"aarch64_macos": {
"checksum": "78a17f1697e12b370c5c8f49665ff81bc97407c54f77d3f6ceae226c323a1c58"
}
},
"0.38": {
"version": "0.38.3"
},
"0.38.3": {
"x86_64_linux_musl": {
"checksum": "51616da543b45d07a8da2aab1d2072f5b301078b70b1039da63a84749e0e3a65"
},
"x86_64_macos": {
"checksum": "e0ebae88a4c5789426e80ab26dcf52f8640c77cd5599b71a5112a62284ed5cf1"
},
"x86_64_windows": {
"checksum": "089c2b15990e541f033159476e3dbcf308ea424345e95b51e716227a1d2eb2f7"
},
"aarch64_linux_gnu": {
"checksum": "99a1a2ac0bd010fb898ad143f2cdcf50975f21ee2b4e2f4145088f689f974e6c"
},
"aarch64_macos": {
"checksum": "587ca5ba726435b12d66c98750124a8bbcef7b1d8ff2940fba21f122a5813176"
}
},
"0.38.2": {
"x86_64_linux_musl": {
"checksum": "d57cdd843412c4a8b16a12c7a8b021494093eb011352aefe4f440592bdbfa37d"
},
"x86_64_macos": {
"checksum": "99da7486ed705ab88323093dca2aae337dbc201da047130bc12b87f8b798402a"
},
"x86_64_windows": {
"checksum": "bc7244fd98431a859a24a4959e8871ca5bf3a8d083d729b8e0796d6834d8b55e"
},
"aarch64_linux_gnu": {
"checksum": "1d72a2f199a2e69b5aa2eb75fd18b07f964346c89aa2f584c981c6f70dce1ed0"
},
"aarch64_macos": {
"checksum": "a9e89b89d84db129fb4e98694196230322378a50e3cac6cce41c08c3542d64c6"
}
},
"0.38.1": {
"x86_64_linux_musl": {
"checksum": "6da012131c66ddea1437a3cbe50cbfaaf070fe0c1ecd6942a198c62d6982d9bd"
},
"x86_64_macos": {
"checksum": "ccce324310deb9025e97c617ae31ecb8dddeef25aadfff567d63eb73ccd3279c"
},
"x86_64_windows": {
"checksum": "7e2919877f73baea8048f7bdc78b356ec80740b1a6dc8eb443547db10c270eea"
},
"aarch64_linux_gnu": {
"checksum": "ce5e02182e4bb975fb217eb567d2e8ddc3447376d4924dca525085956735814a"
},
"aarch64_macos": {
"checksum": "2fd93b24ccfac269a7a29658b2cc3b69182f23f5a4a5044ac45add1ff42b5ef4"
}
},
"0.38.0": {
"x86_64_linux_musl": {
"checksum": "a518a2e3dc29b7db1af4b463feaee605657acba5cef6b846117bddbcec579400"
},
"x86_64_macos": {
"checksum": "bb65e3a3aad6989705a69e12872f2d9609d0087239b05448d81c129ba7b081bc"
},
"x86_64_windows": {
"checksum": "0fbd229d3399212518b855b05eff8934e1b32c5829075a5263f504e1770c184a"
},
"aarch64_linux_gnu": {
"checksum": "be954f41b39b12f094750b68e084f61ee9dc1e8801133593331be110e2ee6173"
},
"aarch64_macos": {
"checksum": "28f88275dcc3661fd1de3ff0b264853641fd9c030e7e31f6772528df3f90e283"
}
},
"0.37": {
"version": "0.37.1"

1
manifests/grcov.json generated
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
manifests/just.json generated
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"

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"

61
manifests/mdbook.json generated
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,66 @@
}
},
"latest": {
"version": "0.4.30"
"version": "0.4.34"
},
"0.4": {
"version": "0.4.30"
"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": {
"checksum": "ac38f040eb462752548c865d6c9e900aa862852d42190cd773d5f20cd7b757f9"
},
"x86_64_macos": {
"checksum": "a625001956c903ff7b6864e90bb6380eae0e8ed711040dfeab932ace68e73d79"
},
"x86_64_windows": {
"checksum": "c06f2eeb4cfa487931213b830701a3dfa1eab5fcd7ec3756f14ffc68171a4817"
},
"aarch64_linux_musl": {
"checksum": "e68950f91fa907e89bd7d3f4d3e228a0c7bb4556689ba9e2b3adc42e4e7d6021"
}
},
"0.4.31": {
"x86_64_linux_musl": {
"checksum": "0332c3149dcc0b6ad1baab6cbf73f90e45b919fea3bd9c55fb5739fa980b2eaf"
},
"x86_64_macos": {
"checksum": "817300d62cff7ed1bf15921934ec9998c07a3ed8e293d8f1c4b32634206c08de"
},
"x86_64_windows": {
"checksum": "f55c476e298b53d9724933b8a0df5d150f5340ac8a08b64405e402846c3ac5b4"
},
"aarch64_linux_musl": {
"checksum": "6946e91283380f5a86c9ff8cb98b0449904d66d75ff4dfac759ccbef8800d20e"
}
},
"0.4.30": {
"x86_64_linux_musl": {

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,7 +24,70 @@
}
},
"latest": {
"version": "0.5.4"
"version": "0.6.2"
},
"0.6": {
"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": {
"checksum": "852a84c345787f959b5838958cd9d2f322059cce59fb5b005070b84182231a98"
},
"x86_64_macos": {
"checksum": "fcb4c8c48628967cbc2e52efbdb1a9b9151ff8de7cbb64fd60c8fc0cb5c12e73"
},
"x86_64_windows": {
"checksum": "1f0790b02b9afb4036e7bfdf5c0954f1099ac7b8474f4a729a29742b8bba68f2"
},
"aarch64_linux_musl": {
"checksum": "5e31f9eefdc1b0db62bfd022e217b84d644db9f75b3eafaacd716dbb9361efdd"
},
"aarch64_macos": {
"checksum": "9f699a48e43af8a9ba92ad8c5e0400c57963be89297a0e0e318ef143c9f8cc8e"
},
"aarch64_windows": {
"checksum": "a1b07108447f59bd3a8cb1055791b4cde570e7c6f8d1f953d850b5370da78b70"
}
},
"0.6.0": {
"x86_64_linux_musl": {
"checksum": "80e57ee43411646c8b3adf0f4417c6155418385e1755f26a1dcc92069ef26bfc"
},
"x86_64_macos": {
"checksum": "4521b4264e3b1bf07580bfaef405d32ba4f4e31323160d999a3ab38c00d3470d"
},
"x86_64_windows": {
"checksum": "eadf1c574efc7ae46cf79492b37596ba44aebc7f5af6aadff2dad6e30b62e40c"
},
"aarch64_linux_musl": {
"checksum": "8626ac4c3e6868b2bc4820a32b3533ab8265737908ee8335442942c8fa8d4d72"
},
"aarch64_macos": {
"checksum": "5eb69fda7e62869bae81f22db57d76d1fefabe0e9721c4941a4adcfea112d15a"
},
"aarch64_windows": {
"checksum": "e435cd91923f4afdf3499a53cdb63446fd4a42a6b580209e93be2e2d47cb6d93"
}
},
"0.5": {
"version": "0.5.4"

54
manifests/protoc.json generated
View File

@@ -1,13 +1,61 @@
{
"rust_crate": null,
"template": null,
"latest": {
"version": "3.23.3"
"version": "3.24.0"
},
"3": {
"version": "3.23.3"
"version": "3.24.0"
},
"3.24": {
"version": "3.24.0"
},
"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.3"
"version": "3.23.4"
},
"3.23.4": {
"x86_64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.4/protoc-23.4-linux-x86_64.zip",
"checksum": "0502f286ac9ed860b629a7965a14527b1f2dd131e4283fa23c2d7f184672aa9a"
},
"x86_64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.4/protoc-23.4-osx-x86_64.zip",
"checksum": "07e5fdcf1b0708d3367dc5e6eb8d135de7e407d75316c93155cfd8ab362eec80"
},
"x86_64_windows": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.4/protoc-23.4-win64.zip",
"checksum": "a309c39442fb75f0db343cb22c111a00f91cdf0767f332e170644b9378e2bcc6"
},
"aarch64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.4/protoc-23.4-linux-aarch_64.zip",
"checksum": "1c7750b6e038305b5a7fc3d0cda1ebefdf106a4f30a787bf826ed2fc47c3967d"
},
"aarch64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.4/protoc-23.4-osx-aarch_64.zip",
"checksum": "8c7afae8626b6811e7b5897d16d940c2dbf50b1e135ed958a01db6566bdda726"
}
},
"3.23.3": {
"x86_64_linux_gnu": {

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"
}
},

40
manifests/shfmt.json generated
View File

@@ -1,31 +1,47 @@
{
"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": {
"version": "3.6.0"
"version": "3.7.0"
},
"3": {
"version": "3.6.0"
"version": "3.7.0"
},
"3.7": {
"version": "3.7.0"
},
"3.7.0": {
"x86_64_linux_gnu": {
"checksum": "0264c424278b18e22453fe523ec01a19805ce3b8ebf18eaf3aadc1edc23f42e3"
},
"x86_64_macos": {
"checksum": "ae1d1ab961c113fb3dc2ff1150f33c3548983550d91da889b3171a5bcfaab14f"
},
"x86_64_windows": {
"checksum": "2807b4af91fbbd961b68716de06c044f1b4f897457fc89fba216e5e2e351c64f"
},
"aarch64_linux_gnu": {
"checksum": "111612560d15bd53d8e8f8f85731176ce12f3b418ec473d39a40ed6bbec772de"
},
"aarch64_macos": {
"checksum": "ad7ff6f666adba3d801eb17365a15539f07296718d39fb62cc2fde6b527178aa"
}
},
"3.6": {
"version": "3.6.0"

102
manifests/syft.json generated
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.83.1"
"version": "0.86.1"
},
"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"
},
"0.85.0": {
"x86_64_linux_musl": {
"checksum": "2a92c69e1017e2bf3785886a8298ad2b94dda69f9f5623560999740986dd8420"
},
"x86_64_macos": {
"checksum": "8dc8a29466bc69f514b56d8e41801ff781253646d07044982122609cb48bc1da"
},
"x86_64_windows": {
"checksum": "ca38ceb73b3124e92e2717f269e826a5091f128ee9bade27c9d9481b45aca43e"
},
"aarch64_linux_musl": {
"checksum": "fe96fc0c286feb554821ec1baf9367ad7122173998a8ca4ae2bcda844cd4a10a"
},
"aarch64_macos": {
"checksum": "0864e3b49ccf232bab7e171e4f8c03d1d6b291adc122ca009aa00218e9c74607"
}
},
"0.84": {
"version": "0.84.1"
},
"0.84.1": {
"x86_64_linux_musl": {
"checksum": "05ebad9167254f03447103efea175d636c3cd27d0da7f79972ca78adc7c442f9"
},
"x86_64_macos": {
"checksum": "43af6c70dca85ea603fb807e78044879c549a7b9d053d00d071078cebbdf2c6d"
},
"x86_64_windows": {
"checksum": "03241b9de869df23634c34c28cc27a7f48af3571ef95b46318c834a56c42e519"
},
"aarch64_linux_musl": {
"checksum": "8b68b2cf046f8c3729753f7a414eb6546ac7b43bee3afd56f413601200cac3c2"
},
"aarch64_macos": {
"checksum": "b98b9817dc284a0eb5d7e559a574361fda49d79a3413710ae5c35bd5e986adcb"
}
},
"0.84.0": {
"x86_64_linux_musl": {
"checksum": "cca9c05614667fe6d5de6362417754c522aeccadcb2ccfb9302f3dd7e82bdddc"
},
"x86_64_macos": {
"checksum": "f981df10be75e86fc82ba59cc338f982c5b6b07a5a2e3c104c983fca975fe1ac"
},
"x86_64_windows": {
"checksum": "39f90587629f32681ba22a03de6c996d4c4c94f3266e09ae6a472fd127176e07"
},
"aarch64_linux_musl": {
"checksum": "33924f053526b6c2178f7c362bb7d19483406d59664cdf3528d92262cbfa213d"
},
"aarch64_macos": {
"checksum": "65972738458a3255011808f46919a2fd6c1a559565be67da2a2a8f314f25638e"
}
},
"0.83": {
"version": "0.83.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",
@@ -18,7 +19,38 @@
}
},
"latest": {
"version": "0.11.1"
"version": "0.12.1"
},
"0.12": {
"version": "0.12.1"
},
"0.12.1": {
"x86_64_linux_musl": {
"checksum": "7339ba3ad776bd5fc04dd5d6b9babe952648050a54226c08206fab4ffeec621f"
},
"x86_64_macos": {
"checksum": "413bbbc727004ab735f3502755acb193eedd3efe8c0b7f88c1b5125d848f7eb4"
},
"x86_64_windows": {
"checksum": "0f000a337b7b69bf984138306e82af3a463467bc0c5e940118bb47e150fd4e74"
},
"aarch64_linux_musl": {
"checksum": "edbfd8c434f7d0dfa27a2f42be73c815c693342f2034778033877b1b54e410cd"
}
},
"0.12.0": {
"x86_64_linux_musl": {
"checksum": "60d7c5b082c408b9c201aa81813d87d5df23db4b1fa9c4a88302144e69bd3152"
},
"x86_64_macos": {
"checksum": "a2fb0a8ab4b5ae1f7dd459af4634d062d7ca33200b1fe6fb527c3f3797b28fe3"
},
"x86_64_windows": {
"checksum": "98ad2b548247f5ee89b2252d263caead040c155a348ebf780bb73b170e6605da"
},
"aarch64_linux_musl": {
"checksum": "19534e90fbe266a0f19085e186d983976e12a6390a76be1b2f977f53cbe922df"
}
},
"0.11": {
"version": "0.11.1"

123
manifests/wasmtime.json generated
View File

@@ -1,7 +1,128 @@
{
"rust_crate": "wasmtime-cli",
"template": null,
"latest": {
"version": "9.0.4"
"version": "11.0.1"
},
"11": {
"version": "11.0.1"
},
"11.0": {
"version": "11.0.1"
},
"11.0.1": {
"x86_64_linux_gnu": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v11.0.1/wasmtime-v11.0.1-x86_64-linux.tar.xz",
"checksum": "90bdbe4c650c7b45f96579f9026cff3071f1fa3ea7cf31fad5a3559c3318e23c",
"bin": "wasmtime-v11.0.1-x86_64-linux/wasmtime"
},
"x86_64_macos": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v11.0.1/wasmtime-v11.0.1-x86_64-macos.tar.xz",
"checksum": "85e51d5d87997612690d615868d8a0542cd09f81f60e2f74eb8cb34714c295b7",
"bin": "wasmtime-v11.0.1-x86_64-macos/wasmtime"
},
"x86_64_windows": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v11.0.1/wasmtime-v11.0.1-x86_64-windows.zip",
"checksum": "0048fbc227bd600aa21eff6b32d12092bf96d72c99483fe229e9db698dfa1f6c",
"bin": "wasmtime-v11.0.1-x86_64-windows/wasmtime.exe"
},
"aarch64_linux_gnu": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v11.0.1/wasmtime-v11.0.1-aarch64-linux.tar.xz",
"checksum": "f1c9323dec3c84b64cacdcf0e4c9f6a1aee87905ace6732b0c7fb4820a9bd563",
"bin": "wasmtime-v11.0.1-aarch64-linux/wasmtime"
},
"aarch64_macos": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v11.0.1/wasmtime-v11.0.1-aarch64-macos.tar.xz",
"checksum": "8c9839a42d47b50caec599f569bb800b74fb1963d7b8c600b9c9b07bb2d01cba",
"bin": "wasmtime-v11.0.1-aarch64-macos/wasmtime"
}
},
"11.0.0": {
"x86_64_linux_gnu": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v11.0.0/wasmtime-v11.0.0-x86_64-linux.tar.xz",
"checksum": "8723d437ff07b02ee3bc8885c8624bb34a52d96e70477f81e87d1936d2b84556",
"bin": "wasmtime-v11.0.0-x86_64-linux/wasmtime"
},
"x86_64_macos": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v11.0.0/wasmtime-v11.0.0-x86_64-macos.tar.xz",
"checksum": "2691cb31bf7dfe792d29fd862ed6142e892191e481d1c93e74c8fbf5c4e2bdf4",
"bin": "wasmtime-v11.0.0-x86_64-macos/wasmtime"
},
"x86_64_windows": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v11.0.0/wasmtime-v11.0.0-x86_64-windows.zip",
"checksum": "e7d17a0613fbbe0194e2340899d347fff2ceacc466decfbb7cfba0a4715df950",
"bin": "wasmtime-v11.0.0-x86_64-windows/wasmtime.exe"
},
"aarch64_linux_gnu": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v11.0.0/wasmtime-v11.0.0-aarch64-linux.tar.xz",
"checksum": "662b9ce9a8b447b24ef6cfec811bf6f5f13a6ca4112836f8d3781b8e268dea34",
"bin": "wasmtime-v11.0.0-aarch64-linux/wasmtime"
},
"aarch64_macos": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v11.0.0/wasmtime-v11.0.0-aarch64-macos.tar.xz",
"checksum": "6a6910e0fa8f792f650db917f25454782fe00f78f9f8c2f1b30232a5c1fb7981",
"bin": "wasmtime-v11.0.0-aarch64-macos/wasmtime"
}
},
"10": {
"version": "10.0.1"
},
"10.0": {
"version": "10.0.1"
},
"10.0.1": {
"x86_64_linux_gnu": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v10.0.1/wasmtime-v10.0.1-x86_64-linux.tar.xz",
"checksum": "ea7a96e7d30ff6d64d0e212900f9a2c4f1d009266e014d62cb5edb16c6f1a7f6",
"bin": "wasmtime-v10.0.1-x86_64-linux/wasmtime"
},
"x86_64_macos": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v10.0.1/wasmtime-v10.0.1-x86_64-macos.tar.xz",
"checksum": "e9d7e1511e67a1f21ae11ad765f62a3bfc99999b251de4fd368480348f7e6c03",
"bin": "wasmtime-v10.0.1-x86_64-macos/wasmtime"
},
"x86_64_windows": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v10.0.1/wasmtime-v10.0.1-x86_64-windows.zip",
"checksum": "05452d493a620c1cef3612c007c6050be77598265d72ea50081294712808c949",
"bin": "wasmtime-v10.0.1-x86_64-windows/wasmtime.exe"
},
"aarch64_linux_gnu": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v10.0.1/wasmtime-v10.0.1-aarch64-linux.tar.xz",
"checksum": "c237f3e661dcf9e69a890f8c327db5f65085fa94020cabd6d95c7d4b32fb85af",
"bin": "wasmtime-v10.0.1-aarch64-linux/wasmtime"
},
"aarch64_macos": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v10.0.1/wasmtime-v10.0.1-aarch64-macos.tar.xz",
"checksum": "aa0a00896e08a942e6416a67b7914f880bf6b494d16fb75484187e48adc24f35",
"bin": "wasmtime-v10.0.1-aarch64-macos/wasmtime"
}
},
"10.0.0": {
"x86_64_linux_gnu": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v10.0.0/wasmtime-v10.0.0-x86_64-linux.tar.xz",
"checksum": "6df3770c26a0c892a89980d4a7d785b7356a855a4ac79c6745f02a7f2bf914fc",
"bin": "wasmtime-v10.0.0-x86_64-linux/wasmtime"
},
"x86_64_macos": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v10.0.0/wasmtime-v10.0.0-x86_64-macos.tar.xz",
"checksum": "dc499e4caae3149036571005d3bec542ec10e48725e11fcbb4f50652489b6464",
"bin": "wasmtime-v10.0.0-x86_64-macos/wasmtime"
},
"x86_64_windows": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v10.0.0/wasmtime-v10.0.0-x86_64-windows.zip",
"checksum": "c08cb3e8cdfb1e01ca01f3b6a80b48d9e50d3a344daeaac333748f23279cfac6",
"bin": "wasmtime-v10.0.0-x86_64-windows/wasmtime.exe"
},
"aarch64_linux_gnu": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v10.0.0/wasmtime-v10.0.0-aarch64-linux.tar.xz",
"checksum": "840834ef89612d3392e108e6550d6b362e96952c09fcb2404f6ac59c1c707ed5",
"bin": "wasmtime-v10.0.0-aarch64-linux/wasmtime"
},
"aarch64_macos": {
"url": "https://github.com/bytecodealliance/wasmtime/releases/download/v10.0.0/wasmtime-v10.0.0-aarch64-macos.tar.xz",
"checksum": "b14b4f4a4e639347a0f6e990056bd27c0510857b965f27ee08d0f347704a6e74",
"bin": "wasmtime-v10.0.0-aarch64-macos/wasmtime"
}
},
"9": {
"version": "9.0.4"

1
manifests/zola.json generated
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"

View File

@@ -1,16 +1,27 @@
#!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0 OR MIT
set -euxo pipefail
set -euo pipefail
IFS=$'\n\t'
cd "$(dirname "$0")"/..
cd "$(dirname "$0")"/../..
bail() {
echo >&2 "error: $*"
exit 1
}
if [[ -z "${CI:-}" ]]; then
bail "this script is intended to call from release workflow on CI"
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
tools/ci/tool-list.sh Executable file
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'

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"

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": {

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"
}
}
}

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": {

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": {

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"

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": {},

View File

@@ -0,0 +1,16 @@
{
"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": {
"x86_64_linux_gnu": {},
"x86_64_linux_musl": {},
"x86_64_macos": {},
"x86_64_windows": {
"bin": "${package}${exe}"
},
"aarch64_macos": {}
}
}

View File

@@ -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": {},

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
}

View File

@@ -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": {},

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": {

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": {

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": {},

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"

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": {},

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": {

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": {},

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": {},

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": {},

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": {},

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": {

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"

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": {

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": {

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",

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": {},

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;
@@ -89,16 +103,14 @@ fn main() -> Result<()> {
Ok(m) => {
manifests = m;
for (k, manifest) in &mut manifests.map {
let ManifestRef::Real(manifest) = manifest else { continue };
let ManifestRef::Real(manifest) = manifest else {
continue;
};
let version = &*k.0.to_string();
if let Some(template) = &manifests.template {
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()
@@ -175,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
@@ -216,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()?,
},
);
@@ -235,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() {
@@ -264,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))),
@@ -290,32 +310,38 @@ fn main() -> Result<()> {
);
}
let ManifestRef::Ref { version: latest_version } = manifests.map.first_key_value().unwrap().1.clone() else { unreachable!() };
let ManifestRef::Ref {
version: latest_version,
} = manifests.map.first_key_value().unwrap().1.clone()
else {
unreachable!()
};
if latest_only {
manifests
.map
.retain(|k, _| k.0 == Version::latest() || k.0 == latest_version);
}
let ManifestRef::Real(latest_manifest) = &manifests.map[&Reverse(latest_version.clone())] else { unreachable!() };
let ManifestRef::Real(latest_manifest) = &manifests.map[&Reverse(latest_version.clone())]
else {
unreachable!()
};
for &p in base_info.platform.keys() {
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:?}, \
@@ -328,15 +354,16 @@ fn main() -> Result<()> {
download_info: BTreeMap::new(),
});
'outer: for (version, manifest) in &mut manifests.map {
let ManifestRef::Real(manifest) = manifest else { continue };
let ManifestRef::Real(manifest) = manifest else {
continue;
};
let version = &*version.0.to_string();
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;
}
@@ -345,7 +372,6 @@ fn main() -> Result<()> {
*platform,
ManifestTemplateDownloadInfo {
url: template_url,
bin_dir: template_bin_dir,
bin: template_bin,
},
);
@@ -358,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)?;
@@ -372,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}'");
}
@@ -387,29 +423,20 @@ fn replace_vars(s: &str, package: &str, version: &str, platform: HostPlatform) -
}
fn download(url: &str) -> Result<ureq::Response> {
let mut token1 = env::var("INTERNAL_CODEGEN_GH_PAT")
.ok()
.filter(|v| !v.is_empty());
let mut token2 = env::var("GITHUB_TOKEN").ok().filter(|v| !v.is_empty());
let mut token = env::var("GITHUB_TOKEN").ok().filter(|v| !v.is_empty());
let mut retry = 0;
let mut last_error;
loop {
let mut req = ureq::get(url);
if let Some(token) = &token1 {
req = req.set("Authorization", token);
} else if let Some(token) = &token2 {
if let Some(token) = &token {
req = req.set("Authorization", token);
}
match req.call() {
Ok(res) => return Ok(res),
Err(e) => last_error = Some(e),
}
if retry == 3 || retry == 6 {
if token1.is_some() {
token1 = None;
} else if token2.is_some() {
token2 = None;
}
if retry == 5 && token.is_some() {
token = None;
}
retry += 1;
if retry > 10 {
@@ -560,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>,
@@ -583,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>,
@@ -600,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>,
@@ -615,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>,
}
@@ -634,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>,
}
@@ -738,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,
}
}

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

View File

@@ -15,6 +15,14 @@ trap 's=$?; echo >&2 "$0: error on line "${LINENO}": ${BASH_COMMAND}"; exit ${s}
# Note: This script requires the following tools:
# - parse-changelog <https://github.com/taiki-e/parse-changelog>
x() {
local cmd="$1"
shift
(
set -x
"${cmd}" "$@"
)
}
bail() {
echo >&2 "error: $*"
exit 1
@@ -41,6 +49,7 @@ if gh release view "${tag}" &>/dev/null; then
bail "tag '${tag}' has already been created and pushed"
fi
# Make sure that the release was created from an allowed branch.
if ! git branch | grep -q '\* main$'; then
bail "current branch is not 'main'"
fi
@@ -89,18 +98,16 @@ echo "======================================="
if [[ -n "${tags}" ]]; then
# Create a release commit.
git add "${changelog}"
git commit -m "Release ${version}"
x git add "${changelog}"
x git commit -m "Release ${version}"
fi
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