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

View File

@@ -4,9 +4,10 @@ distro
doas doas
dprint dprint
enablerepo enablerepo
endgroup
epel epel
grcov grcov
libc incompat
linkcheck linkcheck
mdbook mdbook
microdnf 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 - main
- dev - dev
schedule: schedule:
- cron: '0 1 * * *' - cron: '0 0,6,12,18 * * *'
workflow_dispatch: workflow_dispatch:
env: env:
@@ -38,25 +38,19 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: 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: include:
# Note: Specifying the version of valgrind and cargo-binstall is not supported.
- os: ubuntu-20.04 - 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 - 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 - 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 - 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 - 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 }} runs-on: ${{ matrix.os }}
timeout-minutes: 60 timeout-minutes: 60
steps: steps:
@@ -65,9 +59,12 @@ jobs:
persist-credentials: false persist-credentials: false
# cross attempts to install rust-src when Cargo.toml is available even if `cross --version` # cross attempts to install rust-src when Cargo.toml is available even if `cross --version`
- run: rm Cargo.toml - run: rm Cargo.toml
- name: Generate tool list
id: tool-list
run: tools/ci/tool-list.sh "${{ matrix.tool }}" >>"${GITHUB_OUTPUT}"
- uses: ./ - uses: ./
with: 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 # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell
- name: Test bash - name: Test bash
run: just --version; shfmt --version; protoc --version run: just --version; shfmt --version; protoc --version
@@ -97,33 +94,19 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
container: container:
# glibc >= 2.31 - ubuntu:18.04 # glibc 2.27
- ubuntu:20.04 # glibc 2.31 - ubuntu:20.04 # glibc 2.31
- ubuntu:22.04 # glibc 2.35 - ubuntu:22.04 # glibc 2.35
- debian:10-slim # glibc 2.28
- debian:11-slim # glibc 2.31 - debian:11-slim # glibc 2.31
- debian:bookworm-slim # glibc 2.36 - debian:12-slim # glibc 2.36
- fedora:latest # glibc 2.36 (as of fedora 37) - fedora:latest # glibc 2.37 (as of fedora 38)
tool: - rockylinux:8 # glibc 2.28
# valgrind: installing snap to container is difficult... - rockylinux:8-minimal # glibc 2.28
- 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 - rockylinux:9 # glibc 2.34
include: - rockylinux:9-minimal # glibc 2.34
# glibc < 2.31 - centos:7 # glibc 2.17
# zola don't provide prebuilt binaries for musl or old glibc host. - alpine:latest # musl 1.2.4 (as of alpine 3.18)
- 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
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 60 timeout-minutes: 60
container: ${{ matrix.container }} container: ${{ matrix.container }}
@@ -132,7 +115,7 @@ jobs:
run: | run: |
set -euxo pipefail set -euxo pipefail
apt-get -o Acquire::Retries=10 -qq update 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') if: startsWith(matrix.container, 'ubuntu') || startsWith(matrix.container, 'debian')
- name: Install requirements (fedora/rockylinux) - name: Install requirements (fedora/rockylinux)
run: | run: |
@@ -161,9 +144,12 @@ jobs:
persist-credentials: false persist-credentials: false
# cross attempts to install rust-src when Cargo.toml is available even if `cross --version` # cross attempts to install rust-src when Cargo.toml is available even if `cross --version`
- run: rm Cargo.toml - run: rm Cargo.toml
- name: Generate tool list
id: tool-list
run: tools/ci/tool-list.sh >>"${GITHUB_OUTPUT}"
- uses: ./ - uses: ./
with: with:
tool: ${{ matrix.tool }} tool: ${{ steps.tool-list.outputs.tool }}
manifest: manifest:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -180,19 +166,15 @@ jobs:
- run: tools/manifest.sh - run: tools/manifest.sh
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 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 - 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') 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 - uses: peter-evans/create-pull-request@v5
with: with:
title: Update manifest title: Update manifest
body: | body: |
Auto-generated by [create-pull-request][1] Auto-generated by [create-pull-request](https://github.com/peter-evans/create-pull-request)
[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
branch: update-manifest 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' 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] ## [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 ## [2.11.2] - 2023-06-15
- Update `syft@latest` to 0.83.1. - 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 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.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.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 [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 ## 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. 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 ```sh
./tools/manifest.sh <tool> ./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> > 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-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-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-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-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-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-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-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) | | [**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) | | [**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-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) | | [**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) | | [**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) | | [**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) | | [**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) |

133
main.sh
View File

@@ -78,7 +78,11 @@ download_and_extract() {
tar_args+=("xjf") tar_args+=("xjf")
if ! type -P bzip2 &>/dev/null; then if ! type -P bzip2 &>/dev/null; then
case "${base_distro}" in 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 esac
fi fi
;; ;;
@@ -86,15 +90,27 @@ download_and_extract() {
tar_args+=("xJf") tar_args+=("xJf")
if ! type -P xz &>/dev/null; then if ! type -P xz &>/dev/null; then
case "${base_distro}" in case "${base_distro}" in
debian) sys_install xz-utils ;; debian)
alpine | fedora) sys_install xz ;; 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 esac
fi fi
;; ;;
*.zip) *.zip)
if ! type -P unzip &>/dev/null; then if ! type -P unzip &>/dev/null; then
case "${base_distro}" in 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 esac
fi fi
;; ;;
@@ -115,7 +131,7 @@ download_and_extract() {
else else
case "${url}" in case "${url}" in
*.zip) *.zip)
unzip tmp unzip -q tmp "${bin_in_archive#\./}"
mv "${bin_in_archive}" "${bin_dir}/" mv "${bin_in_archive}" "${bin_dir}/"
;; ;;
*) mv tmp "${installed_bin}" ;; *) mv tmp "${installed_bin}" ;;
@@ -136,6 +152,7 @@ read_manifest() {
local tool="$1" local tool="$1"
local version="$2" local version="$2"
local manifest local manifest
rust_crate=$(jq -r ".rust_crate" "${manifest_dir}/${tool}.json")
manifest=$(jq -r ".\"${version}\"" "${manifest_dir}/${tool}.json") manifest=$(jq -r ".\"${version}\"" "${manifest_dir}/${tool}.json")
if [[ "${manifest}" == "null" ]]; then if [[ "${manifest}" == "null" ]]; then
download_info="null" download_info="null"
@@ -161,21 +178,6 @@ read_manifest() {
# TODO: However, a warning may make sense. # TODO: However, a warning may make sense.
host_platform="${host_arch}_linux_gnu" host_platform="${host_arch}_linux_gnu"
download_info=$(jq <<<"${manifest}" -r ".${host_platform}") 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 fi
;; ;;
macos | windows) macos | windows)
@@ -204,15 +206,14 @@ read_download_info() {
template=$(jq -r ".template.${host_platform}" "${manifest_dir}/${tool}.json") template=$(jq -r ".template.${host_platform}" "${manifest_dir}/${tool}.json")
url=$(jq <<<"${template}" -r '.url') url=$(jq <<<"${template}" -r '.url')
url="${url//\$\{version\}/${exact_version}}" 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=$(jq <<<"${template}" -r '.bin')
bin_in_archive="${bin_in_archive//\$\{version\}/${exact_version}}" bin_in_archive="${bin_in_archive//\$\{version\}/${exact_version}}"
else else
bin_dir=$(jq <<<"${download_info}" -r '.bin_dir')
bin_in_archive=$(jq <<<"${download_info}" -r '.bin') bin_in_archive=$(jq <<<"${download_info}" -r '.bin')
fi fi
if [[ "${bin_dir}" == "null" ]]; then if [[ "${rust_crate}" == "null" ]]; then
bin_dir="/usr/local/bin"
else
bin_dir="${cargo_bin}" bin_dir="${cargo_bin}"
fi fi
if [[ "${bin_in_archive}" == "null" ]]; then if [[ "${bin_in_archive}" == "null" ]]; then
@@ -261,9 +262,9 @@ apt_install() {
apt_update apt_update
fi fi
if type -P sudo &>/dev/null; then 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 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 fi
} }
apt_remove() { apt_remove() {
@@ -348,22 +349,15 @@ exe=""
case "$(uname -s)" in case "$(uname -s)" in
Linux) Linux)
host_os=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 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 case "${base_distro}" in
*debian*) base_distro=debian ;; *debian*) base_distro=debian ;;
*alpine*) base_distro=alpine ;; *alpine*) base_distro=alpine ;;
*fedora*) base_distro=fedora ;; *fedora*) base_distro=fedora ;;
esac esac
else else
base_distro="$(grep '^ID=' /etc/os-release | sed 's/^ID=//')" base_distro=$(grep '^ID=' /etc/os-release | sed 's/^ID=//')
fi fi
case "${base_distro}" in case "${base_distro}" in
fedora) 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 # 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 # is used ($CARGO_HOME/bin is most likely not included in the PATH), fallback to
# /usr/local/bin or $HOME/.install-action/bin. # /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 cargo_bin=/usr/local/bin
fi fi
if ! type -P jq &>/dev/null || ! type -P curl &>/dev/null || ! type -P tar &>/dev/null; then if ! type -P jq &>/dev/null || ! type -P curl &>/dev/null || ! type -P tar &>/dev/null; then
case "${base_distro}" in case "${base_distro}" in
debian | alpine) sys_install ca-certificates curl jq tar ;; debian | fedora | alpine)
fedora) echo "::group::Install packages required for installation (jq, curl, and/or tar)"
if [[ "${dnf}" == "yum" ]]; then 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 # On RHEL7-based distribution jq requires EPEL
sys_install ca-certificates curl tar epel-release if ! type -P jq &>/dev/null; then
sys_packages+=(epel-release)
sys_install "${sys_packages[@]}"
sys_install jq --enablerepo=epel sys_install jq --enablerepo=epel
else else
sys_install ca-certificates curl jq tar sys_install "${sys_packages[@]}"
fi fi
else
if ! type -P jq &>/dev/null; then
sys_packages+=(jq)
fi
sys_install "${sys_packages[@]}"
fi
echo "::endgroup::"
;; ;;
esac esac
fi fi
@@ -463,14 +473,18 @@ for tool in "${tools[@]}"; do
fi fi
if ! type -P unzip &>/dev/null; then if ! type -P unzip &>/dev/null; then
case "${base_distro}" in 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 esac
fi fi
mkdir -p "${tmp_dir}" mkdir -p "${tmp_dir}"
( (
cd "${tmp_dir}" cd "${tmp_dir}"
download_and_checksum "${url}" "${checksum}" download_and_checksum "${url}" "${checksum}"
unzip tmp unzip -q tmp
mv "bin/protoc${exe}" "${bin_dir}/" mv "bin/protoc${exe}" "${bin_dir}/"
mkdir -p "${include_dir}/" mkdir -p "${include_dir}/"
cp -r include/. "${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. # Use cargo-binstall fallback if tool is available but the specified version not available.
read_manifest "${tool}" "${version}" read_manifest "${tool}" "${version}"
if [[ "${download_info}" == "null" ]]; then 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" warn "${tool}@${version} for '${host_os}' is not supported; fallback to cargo-binstall"
case "${version}" in case "${version}" in
latest) unsupported_tools+=("${tool}") ;; latest) unsupported_tools+=("${rust_crate}") ;;
*) unsupported_tools+=("${tool}@${version}") ;; *) unsupported_tools+=("${rust_crate}@${version}") ;;
esac esac
continue continue
fi fi
@@ -555,23 +572,35 @@ for tool in "${tools[@]}"; do
esac esac
info "${tool} installed at $(type -P "${tool}${exe}")" 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 case "${tool}" in
cargo-careful) ;; # cargo-careful 0.3.4 does not support neither --version nor --help option.
cargo-*) cargo-*)
if type -P cargo &>/dev/null; then if type -P cargo &>/dev/null; then
case "${tool}" in 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 "${tool#cargo-}" --help ;; # cargo-valgrind 2.1.0's --version option just calls cargo's --version option
cargo-valgrind) x cargo valgrind --help ;; # cargo-valgrind v2.1.0 does not support --version option *)
*) x cargo "${tool#cargo-}" --version ;; if ! x cargo "${tool#cargo-}" --version; then
x cargo "${tool#cargo-}" --help
fi
;;
esac esac
else else
case "${tool}" in 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}" "${tool#cargo-}" --help ;; # cargo-valgrind 2.1.0's --version option just calls cargo's --version option
cargo-valgrind) x "${tool}" valgrind --help ;; # cargo-valgrind v2.1.0 does not support --version option *)
*) x "${tool}" "${tool#cargo-}" --version ;; if ! x "${tool}" "${tool#cargo-}" --version; then
x "${tool}" "${tool#cargo-}" --help
fi
;;
esac esac
fi fi
;; ;;
*) x "${tool}" --version ;; *)
if ! x "${tool}" --version; then
x "${tool}" --help
fi
;;
esac esac
echo echo
done done

View File

@@ -1,4 +1,5 @@
{ {
"rust_crate": "cargo-binstall",
"template": { "template": {
"x86_64_linux_musl": { "x86_64_linux_musl": {
"url": "https://github.com/cargo-bins/cargo-binstall/releases/download/v${version}/cargo-binstall-x86_64-unknown-linux-musl.tgz" "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": { "latest": {
"version": "0.23.1" "version": "1.2.1"
}, },
"0.23.1": { "1.2.1": {
"x86_64_linux_musl": { "x86_64_linux_musl": {
"checksum": "dea75e6896fc183af8f0bd6490196d7fcf1a17946c25c558ec87be906a0e64ef" "checksum": "579db0cea00c5afab93a957f5db7aea9b762e0a7cd1e882b5b9fdb94fed78471"
}, },
"x86_64_macos": { "x86_64_macos": {
"checksum": "1e03794b4380b56a3b3fb5dd47f01aea27a83672ef0fff84413d672d77cbcfaa" "checksum": "50b8090d74b77de12c1dbaa7204476c927c02ee8a5cefddf7959412f72cca5d1"
}, },
"x86_64_windows": { "x86_64_windows": {
"checksum": "62e09ac2ab3a36d8d44790dc4679b32d8fcd50951bceb27239cdec23b43b2a8e" "checksum": "8906f2ab674125d73b9cca71db6615fa432b1aa594e6fea7a896b4931798066d"
}, },
"aarch64_linux_musl": { "aarch64_linux_musl": {
"checksum": "a54749e2d7761c0e4e04858d58dd08a98bd71318a9dcb3fd950ef732176f5195" "checksum": "b847dd62ea44b9bcf55a267ee247c69fbe678f291bdf1705ed3565425f6a5cf5"
}, },
"aarch64_macos": { "aarch64_macos": {
"checksum": "10fffaff985822a67957ef3798407ce0f7282db3fc80a6ae297cdfe9ebb00869" "checksum": "faedc148029f30496438548b7e7a4583f0cc7fe14e61e8b838df83c5a47a32c8"
}, },
"aarch64_windows": { "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": { "template": {
"x86_64_linux_musl": { "x86_64_linux_musl": {
"url": "https://github.com/EmbarkStudios/cargo-deny/releases/download/${version}/cargo-deny-${version}-x86_64-unknown-linux-musl.tar.gz", "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": { "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": { "0.13": {
"version": "0.13.9" "version": "0.13.9"

View File

@@ -1,4 +1,5 @@
{ {
"rust_crate": "cargo-dinghy",
"template": { "template": {
"x86_64_linux_musl": { "x86_64_linux_musl": {
"url": "https://github.com/sonos/dinghy/releases/download/${version}/cargo-dinghy-linux-${version}.tgz", "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, "template": null,
"latest": { "latest": {
"version": "0.5.28" "version": "0.5.29"
}, },
"0.5": { "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": { "0.5.28": {
"x86_64_linux_musl": { "x86_64_linux_musl": {

View File

@@ -1,4 +1,5 @@
{ {
"rust_crate": "cargo-llvm-cov",
"template": { "template": {
"x86_64_linux_musl": { "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" "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": { "latest": {
"version": "0.5.20" "version": "0.5.26"
}, },
"0.5": { "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": { "0.5.20": {
"x86_64_linux_musl": { "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": { "template": {
"x86_64_linux_musl": { "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" "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": { "latest": {
"version": "0.1.12" "version": "0.1.13"
}, },
"0.1": { "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": { "0.1.12": {
"x86_64_linux_musl": { "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": { "template": {
"x86_64_linux_musl": { "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" "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": { "latest": {
"version": "0.2.2" "version": "0.2.3"
}, },
"0.2": { "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": { "0.2.2": {
"x86_64_linux_musl": { "x86_64_linux_musl": {

View File

@@ -1,4 +1,5 @@
{ {
"rust_crate": "cargo-tarpaulin",
"template": { "template": {
"x86_64_linux_musl": { "x86_64_linux_musl": {
"url": "https://github.com/xd009642/tarpaulin/releases/download/${version}/cargo-tarpaulin-x86_64-unknown-linux-musl.tar.gz" "url": "https://github.com/xd009642/tarpaulin/releases/download/${version}/cargo-tarpaulin-x86_64-unknown-linux-musl.tar.gz"
@@ -17,7 +18,44 @@
} }
}, },
"latest": { "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": { "0.25": {
"version": "0.25.2" "version": "0.25.2"

View File

@@ -1,4 +1,5 @@
{ {
"rust_crate": "cargo-udeps",
"template": { "template": {
"x86_64_linux_gnu": { "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", "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": { "latest": {
"version": "0.1.40" "version": "0.1.41"
}, },
"0.1": { "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": { "0.1.40": {
"x86_64_linux_musl": { "x86_64_linux_musl": {

View File

@@ -1,4 +1,5 @@
{ {
"rust_crate": "cargo-valgrind",
"template": { "template": {
"x86_64_linux_musl": { "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" "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, "template": null,
"latest": { "latest": {
"version": "0.2.5" "version": "0.2.5"

165
manifests/dprint.json generated
View File

@@ -1,4 +1,5 @@
{ {
"rust_crate": "dprint",
"template": { "template": {
"x86_64_linux_gnu": { "x86_64_linux_gnu": {
"url": "https://github.com/dprint/dprint/releases/download/${version}/dprint-x86_64-unknown-linux-gnu.zip" "url": "https://github.com/dprint/dprint/releases/download/${version}/dprint-x86_64-unknown-linux-gnu.zip"
@@ -20,7 +21,169 @@
} }
}, },
"latest": { "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": { "0.37": {
"version": "0.37.1" "version": "0.37.1"

1
manifests/grcov.json generated
View File

@@ -1,4 +1,5 @@
{ {
"rust_crate": "grcov",
"template": { "template": {
"x86_64_linux_musl": { "x86_64_linux_musl": {
"url": "https://github.com/mozilla/grcov/releases/download/v${version}/grcov-x86_64-unknown-linux-musl.tar.bz2" "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": { "template": {
"x86_64_linux_musl": { "x86_64_linux_musl": {
"url": "https://github.com/casey/just/releases/download/${version}/just-${version}-x86_64-unknown-linux-musl.tar.gz" "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": { "template": {
"x86_64_linux_gnu": { "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" "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": { "template": {
"x86_64_linux_gnu": { "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" "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": { "latest": {
"version": "0.4.30" "version": "0.4.34"
}, },
"0.4": { "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": { "0.4.30": {
"x86_64_linux_musl": { "x86_64_linux_musl": {

View File

@@ -1,4 +1,5 @@
{ {
"rust_crate": "parse-changelog",
"template": { "template": {
"x86_64_linux_gnu": { "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" "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": { "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": { "0.5": {
"version": "0.5.4" "version": "0.5.4"

54
manifests/protoc.json generated
View File

@@ -1,13 +1,61 @@
{ {
"rust_crate": null,
"template": null, "template": null,
"latest": { "latest": {
"version": "3.23.3" "version": "3.24.0"
}, },
"3": { "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": { "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": { "3.23.3": {
"x86_64_linux_gnu": { "x86_64_linux_gnu": {

View File

@@ -1,23 +1,20 @@
{ {
"rust_crate": null,
"template": { "template": {
"x86_64_linux_gnu": { "x86_64_linux_gnu": {
"url": "https://github.com/koalaman/shellcheck/releases/download/v${version}/shellcheck-v${version}.linux.x86_64.tar.xz", "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" "bin": "shellcheck-v${version}/shellcheck"
}, },
"x86_64_macos": { "x86_64_macos": {
"url": "https://github.com/koalaman/shellcheck/releases/download/v${version}/shellcheck-v${version}.darwin.x86_64.tar.xz", "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" "bin": "shellcheck-v${version}/shellcheck"
}, },
"x86_64_windows": { "x86_64_windows": {
"url": "https://github.com/koalaman/shellcheck/releases/download/v${version}/shellcheck-v${version}.zip", "url": "https://github.com/koalaman/shellcheck/releases/download/v${version}/shellcheck-v${version}.zip",
"bin_dir": "/usr/local/bin",
"bin": "shellcheck.exe" "bin": "shellcheck.exe"
}, },
"aarch64_linux_gnu": { "aarch64_linux_gnu": {
"url": "https://github.com/koalaman/shellcheck/releases/download/v${version}/shellcheck-v${version}.linux.aarch64.tar.xz", "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" "bin": "shellcheck-v${version}/shellcheck"
} }
}, },

40
manifests/shfmt.json generated
View File

@@ -1,31 +1,47 @@
{ {
"rust_crate": null,
"template": { "template": {
"x86_64_linux_gnu": { "x86_64_linux_gnu": {
"url": "https://github.com/mvdan/sh/releases/download/v${version}/shfmt_v${version}_linux_amd64", "url": "https://github.com/mvdan/sh/releases/download/v${version}/shfmt_v${version}_linux_amd64"
"bin_dir": "/usr/local/bin"
}, },
"x86_64_macos": { "x86_64_macos": {
"url": "https://github.com/mvdan/sh/releases/download/v${version}/shfmt_v${version}_darwin_amd64", "url": "https://github.com/mvdan/sh/releases/download/v${version}/shfmt_v${version}_darwin_amd64"
"bin_dir": "/usr/local/bin"
}, },
"x86_64_windows": { "x86_64_windows": {
"url": "https://github.com/mvdan/sh/releases/download/v${version}/shfmt_v${version}_windows_amd64.exe", "url": "https://github.com/mvdan/sh/releases/download/v${version}/shfmt_v${version}_windows_amd64.exe"
"bin_dir": "/usr/local/bin"
}, },
"aarch64_linux_gnu": { "aarch64_linux_gnu": {
"url": "https://github.com/mvdan/sh/releases/download/v${version}/shfmt_v${version}_linux_arm64", "url": "https://github.com/mvdan/sh/releases/download/v${version}/shfmt_v${version}_linux_arm64"
"bin_dir": "/usr/local/bin"
}, },
"aarch64_macos": { "aarch64_macos": {
"url": "https://github.com/mvdan/sh/releases/download/v${version}/shfmt_v${version}_darwin_arm64", "url": "https://github.com/mvdan/sh/releases/download/v${version}/shfmt_v${version}_darwin_arm64"
"bin_dir": "/usr/local/bin"
} }
}, },
"latest": { "latest": {
"version": "3.6.0" "version": "3.7.0"
}, },
"3": { "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": { "3.6": {
"version": "3.6.0" "version": "3.6.0"

102
manifests/syft.json generated
View File

@@ -1,33 +1,123 @@
{ {
"rust_crate": null,
"template": { "template": {
"x86_64_linux_musl": { "x86_64_linux_musl": {
"url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_linux_amd64.tar.gz", "url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_linux_amd64.tar.gz",
"bin_dir": "/usr/local/bin",
"bin": "syft" "bin": "syft"
}, },
"x86_64_macos": { "x86_64_macos": {
"url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_darwin_amd64.tar.gz", "url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_darwin_amd64.tar.gz",
"bin_dir": "/usr/local/bin",
"bin": "syft" "bin": "syft"
}, },
"x86_64_windows": { "x86_64_windows": {
"url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_windows_amd64.zip", "url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_windows_amd64.zip",
"bin_dir": "/usr/local/bin",
"bin": "syft.exe" "bin": "syft.exe"
}, },
"aarch64_linux_musl": { "aarch64_linux_musl": {
"url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_linux_arm64.tar.gz", "url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_linux_arm64.tar.gz",
"bin_dir": "/usr/local/bin",
"bin": "syft" "bin": "syft"
}, },
"aarch64_macos": { "aarch64_macos": {
"url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_darwin_arm64.tar.gz", "url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_darwin_arm64.tar.gz",
"bin_dir": "/usr/local/bin",
"bin": "syft" "bin": "syft"
} }
}, },
"latest": { "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": { "0.83": {
"version": "0.83.1" "version": "0.83.1"

View File

@@ -1,4 +1,5 @@
{ {
"rust_crate": "wasm-pack",
"template": { "template": {
"x86_64_linux_musl": { "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", "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": { "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": { "0.11": {
"version": "0.11.1" "version": "0.11.1"

123
manifests/wasmtime.json generated
View File

@@ -1,7 +1,128 @@
{ {
"rust_crate": "wasmtime-cli",
"template": null, "template": null,
"latest": { "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": { "9": {
"version": "9.0.4" "version": "9.0.4"

1
manifests/zola.json generated
View File

@@ -1,4 +1,5 @@
{ {
"rust_crate": "zola",
"template": { "template": {
"x86_64_linux_gnu": { "x86_64_linux_gnu": {
"url": "https://github.com/getzola/zola/releases/download/v${version}/zola-v${version}-x86_64-unknown-linux-gnu.tar.gz" "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 #!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0 OR MIT # SPDX-License-Identifier: Apache-2.0 OR MIT
set -euxo pipefail set -euo pipefail
IFS=$'\n\t' 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.name "Taiki Endo"
git config user.email "te316e89@gmail.com" git config user.email "te316e89@gmail.com"
set -x
for manifest in manifests/*.json; do for manifest in manifests/*.json; do
git add -N "${manifest}" git add -N "${manifest}"
if ! git diff --exit-code -- "${manifest}"; then if ! git diff --exit-code -- "${manifest}"; then
name="$(basename "${manifest%.*}")" name=$(basename "${manifest%.*}")
git stash git stash
old_version=$(jq -r '.latest.version' "${manifest}") old_version=$(jq -r '.latest.version' "${manifest}")
git stash pop 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] [dependencies]
anyhow = "1" anyhow = "1"
fs-err = "2" fs-err = "2"
semver = "1" semver = { version = "1", features = ["serde"] }
serde = { version = "1", features = ["derive"] } serde = { version = "1", features = ["derive"] }
serde_json = "1" serde_json = "1"
sha2 = "0.10" sha2 = "0.10"

View File

@@ -1,6 +1,7 @@
{ {
"repository": "https://github.com/cargo-bins/cargo-binstall", "repository": "https://github.com/cargo-bins/cargo-binstall",
"tag_prefix": "v", "tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.tgz", "asset_name": "${package}-${rust_target}.tgz",
"version_range": "latest", "version_range": "latest",
"platform": { "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", "repository": "https://github.com/EmbarkStudios/cargo-deny",
"tag_prefix": "", "tag_prefix": "",
"rust_crate": "${package}",
"asset_name": "${package}-${version}-${rust_target}.tar.gz", "asset_name": "${package}-${version}-${rust_target}.tar.gz",
"bin": "${package}-${version}-${rust_target}/${package}${exe}", "bin": "${package}-${version}-${rust_target}/${package}${exe}",
"platform": { "platform": {

View File

@@ -1,6 +1,7 @@
{ {
"repository": "https://github.com/sonos/dinghy", "repository": "https://github.com/sonos/dinghy",
"tag_prefix": "", "tag_prefix": "",
"rust_crate": "${package}",
"asset_name": "${package}-${os_name}-${version}.tgz", "asset_name": "${package}-${os_name}-${version}.tgz",
"bin": "${package}-${version}/${package}${exe}", "bin": "${package}-${version}/${package}${exe}",
"platform": { "platform": {

View File

@@ -1,6 +1,7 @@
{ {
"repository": "https://github.com/taiki-e/cargo-hack", "repository": "https://github.com/taiki-e/cargo-hack",
"tag_prefix": "v", "tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": [ "asset_name": [
"${package}-${rust_target}.tar.gz", "${package}-${rust_target}.tar.gz",
"${package}-v${version}-${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", "repository": "https://github.com/taiki-e/cargo-llvm-cov",
"tag_prefix": "v", "tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.tar.gz", "asset_name": "${package}-${rust_target}.tar.gz",
"platform": { "platform": {
"x86_64_linux_musl": {}, "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", "repository": "https://github.com/taiki-e/cargo-minimal-versions",
"tag_prefix": "v", "tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.tar.gz", "asset_name": "${package}-${rust_target}.tar.gz",
"platform": { "platform": {
"x86_64_linux_musl": {}, "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", "repository": "https://github.com/taiki-e/cargo-no-dev-deps",
"tag_prefix": "v", "tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.tar.gz", "asset_name": "${package}-${rust_target}.tar.gz",
"platform": { "platform": {
"x86_64_linux_musl": {}, "x86_64_linux_musl": {},

View File

@@ -1,6 +1,7 @@
{ {
"repository": "https://github.com/xd009642/tarpaulin", "repository": "https://github.com/xd009642/tarpaulin",
"tag_prefix": "", "tag_prefix": "",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.tar.gz", "asset_name": "${package}-${rust_target}.tar.gz",
"version_range": "> 0.22.0", "version_range": "> 0.22.0",
"platform": { "platform": {

View File

@@ -1,6 +1,7 @@
{ {
"repository": "https://github.com/est31/cargo-udeps", "repository": "https://github.com/est31/cargo-udeps",
"tag_prefix": "v", "tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-v${version}-${rust_target}.tar.gz", "asset_name": "${package}-v${version}-${rust_target}.tar.gz",
"bin": "./${package}-v${version}-${rust_target}/${package}${exe}", "bin": "./${package}-v${version}-${rust_target}/${package}${exe}",
"platform": { "platform": {

View File

@@ -1,6 +1,7 @@
{ {
"repository": "https://github.com/jfrimmel/cargo-valgrind", "repository": "https://github.com/jfrimmel/cargo-valgrind",
"tag_prefix": "v", "tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${version}-${rust_target}.tar.gz", "asset_name": "${package}-${version}-${rust_target}.tar.gz",
"platform": { "platform": {
"x86_64_linux_musl": {}, "x86_64_linux_musl": {},

View File

@@ -1,6 +1,7 @@
{ {
"repository": "https://github.com/cross-rs/cross", "repository": "https://github.com/cross-rs/cross",
"tag_prefix": "v", "tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": [ "asset_name": [
"${package}-${rust_target}.tar.gz", "${package}-${rust_target}.tar.gz",
"${package}-v${version}-${rust_target}.tar.gz" "${package}-v${version}-${rust_target}.tar.gz"

View File

@@ -1,6 +1,7 @@
{ {
"repository": "https://github.com/dprint/dprint", "repository": "https://github.com/dprint/dprint",
"tag_prefix": "", "tag_prefix": "",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.zip", "asset_name": "${package}-${rust_target}.zip",
"platform": { "platform": {
"x86_64_linux_gnu": {}, "x86_64_linux_gnu": {},

View File

@@ -1,6 +1,7 @@
{ {
"repository": "https://github.com/mozilla/grcov", "repository": "https://github.com/mozilla/grcov",
"tag_prefix": "v", "tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.tar.bz2", "asset_name": "${package}-${rust_target}.tar.bz2",
"version_range": ">= 0.8.7", "version_range": ">= 0.8.7",
"platform": { "platform": {

View File

@@ -1,6 +1,7 @@
{ {
"repository": "https://github.com/casey/just", "repository": "https://github.com/casey/just",
"tag_prefix": "", "tag_prefix": "",
"rust_crate": "${package}",
"asset_name": "${package}-${version}-${rust_target}.tar.gz", "asset_name": "${package}-${version}-${rust_target}.tar.gz",
"platform": { "platform": {
"x86_64_linux_musl": {}, "x86_64_linux_musl": {},

View File

@@ -1,6 +1,7 @@
{ {
"repository": "https://github.com/Michael-F-Bryan/mdbook-linkcheck", "repository": "https://github.com/Michael-F-Bryan/mdbook-linkcheck",
"tag_prefix": "v", "tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}.${rust_target}.zip", "asset_name": "${package}.${rust_target}.zip",
"platform": { "platform": {
"x86_64_linux_gnu": {}, "x86_64_linux_gnu": {},

View File

@@ -1,6 +1,7 @@
{ {
"repository": "https://github.com/rust-lang/mdBook", "repository": "https://github.com/rust-lang/mdBook",
"tag_prefix": "v", "tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-v${version}-${rust_target}.tar.gz", "asset_name": "${package}-v${version}-${rust_target}.tar.gz",
"platform": { "platform": {
"x86_64_linux_musl": {}, "x86_64_linux_musl": {},

View File

@@ -1,6 +1,7 @@
{ {
"repository": "https://github.com/taiki-e/parse-changelog", "repository": "https://github.com/taiki-e/parse-changelog",
"tag_prefix": "v", "tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.tar.gz", "asset_name": "${package}-${rust_target}.tar.gz",
"platform": { "platform": {
"x86_64_linux_gnu": {}, "x86_64_linux_gnu": {},

View File

@@ -1,7 +1,6 @@
{ {
"repository": "https://github.com/koalaman/shellcheck", "repository": "https://github.com/koalaman/shellcheck",
"tag_prefix": "v", "tag_prefix": "v",
"bin_dir": "/usr/local/bin",
"bin": "${package}-v${version}/${package}${exe}", "bin": "${package}-v${version}/${package}${exe}",
"platform": { "platform": {
"x86_64_linux_gnu": { "x86_64_linux_gnu": {

View File

@@ -1,7 +1,6 @@
{ {
"repository": "https://github.com/mvdan/sh", "repository": "https://github.com/mvdan/sh",
"tag_prefix": "v", "tag_prefix": "v",
"bin_dir": "/usr/local/bin",
"platform": { "platform": {
"x86_64_linux_gnu": { "x86_64_linux_gnu": {
"asset_name": "${package}_v${version}_linux_amd64" "asset_name": "${package}_v${version}_linux_amd64"

View File

@@ -1,7 +1,6 @@
{ {
"repository": "https://github.com/anchore/syft", "repository": "https://github.com/anchore/syft",
"tag_prefix": "v", "tag_prefix": "v",
"bin_dir": "/usr/local/bin",
"bin": "${package}${exe}", "bin": "${package}${exe}",
"version_range": ">= 0.83.0", "version_range": ">= 0.83.0",
"platform": { "platform": {

View File

@@ -1,6 +1,7 @@
{ {
"repository": "https://github.com/rustwasm/wasm-pack", "repository": "https://github.com/rustwasm/wasm-pack",
"tag_prefix": "v", "tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-v${version}-${rust_target}.tar.gz", "asset_name": "${package}-v${version}-${rust_target}.tar.gz",
"bin": "${package}-v${version}-${rust_target}/${package}${exe}", "bin": "${package}-v${version}-${rust_target}/${package}${exe}",
"platform": { "platform": {

View File

@@ -1,6 +1,7 @@
{ {
"repository": "https://github.com/bytecodealliance/wasmtime", "repository": "https://github.com/bytecodealliance/wasmtime",
"tag_prefix": "v", "tag_prefix": "v",
"rust_crate": "wasmtime-cli",
"platform": { "platform": {
"x86_64_linux_gnu": { "x86_64_linux_gnu": {
"asset_name": "${package}-v${version}-x86_64-linux.tar.xz", "asset_name": "${package}-v${version}-x86_64-linux.tar.xz",

View File

@@ -1,6 +1,7 @@
{ {
"repository": "https://github.com/getzola/zola", "repository": "https://github.com/getzola/zola",
"tag_prefix": "v", "tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-v${version}-${rust_target}.tar.gz", "asset_name": "${package}-v${version}-${rust_target}.tar.gz",
"platform": { "platform": {
"x86_64_linux_gnu": {}, "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(manifest_path.parent().unwrap())?;
fs::create_dir_all(download_cache_dir)?; 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 workspace_root
.join("tools/codegen/base") .join("tools/codegen/base")
.join(format!("{package}.json")), .join(format!("{package}.json")),
@@ -74,6 +74,20 @@ fn main() -> Result<()> {
}) })
.collect(); .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 manifests: Manifests = Manifests::default();
let mut semver_versions = BTreeSet::new(); let mut semver_versions = BTreeSet::new();
let mut has_build_metadata = false; let mut has_build_metadata = false;
@@ -89,16 +103,14 @@ fn main() -> Result<()> {
Ok(m) => { Ok(m) => {
manifests = m; manifests = m;
for (k, manifest) in &mut manifests.map { 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(); let version = &*k.0.to_string();
if let Some(template) = &manifests.template { if let Some(template) = &manifests.template {
for (platform, d) in &mut manifest.download_info { for (platform, d) in &mut manifest.download_info {
let template = &template.download_info[platform]; let template = &template.download_info[platform];
d.url = Some(template.url.replace("${version}", version)); 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 d.bin = template
.bin .bin
.as_ref() .as_ref()
@@ -175,7 +187,7 @@ fn main() -> Result<()> {
.with_context(|| format!("asset_name is needed for {package} on {platform:?}"))? .with_context(|| format!("asset_name is needed for {package} on {platform:?}"))?
.as_slice() .as_slice()
.iter() .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<_>>>()?; .collect::<Result<Vec<_>>>()?;
let (url, asset_name) = match asset_names.iter().find_map(|asset_name| { let (url, asset_name) = match asset_names.iter().find_map(|asset_name| {
release release
@@ -216,16 +228,11 @@ fn main() -> Result<()> {
ManifestDownloadInfo { ManifestDownloadInfo {
url: Some(url), url: Some(url),
checksum: hash, checksum: hash,
bin_dir: base_download_info
.bin_dir
.as_ref()
.or(base_info.bin_dir.as_ref())
.cloned(),
bin: base_download_info bin: base_download_info
.bin .bin
.as_ref() .as_ref()
.or(base_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()?, .transpose()?,
}, },
); );
@@ -235,7 +242,6 @@ fn main() -> Result<()> {
eprintln!("no release asset for {package} {version}"); eprintln!("no release asset for {package} {version}");
continue; continue;
} }
if !base_info.prefer_linux_gnu {
// compact manifest // compact manifest
if download_info.contains_key(&HostPlatform::x86_64_linux_gnu) if download_info.contains_key(&HostPlatform::x86_64_linux_gnu)
&& download_info.contains_key(&HostPlatform::x86_64_linux_musl) && download_info.contains_key(&HostPlatform::x86_64_linux_musl)
@@ -247,6 +253,13 @@ fn main() -> Result<()> {
{ {
download_info.remove(&HostPlatform::aarch64_linux_gnu); 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(); has_build_metadata |= !semver_version.build.is_empty();
if semver_version.pre.is_empty() { if semver_version.pre.is_empty() {
@@ -264,6 +277,13 @@ fn main() -> Result<()> {
} else if !semver_versions.is_empty() { } else if !semver_versions.is_empty() {
let mut prev_version = semver_versions.iter().next().unwrap(); let mut prev_version = semver_versions.iter().next().unwrap();
for version in &semver_versions { 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) { if !(version.major == 0 && version.minor == 0) {
manifests.map.insert( manifests.map.insert(
Reverse(Version::omitted(version.major, Some(version.minor))), Reverse(Version::omitted(version.major, Some(version.minor))),
@@ -290,18 +310,25 @@ 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 { if latest_only {
manifests manifests
.map .map
.retain(|k, _| k.0 == Version::latest() || k.0 == latest_version); .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() { for &p in base_info.platform.keys() {
if latest_manifest.download_info.contains_key(&p) { if latest_manifest.download_info.contains_key(&p) {
continue; continue;
} }
if !base_info.prefer_linux_gnu {
if p == HostPlatform::x86_64_linux_gnu if p == HostPlatform::x86_64_linux_gnu
&& latest_manifest && latest_manifest
.download_info .download_info
@@ -316,7 +343,6 @@ fn main() -> Result<()> {
{ {
continue; continue;
} }
}
bail!( bail!(
"platform list in base manifest for {package} contains {p:?}, \ "platform list in base manifest for {package} contains {p:?}, \
but latest release ({latest_version}) doesn't contain it" but latest release ({latest_version}) doesn't contain it"
@@ -328,15 +354,16 @@ fn main() -> Result<()> {
download_info: BTreeMap::new(), download_info: BTreeMap::new(),
}); });
'outer: for (version, manifest) in &mut manifests.map { '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 version = &*version.0.to_string();
let t = template.as_mut().unwrap(); let t = template.as_mut().unwrap();
for (platform, d) in &mut manifest.download_info { for (platform, d) in &mut manifest.download_info {
let template_url = d.url.take().unwrap().replace(version, "${version}"); 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}")); let template_bin = d.bin.take().map(|s| s.replace(version, "${version}"));
if let Some(d) = t.download_info.get(platform) { 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; template = None;
break 'outer; break 'outer;
} }
@@ -345,7 +372,6 @@ fn main() -> Result<()> {
*platform, *platform,
ManifestTemplateDownloadInfo { ManifestTemplateDownloadInfo {
url: template_url, url: template_url,
bin_dir: template_bin_dir,
bin: template_bin, bin: template_bin,
}, },
); );
@@ -358,6 +384,8 @@ fn main() -> Result<()> {
manifests.template = template; manifests.template = template;
} }
manifests.rust_crate = base_info.rust_crate;
let mut buf = serde_json::to_vec_pretty(&manifests)?; let mut buf = serde_json::to_vec_pretty(&manifests)?;
buf.push(b'\n'); buf.push(b'\n');
fs::write(manifest_path, buf)?; fs::write(manifest_path, buf)?;
@@ -372,14 +400,22 @@ fn workspace_root() -> PathBuf {
dir dir
} }
fn replace_vars(s: &str, package: &str, version: &str, platform: HostPlatform) -> Result<String> { fn replace_vars(
let s = s s: &str,
.replace("${package}", package) package: &str,
.replace("${tool}", package) 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("${rust_target}", platform.rust_target())
.replace("${os_name}", platform.os_name()) .replace("${os_name}", platform.os_name())
.replace("${version}", version)
.replace("${exe}", platform.exe_suffix()); .replace("${exe}", platform.exe_suffix());
}
if let Some(version) = version {
s = s.replace("${version}", version);
}
if s.contains('$') { if s.contains('$') {
bail!("variable not fully replaced: '{s}'"); 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> { fn download(url: &str) -> Result<ureq::Response> {
let mut token1 = env::var("INTERNAL_CODEGEN_GH_PAT") let mut token = env::var("GITHUB_TOKEN").ok().filter(|v| !v.is_empty());
.ok()
.filter(|v| !v.is_empty());
let mut token2 = env::var("GITHUB_TOKEN").ok().filter(|v| !v.is_empty());
let mut retry = 0; let mut retry = 0;
let mut last_error; let mut last_error;
loop { loop {
let mut req = ureq::get(url); let mut req = ureq::get(url);
if let Some(token) = &token1 { if let Some(token) = &token {
req = req.set("Authorization", token);
} else if let Some(token) = &token2 {
req = req.set("Authorization", token); req = req.set("Authorization", token);
} }
match req.call() { match req.call() {
Ok(res) => return Ok(res), Ok(res) => return Ok(res),
Err(e) => last_error = Some(e), Err(e) => last_error = Some(e),
} }
if retry == 3 || retry == 6 { if retry == 5 && token.is_some() {
if token1.is_some() { token = None;
token1 = None;
} else if token2.is_some() {
token2 = None;
}
} }
retry += 1; retry += 1;
if retry > 10 { if retry > 10 {
@@ -560,6 +587,7 @@ impl<'de> Deserialize<'de> for Version {
#[derive(Debug, Clone, Default, Serialize, Deserialize)] #[derive(Debug, Clone, Default, Serialize, Deserialize)]
struct Manifests { struct Manifests {
rust_crate: Option<String>,
template: Option<ManifestTemplate>, template: Option<ManifestTemplate>,
#[serde(flatten)] #[serde(flatten)]
map: BTreeMap<Reverse<Version>, ManifestRef>, map: BTreeMap<Reverse<Version>, ManifestRef>,
@@ -583,9 +611,6 @@ struct ManifestDownloadInfo {
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
url: Option<String>, url: Option<String>,
checksum: String, checksum: String,
/// Default to ${cargo_bin}
#[serde(skip_serializing_if = "Option::is_none")]
bin_dir: Option<String>,
/// Default to ${tool}${exe} /// Default to ${tool}${exe}
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
bin: Option<String>, bin: Option<String>,
@@ -600,9 +625,6 @@ struct ManifestTemplate {
#[derive(Debug, Clone, Serialize, Deserialize)] #[derive(Debug, Clone, Serialize, Deserialize)]
struct ManifestTemplateDownloadInfo { struct ManifestTemplateDownloadInfo {
url: String, url: String,
/// Default to ${cargo_bin}
#[serde(skip_serializing_if = "Option::is_none")]
bin_dir: Option<String>,
/// Default to ${tool}${exe} /// Default to ${tool}${exe}
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
bin: Option<String>, bin: Option<String>,
@@ -615,17 +637,14 @@ struct BaseManifest {
repository: String, repository: String,
/// Prefix of release tag. /// Prefix of release tag.
tag_prefix: String, tag_prefix: String,
/// Crate name, if this is Rust crate.
rust_crate: Option<String>,
default_major_version: Option<String>, default_major_version: Option<String>,
/// Asset name patterns. /// Asset name patterns.
asset_name: Option<StringOrArray>, 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}`. /// Path to binary in archive. Default to `${tool}${exe}`.
bin: Option<String>, bin: Option<String>,
platform: BTreeMap<HostPlatform, BaseManifestPlatformInfo>, platform: BTreeMap<HostPlatform, BaseManifestPlatformInfo>,
/// Use glibc build if host_env is gnu.
#[serde(default)]
prefer_linux_gnu: bool,
version_range: Option<String>, version_range: Option<String>,
} }
@@ -634,8 +653,6 @@ struct BaseManifest {
struct BaseManifestPlatformInfo { struct BaseManifestPlatformInfo {
/// Asset name patterns. Default to the value at `BaseManifest::asset_name`. /// Asset name patterns. Default to the value at `BaseManifest::asset_name`.
asset_name: Option<StringOrArray>, 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`. /// Path to binary in archive. Default to the value at `BaseManifest::bin`.
bin: Option<String>, bin: Option<String>,
} }
@@ -738,3 +755,19 @@ mod github {
pub browser_download_url: String, 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 fi
for manifest in tools/codegen/base/*.json; do for manifest in tools/codegen/base/*.json; do
package="$(basename "${manifest%.*}")" package=$(basename "${manifest%.*}")
cargo run --release -p install-action-internal-codegen -- "${package}" latest cargo run --release -p install-action-internal-codegen -- "${package}" latest
done 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: # Note: This script requires the following tools:
# - parse-changelog <https://github.com/taiki-e/parse-changelog> # - parse-changelog <https://github.com/taiki-e/parse-changelog>
x() {
local cmd="$1"
shift
(
set -x
"${cmd}" "$@"
)
}
bail() { bail() {
echo >&2 "error: $*" echo >&2 "error: $*"
exit 1 exit 1
@@ -41,6 +49,7 @@ if gh release view "${tag}" &>/dev/null; then
bail "tag '${tag}' has already been created and pushed" bail "tag '${tag}' has already been created and pushed"
fi fi
# Make sure that the release was created from an allowed branch.
if ! git branch | grep -q '\* main$'; then if ! git branch | grep -q '\* main$'; then
bail "current branch is not 'main'" bail "current branch is not 'main'"
fi fi
@@ -89,18 +98,16 @@ echo "======================================="
if [[ -n "${tags}" ]]; then if [[ -n "${tags}" ]]; then
# Create a release commit. # Create a release commit.
git add "${changelog}" x git add "${changelog}"
git commit -m "Release ${version}" x git commit -m "Release ${version}"
fi fi
tools=() tools=()
for tool in tools/codegen/base/*.json; do for tool in tools/codegen/base/*.json; do
tools+=("$(basename "${tool%.*}")") tools+=("$(basename "${tool%.*}")")
done done
# Aliases
tools+=(nextest)
# Not manifest-based # Not manifest-based
tools+=(valgrind) tools+=(valgrind nextest cargo-nextest)
( (
set -x set -x