Compare commits

..

1 Commits

Author SHA1 Message Date
Taiki Endo
f7379c13bb Add release instructions and update release script 2023-03-26 18:47:22 +09:00
72 changed files with 1337 additions and 5399 deletions

View File

@@ -26,7 +26,7 @@
],
"ignoreRegExpList": [
// Copyright notice
"Copyright .*",
"Copyright ((\\(c\\)|\\(C\\)|©) )?.*",
// GHA actions/workflows
"uses: .+@",
// GHA context (repo name, owner name, etc.)
@@ -35,8 +35,6 @@
"( |\\[)@[\\w_-]+",
// Git config username
"git config user.name .*",
// Username in todo comment
"(TODO|FIXME)\\([\\w_., -]+\\)",
// Cargo.toml authors
"authors *= *\\[.*\\]",
"\".* <[\\w_.+-]+@[\\w.-]+>\""

View File

@@ -24,11 +24,11 @@ rustsec
rustup
valgrind
xcompile
Zdoctest
Zmiri
// Rust target triple/spec
// Rust target triple
aarch
amdgpu
androideabi
armeb
armebv
@@ -37,7 +37,6 @@ asmjs
atmega
bpfeb
bpfel
csky
cuda
eabi
eabihf
@@ -45,7 +44,6 @@ emscripten
espidf
fortanix
gnuabi
gnuabiv
gnueabi
gnueabihf
gnullvm
@@ -53,7 +51,6 @@ gnuspe
gnux
illumos
imac
libnx
loongarch
macabi
mipsel
@@ -62,17 +59,12 @@ msvc
muslabi
musleabi
musleabihf
newlib
newlibeabihf
nvptx
ohos
openwrt
relibc
riscv
softfloat
sparcv
spirv
teeos
thumbeb
thumbebv
thumbv
@@ -93,47 +85,35 @@ acqrel
alloc
bools
builtins
bytecount
canonicalize
cfgs
concat
consts
ctypes
dealloc
deque
docsrs
doctest
doctests
hasher
idents
impls
inlateout
intrinsics
lateout
mclass
memcpy
msrv
nand
nanos
nomem
nonoverlapping
noreturn
nostack
peekable
powf
punct
rclass
repr
rfind
rfold
rposition
rsplit
rustlib
seqcst
simd
splitn
structs
subsec
supertrait
supertraits
sysroot
@@ -144,33 +124,24 @@ unsized
upcastable
// Other
armel
armhf
binutils
connrefused
cygwin
dpkg
elif
endianness
esac
euxo
gsub
libc
moreutils
msys
noninteractive
noprofile
norc
nproc
objcopy
objdump
pipefail
powerset
proto
ranlib
readelf
shellcheckrc
SIGABRT
SIGILL
subcmd
SIGINT
SIGTERM
tlsv

View File

@@ -1,24 +1,29 @@
binstall
bytecodealliance
coreutils
distro
doas
dprint
enablerepo
endgroup
epel
grcov
incompat
jfrimmel
koalaman
libc
linkcheck
mdbook
microdnf
mvdan
nextest
protobuf
protoc
protocolbuffers
pwsh
quickinstall
rockylinux
rustwasm
shellcheck
shfmt
syft
udeps
wasmtime
watchexec

View File

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

View File

@@ -10,7 +10,7 @@ on:
- main
- dev
schedule:
- cron: '0 0,6,12,18 * * *'
- cron: '0 1 * * *'
workflow_dispatch:
env:
@@ -38,19 +38,25 @@ jobs:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-20.04
- ubuntu-22.04
tool:
# cargo-watch/watchexec-cli is supported by cargo-binstall (through quickinstall)
# TODO: valgrind installation sometime hangs.
- cargo-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
include:
# Note: Specifying the version of valgrind and cargo-binstall is not supported.
- os: ubuntu-20.04
- os: ubuntu-22.04
tool: 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
- os: ubuntu-20.04
tool: major.minor.patch
tool: 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@4.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
- os: ubuntu-20.04
tool: major.minor
- os: ubuntu-20.04
tool: major
tool: cargo-valgrind@2,just@1,protoc@3,shfmt@3,wasmtime@4,cargo-watch@8,watchexec-cli@1
- os: macos-11
- os: macos-12
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
- os: windows-2019
- os: windows-2022
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
runs-on: ${{ matrix.os }}
timeout-minutes: 60
steps:
@@ -59,12 +65,9 @@ jobs:
persist-credentials: false
# cross attempts to install rust-src when Cargo.toml is available even if `cross --version`
- run: rm Cargo.toml
- name: Generate tool list
id: tool-list
run: tools/ci/tool-list.sh "${{ matrix.tool }}" >>"${GITHUB_OUTPUT}"
- uses: ./
with:
tool: ${{ steps.tool-list.outputs.tool }}
tool: ${{ matrix.tool }}
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell
- name: Test bash
run: just --version; shfmt --version; protoc --version
@@ -96,17 +99,26 @@ jobs:
container:
- ubuntu:18.04 # glibc 2.27
- ubuntu:20.04 # glibc 2.31
- ubuntu:22.04 # glibc 2.35
- debian:10-slim # glibc 2.28
- debian:11-slim # glibc 2.31
- debian:12-slim # glibc 2.36
- fedora:latest # glibc 2.37 (as of fedora 38)
- rockylinux:8 # glibc 2.28
- rockylinux:8-minimal # glibc 2.28
- rockylinux:9 # glibc 2.34
- rockylinux:9-minimal # glibc 2.34
- centos:7 # glibc 2.17
- alpine:latest # musl 1.2.4 (as of alpine 3.18)
tool:
# valgrind: installing snap to container is difficult...
- 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
include:
- container: ubuntu:22.04 # glibc 2.35
# cargo-udeps depends on openssl 1.1
tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,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
- container: fedora:latest # glibc 2.36 (as of fedora 37)
# cargo-udeps depends on openssl 1.1
tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,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
- container: centos:7 # glibc 2.17
# cargo-udeps,protoc,valgrind,wasmtime,mdbook-linkcheck,cargo-watch,zola don't provide prebuilt binaries for musl or old glibc host.
tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,shellcheck,shfmt,wasm-pack,mdbook,cargo-binstall,grcov,watchexec-cli,cargo-tarpaulin
- container: alpine:latest # musl 1.2.3 (as of alpine 3.17)
# cargo-udeps,protoc,valgrind,wasmtime,mdbook-linkcheck,cargo-watch,zola don't provide prebuilt binaries for musl host.
tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,shellcheck,shfmt,wasm-pack,mdbook,cargo-binstall,grcov,watchexec-cli,cargo-tarpaulin
runs-on: ubuntu-latest
timeout-minutes: 60
container: ${{ matrix.container }}
@@ -115,7 +127,7 @@ jobs:
run: |
set -euxo pipefail
apt-get -o Acquire::Retries=10 -qq update
apt-get -o Acquire::Retries=10 -o Dpkg::Use-Pty=0 install -y --no-install-recommends cargo
apt-get -o Acquire::Retries=10 -qq -o Dpkg::Use-Pty=0 install -y --no-install-recommends cargo
if: startsWith(matrix.container, 'ubuntu') || startsWith(matrix.container, 'debian')
- name: Install requirements (fedora/rockylinux)
run: |
@@ -144,12 +156,9 @@ jobs:
persist-credentials: false
# cross attempts to install rust-src when Cargo.toml is available even if `cross --version`
- run: rm Cargo.toml
- name: Generate tool list
id: tool-list
run: tools/ci/tool-list.sh >>"${GITHUB_OUTPUT}"
- uses: ./
with:
tool: ${{ steps.tool-list.outputs.tool }}
tool: ${{ matrix.tool }}
manifest:
runs-on: ubuntu-latest
@@ -166,15 +175,19 @@ jobs:
- run: tools/manifest.sh
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: git add -N . && git diff --exit-code
if: github.repository_owner != 'taiki-e' || github.event_name != 'schedule' && !(github.event_name == 'push' && github.ref == 'refs/heads/main')
- id: diff
run: tools/ci/manifest.sh
run: ci/manifest.sh
if: github.repository_owner == 'taiki-e' && (github.event_name == 'schedule' || github.event_name == 'push' && github.ref == 'refs/heads/main')
- uses: peter-evans/create-pull-request@v5
- uses: taiki-e/create-pull-request@v4
with:
title: Update manifest
body: |
Auto-generated by [create-pull-request](https://github.com/peter-evans/create-pull-request)
Auto-generated by [create-pull-request][1]
[Please close and immediately reopen this pull request to run CI.][2]
[1]: https://github.com/peter-evans/create-pull-request
[2]: https://github.com/peter-evans/create-pull-request/blob/HEAD/docs/concepts-guidelines.md#workarounds-to-trigger-further-workflow-runs
branch: update-manifest
token: ${{ secrets.CREATE_PR_TOKEN }}
if: github.repository_owner == 'taiki-e' && (github.event_name == 'schedule' || github.event_name == 'push' && github.ref == 'refs/heads/main') && steps.diff.outputs.success == 'false'
- run: git add -N . && git diff --exit-code

View File

@@ -29,3 +29,4 @@ jobs:
title: $version
branch: 'main|v[0-9]+'
token: ${{ secrets.GITHUB_TOKEN }}
- run: ci/publish.sh

View File

@@ -10,382 +10,6 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
## [Unreleased]
## [2.15.3] - 2023-08-14
- Update `cargo-minimal-versions@latest` to 0.1.14.
- Update `cargo-llvm-cov@latest` to 0.5.27.
## [2.15.2] - 2023-08-12
- Update `cargo-llvm-cov@latest` to 0.5.26.
## [2.15.1] - 2023-08-11
- Update `cargo-binstall@latest` to 1.2.1.
## [2.15.0] - 2023-08-10
- Update `cargo-binstall@latest` to 1.2.0.
- Update `cargo-make@latest` to 0.36.13.
## [2.14.3] - 2023-08-09
- Update `protoc@latest` to 3.24.0.
- Update `parse-changelog@latest` to 0.6.2.
## [2.14.2] - 2023-08-06
- Update `cargo-llvm-cov@latest` to 0.5.25.
- Update `cargo-hack@latest` to 0.5.29.
## [2.14.1] - 2023-08-06
- Update `mdbook@latest` to 0.4.34.
## [2.14.0] - 2023-08-05
- Use `cargo-binstall` to install `nextest`. ([#183](https://github.com/taiki-e/install-action/pull/183))
This is a change made in response to the request from the nextest maintainer, which potentially increases the installation time of nextest and the possibility of network errors during installation.
If you encounter network errors, you should usually be able to work around them by setting `GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}` environment variable.
## [2.13.6] - 2023-08-04
- Update `mdbook@latest` to 0.4.33.
## [2.13.5] - 2023-08-03
- Update `cargo-nextest@latest` to 0.9.57.
## [2.13.4] - 2023-08-02
- Update `cargo-nextest@latest` to 0.9.56.
- Update `cargo-deny@latest` to 0.14.1.
## [2.13.3] - 2023-08-01
- Update `dprint@latest` to 0.40.2.
## [2.13.2] - 2023-08-01
- Update `syft@latest` to 0.86.1.
## [2.13.1] - 2023-07-31
- Update `dprint@latest` to 0.40.1.
## [2.13.0] - 2023-07-31
- Support `cargo-careful`. ([#173](https://github.com/taiki-e/install-action/pull/173))
- Improve performance and robustness for cases where the host environment lacks the packages required for installation, such as containers or self-hosted runners.
## [2.12.23] - 2023-07-31
- Update `dprint@latest` to 0.40.0.
## [2.12.22] - 2023-07-30
- Update `cargo-nextest@latest` to 0.9.55.
## [2.12.21] - 2023-07-28
- Update `cargo-no-dev-deps@latest` to 0.2.3.
- Update `cargo-minimal-versions@latest` to 0.1.13.
- Update `cargo-llvm-cov@latest` to 0.5.24.
## [2.12.20] - 2023-07-28
- Update `cargo-deny@latest` to 0.14.0.
## [2.12.19] - 2023-07-27
- Update `cargo-tarpaulin@latest` to 0.26.1.
- Fix checksum error with `cargo-tarpaulin@0.26.0`. ([#167](https://github.com/taiki-e/install-action/pull/167))
## [2.12.18] - 2023-07-25
- Update `wasmtime@latest` to 11.0.1.
## [2.12.17] - 2023-07-22
- Update `cargo-binstall@latest` to 1.1.2.
## [2.12.16] - 2023-07-21
- Update `wasmtime@latest` to 11.0.0.
- Update `cargo-udeps@latest` to 0.1.41.
## [2.12.15] - 2023-07-20
- Update `cargo-make@latest` to 0.36.12.
- Update `cargo-binstall@latest` to 1.1.1.
## [2.12.14] - 2023-07-19
- Update `cargo-binstall@latest` to 1.1.0.
## [2.12.13] - 2023-07-18
- Slightly improve the time taken to install tools distributed as `.zip`.
## [2.12.12] - 2023-07-17
- Update `mdbook@latest` to 0.4.32.
## [2.12.11] - 2023-07-13
- Update `syft@latest` to 0.85.0.
- Update `dprint@latest` to 0.39.1.
## [2.12.10] - 2023-07-09
- Update `dprint@latest` to 0.39.0.
## [2.12.9] - 2023-07-08
- Update `cargo-llvm-cov@latest` to 0.5.23.
## [2.12.8] - 2023-07-07
- Update `protoc@latest` to 3.23.4.
## [2.12.7] - 2023-07-04
- Update `parse-changelog@latest` to 0.6.1.
- Update `dprint@latest` to 0.38.3.
## [2.12.6] - 2023-07-03
- Update `dprint@latest` to 0.38.1.
## [2.12.5] - 2023-07-02
- Update `dprint@latest` to 0.38.0.
## [2.12.4] - 2023-06-30
- Update `syft@latest` to 0.84.1.
- Update `mdbook@latest` to 0.4.31.
- Update `cargo-llvm-cov@latest` to 0.5.22.
## [2.12.3] - 2023-06-28
- Update `wasm-pack@latest` to 0.12.1.
- Update `cargo-binstall@latest` to 1.0.0.
## [2.12.2] - 2023-06-26
- Update `cargo-nextest@latest` to 0.9.54.
## [2.12.1] - 2023-06-26
- Update `parse-changelog@latest` to 0.6.0.
## [2.12.0] - 2023-06-26
- Support `cargo-make`. ([#146](https://github.com/taiki-e/install-action/pull/146), thanks @joshka)
## [2.11.6] - 2023-06-22
- Update `wasmtime@latest` to 10.0.1.
## [2.11.5] - 2023-06-21
- Update `wasmtime@latest` to 10.0.0.
- Update `syft@latest` to 0.84.0.
## [2.11.4] - 2023-06-19
- Update `wasm-pack@latest` to 0.12.0.
- Update `shfmt@latest` to 3.7.0.
## [2.11.3] - 2023-06-17
- Update `cargo-tarpaulin@latest` to 0.26.0.
## [2.11.2] - 2023-06-15
- Update `syft@latest` to 0.83.1.
- Update `protoc@latest` to 3.23.3.
## [2.11.1] - 2023-06-14
- Update `wasmtime@latest` to 9.0.4.
## [2.11.0] - 2023-06-10
- Support `cargo-dinghy`. ([#133](https://github.com/taiki-e/install-action/pull/133), thanks @notgull)
## [2.10.0] - 2023-06-10
- Support `syft`. ([#135](https://github.com/taiki-e/install-action/pull/135), thanks @FirelightFlagboy)
## [2.9.4] - 2023-06-08
- Update `parse-changelog@latest` to 0.5.4.
## [2.9.3] - 2023-06-05
- Update `cargo-udeps@latest` to 0.1.40.
## [2.9.2] - 2023-06-03
- Update `just@latest` to 1.14.0.
- Update `dprint@latest` to 0.37.1.
- Update `cargo-llvm-cov@latest` to 0.5.20.
## [2.9.1] - 2023-06-01
- Update `wasmtime@latest` to 9.0.3.
## [2.9.0] - 2023-05-29
- Update `mdbook@latest` to 0.4.30.
- Make cargo-binstall fallback more robust. ([#124](https://github.com/taiki-e/install-action/pull/124), thanks @NobodyXu)
## [2.8.8] - 2023-05-27
- Update `wasmtime@latest` to 9.0.2.
- Update `protoc@latest` to 3.23.2.
- Update `cargo-binstall@latest` to 0.23.1.
## [2.8.7] - 2023-05-23
- Update `wasmtime@latest` to 9.0.1.
## [2.8.6] - 2023-05-18
- Update `protoc@latest` to 3.23.1.
## [2.8.5] - 2023-05-16
- Update `cargo-nextest@latest` to 0.9.53.
## [2.8.4] - 2023-05-14
- Update `mdbook@latest` to 0.4.29.
## [2.8.3] - 2023-05-12
- Update `wasm-pack@latest` to 0.11.1.
## [2.8.2] - 2023-05-09
- Update `protoc@latest` to 3.23.0.
## [2.8.1] - 2023-05-06
- Update `protoc@latest` to 3.22.4.
- Update `dprint@latest` to 0.36.1.
- Update `cargo-udeps@latest` to 0.1.39.
- Update `cargo-nextest@latest` to 0.9.52.
- Support `cargo-udeps` on x86_64 Linux (musl) and aarch64 Linux/macOS/Windows.
## [2.8.0] - 2023-05-03
- Trim whitespace from tool names. ([#115](https://github.com/taiki-e/install-action/pull/115))
## [2.7.2] - 2023-04-28
- Update `cargo-llvm-cov@latest` to 0.5.19.
## [2.7.1] - 2023-04-28
- Update `wasmtime@latest` to 8.0.1.
## [2.7.0] - 2023-04-27
- Update `grcov@latest` to 0.8.18.
- Update `cargo-binstall@latest` to 0.23.0.
## [2.6.19] - 2023-04-25
- Update `cargo-llvm-cov@latest` to 0.5.18.
## [2.6.18] - 2023-04-21
- Update `cargo-llvm-cov@latest` to 0.5.17.
## [2.6.17] - 2023-04-20
- Update `wasmtime@latest` to 8.0.0.
## [2.6.16] - 2023-04-18
- Update `cargo-llvm-cov@latest` to 0.5.16.
## [2.6.15] - 2023-04-18
- Update `dprint@latest` to 0.36.0.
## [2.6.14] - 2023-04-16
- Update `cargo-minimal-versions@latest` to 0.1.12.
- Update `cargo-llvm-cov@latest` to 0.5.15.
## [2.6.13] - 2023-04-13
- Update `protoc@latest` to 3.22.3.
## [2.6.12] - 2023-04-12
- Update `cargo-deny@latest` to 0.13.9.
## [2.6.11] - 2023-04-11
- Update `dprint@latest` to 0.35.4.
## [2.6.10] - 2023-04-07
- Update `cargo-deny@latest` to 0.13.8.
## [2.6.9] - 2023-04-05
- Update `cargo-llvm-cov@latest` to 0.5.14.
## [2.6.8] - 2023-04-05
- Update `cargo-tarpaulin@latest` to 0.25.2.
## [2.6.7] - 2023-04-04
- Update `cargo-llvm-cov@latest` to 0.5.13.
## [2.6.6] - 2023-04-02
- Update `cargo-llvm-cov@latest` to 0.5.12.
## [2.6.5] - 2023-03-25
- Update `cargo-binstall@latest` to 0.22.0.
@@ -1075,85 +699,7 @@ Note: This release is considered a breaking change because installing on version
Initial release
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.15.3...HEAD
[2.15.3]: https://github.com/taiki-e/install-action/compare/v2.15.2...v2.15.3
[2.15.2]: https://github.com/taiki-e/install-action/compare/v2.15.1...v2.15.2
[2.15.1]: https://github.com/taiki-e/install-action/compare/v2.15.0...v2.15.1
[2.15.0]: https://github.com/taiki-e/install-action/compare/v2.14.3...v2.15.0
[2.14.3]: https://github.com/taiki-e/install-action/compare/v2.14.2...v2.14.3
[2.14.2]: https://github.com/taiki-e/install-action/compare/v2.14.1...v2.14.2
[2.14.1]: https://github.com/taiki-e/install-action/compare/v2.14.0...v2.14.1
[2.14.0]: https://github.com/taiki-e/install-action/compare/v2.13.6...v2.14.0
[2.13.6]: https://github.com/taiki-e/install-action/compare/v2.13.5...v2.13.6
[2.13.5]: https://github.com/taiki-e/install-action/compare/v2.13.4...v2.13.5
[2.13.4]: https://github.com/taiki-e/install-action/compare/v2.13.3...v2.13.4
[2.13.3]: https://github.com/taiki-e/install-action/compare/v2.13.2...v2.13.3
[2.13.2]: https://github.com/taiki-e/install-action/compare/v2.13.1...v2.13.2
[2.13.1]: https://github.com/taiki-e/install-action/compare/v2.13.0...v2.13.1
[2.13.0]: https://github.com/taiki-e/install-action/compare/v2.12.23...v2.13.0
[2.12.23]: https://github.com/taiki-e/install-action/compare/v2.12.22...v2.12.23
[2.12.22]: https://github.com/taiki-e/install-action/compare/v2.12.21...v2.12.22
[2.12.21]: https://github.com/taiki-e/install-action/compare/v2.12.20...v2.12.21
[2.12.20]: https://github.com/taiki-e/install-action/compare/v2.12.19...v2.12.20
[2.12.19]: https://github.com/taiki-e/install-action/compare/v2.12.18...v2.12.19
[2.12.18]: https://github.com/taiki-e/install-action/compare/v2.12.17...v2.12.18
[2.12.17]: https://github.com/taiki-e/install-action/compare/v2.12.16...v2.12.17
[2.12.16]: https://github.com/taiki-e/install-action/compare/v2.12.15...v2.12.16
[2.12.15]: https://github.com/taiki-e/install-action/compare/v2.12.14...v2.12.15
[2.12.14]: https://github.com/taiki-e/install-action/compare/v2.12.13...v2.12.14
[2.12.13]: https://github.com/taiki-e/install-action/compare/v2.12.12...v2.12.13
[2.12.12]: https://github.com/taiki-e/install-action/compare/v2.12.11...v2.12.12
[2.12.11]: https://github.com/taiki-e/install-action/compare/v2.12.10...v2.12.11
[2.12.10]: https://github.com/taiki-e/install-action/compare/v2.12.9...v2.12.10
[2.12.9]: https://github.com/taiki-e/install-action/compare/v2.12.8...v2.12.9
[2.12.8]: https://github.com/taiki-e/install-action/compare/v2.12.7...v2.12.8
[2.12.7]: https://github.com/taiki-e/install-action/compare/v2.12.6...v2.12.7
[2.12.6]: https://github.com/taiki-e/install-action/compare/v2.12.5...v2.12.6
[2.12.5]: https://github.com/taiki-e/install-action/compare/v2.12.4...v2.12.5
[2.12.4]: https://github.com/taiki-e/install-action/compare/v2.12.3...v2.12.4
[2.12.3]: https://github.com/taiki-e/install-action/compare/v2.12.2...v2.12.3
[2.12.2]: https://github.com/taiki-e/install-action/compare/v2.12.1...v2.12.2
[2.12.1]: https://github.com/taiki-e/install-action/compare/v2.12.0...v2.12.1
[2.12.0]: https://github.com/taiki-e/install-action/compare/v2.11.6...v2.12.0
[2.11.6]: https://github.com/taiki-e/install-action/compare/v2.11.5...v2.11.6
[2.11.5]: https://github.com/taiki-e/install-action/compare/v2.11.4...v2.11.5
[2.11.4]: https://github.com/taiki-e/install-action/compare/v2.11.3...v2.11.4
[2.11.3]: https://github.com/taiki-e/install-action/compare/v2.11.2...v2.11.3
[2.11.2]: https://github.com/taiki-e/install-action/compare/v2.11.1...v2.11.2
[2.11.1]: https://github.com/taiki-e/install-action/compare/v2.11.0...v2.11.1
[2.11.0]: https://github.com/taiki-e/install-action/compare/v2.10.0...v2.11.0
[2.10.0]: https://github.com/taiki-e/install-action/compare/v2.9.4...v2.10.0
[2.9.4]: https://github.com/taiki-e/install-action/compare/v2.9.3...v2.9.4
[2.9.3]: https://github.com/taiki-e/install-action/compare/v2.9.2...v2.9.3
[2.9.2]: https://github.com/taiki-e/install-action/compare/v2.9.1...v2.9.2
[2.9.1]: https://github.com/taiki-e/install-action/compare/v2.9.0...v2.9.1
[2.9.0]: https://github.com/taiki-e/install-action/compare/v2.8.8...v2.9.0
[2.8.8]: https://github.com/taiki-e/install-action/compare/v2.8.7...v2.8.8
[2.8.7]: https://github.com/taiki-e/install-action/compare/v2.8.6...v2.8.7
[2.8.6]: https://github.com/taiki-e/install-action/compare/v2.8.5...v2.8.6
[2.8.5]: https://github.com/taiki-e/install-action/compare/v2.8.4...v2.8.5
[2.8.4]: https://github.com/taiki-e/install-action/compare/v2.8.3...v2.8.4
[2.8.3]: https://github.com/taiki-e/install-action/compare/v2.8.2...v2.8.3
[2.8.2]: https://github.com/taiki-e/install-action/compare/v2.8.1...v2.8.2
[2.8.1]: https://github.com/taiki-e/install-action/compare/v2.8.0...v2.8.1
[2.8.0]: https://github.com/taiki-e/install-action/compare/v2.7.2...v2.8.0
[2.7.2]: https://github.com/taiki-e/install-action/compare/v2.7.1...v2.7.2
[2.7.1]: https://github.com/taiki-e/install-action/compare/v2.7.0...v2.7.1
[2.7.0]: https://github.com/taiki-e/install-action/compare/v2.6.19...v2.7.0
[2.6.19]: https://github.com/taiki-e/install-action/compare/v2.6.18...v2.6.19
[2.6.18]: https://github.com/taiki-e/install-action/compare/v2.6.17...v2.6.18
[2.6.17]: https://github.com/taiki-e/install-action/compare/v2.6.16...v2.6.17
[2.6.16]: https://github.com/taiki-e/install-action/compare/v2.6.15...v2.6.16
[2.6.15]: https://github.com/taiki-e/install-action/compare/v2.6.14...v2.6.15
[2.6.14]: https://github.com/taiki-e/install-action/compare/v2.6.13...v2.6.14
[2.6.13]: https://github.com/taiki-e/install-action/compare/v2.6.12...v2.6.13
[2.6.12]: https://github.com/taiki-e/install-action/compare/v2.6.11...v2.6.12
[2.6.11]: https://github.com/taiki-e/install-action/compare/v2.6.10...v2.6.11
[2.6.10]: https://github.com/taiki-e/install-action/compare/v2.6.9...v2.6.10
[2.6.9]: https://github.com/taiki-e/install-action/compare/v2.6.8...v2.6.9
[2.6.8]: https://github.com/taiki-e/install-action/compare/v2.6.7...v2.6.8
[2.6.7]: https://github.com/taiki-e/install-action/compare/v2.6.6...v2.6.7
[2.6.6]: https://github.com/taiki-e/install-action/compare/v2.6.5...v2.6.6
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.6.5...HEAD
[2.6.5]: https://github.com/taiki-e/install-action/compare/v2.6.4...v2.6.5
[2.6.4]: https://github.com/taiki-e/install-action/compare/v2.6.3...v2.6.4
[2.6.3]: https://github.com/taiki-e/install-action/compare/v2.6.2...v2.6.3

View File

@@ -2,33 +2,46 @@
## Add support for new tool
(Example: [ffbd316](https://github.com/taiki-e/install-action/commit/ffbd316e0fe98cb460dae3a66cd2ef9deb398bb1))
(Example: [2ba826d](https://github.com/taiki-e/install-action/commit/2ba826d3ded42d6fa480b6bb82810d1282aa3460))
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.
1\. Add base manifest to [`tools/codegen/base`](tools/codegen/base) directory.
See JSON files in `tools/codegen/base` directory for examples of the manifest.
3\. Generate manifest with the following command (replace `<tool>` with the tool name).
2\. Generate manifest with the following command (replace `<tool>` with the tool name).
```sh
./tools/manifest.sh <tool>
```
> If you're having problem with github api rate limit, you can use your GITHUB_TOKEN to increase the rate limit.
> If you have `Github CLI` installed (the command `gh`), you can:
>
> ```shell
> 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 table in "Supported tools" section in `README.md`.
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.
## Release new version
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`.
Note: This is a guide for maintainers.
### Minor version vs patch version
Increase the patch version if only the following changes are included.
- Update the `@latest` version of the tool.
Rationale: Normally, tool versions are controlled by the `@<version>` syntax, which is explicitly separated from the versioning of the install-action itself.
Exception: If the major or minor version of the `cargo-binstall` is updated, the minor version should be increased because the behavior of the fallback may change slightly.
- Fix regressions or minor bugs.
Rationale: Semantic Versioning.
- Improve documentation or diagnostics.
Rationale: Semantic Versioning.
Increase the minor version otherwise.
### Release instructions
TODO: current release script assumes admin permissions

View File

@@ -9,7 +9,6 @@ GitHub Action for installing development tools (mainly from GitHub Releases).
- [Inputs](#inputs)
- [Example workflow](#example-workflow)
- [Supported tools](#supported-tools)
- [Add support for new tool](#add-support-for-new-tool)
- [Security](#security)
- [Compatibility](#compatibility)
- [Related Projects](#related-projects)
@@ -83,42 +82,34 @@ https://spdx.org/licenses
| ---- | -------------------------------- | ------------------------------- | ------------------ | ------- |
| [**cargo-binstall**][cargo-binstall] | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/cargo-bins/cargo-binstall/releases) | Linux, macOS, Windows | [GPL-3.0](https://github.com/cargo-bins/cargo-binstall/blob/HEAD/crates/bin/LICENSE) |
| [**cargo-deny**](https://github.com/EmbarkStudios/cargo-deny) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/EmbarkStudios/cargo-deny/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/EmbarkStudios/cargo-deny/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/EmbarkStudios/cargo-deny/blob/HEAD/LICENSE-MIT) |
| [**cargo-careful**](https://github.com/RalfJung/cargo-careful) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/RalfJung/cargo-careful/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/RalfJung/cargo-careful/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/RalfJung/cargo-careful/blob/HEAD/LICENSE-MIT) |
| [**cargo-dinghy**](https://github.com/sonos/dinghy) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/sonos/dinghy/releases) | Linux, macOS | [Apache-2.0](https://github.com/sonos/dinghy/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/sonos/dinghy/blob/HEAD/LICENSE-MIT) |
| [**cargo-hack**](https://github.com/taiki-e/cargo-hack) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/cargo-hack/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/cargo-hack/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-hack/blob/HEAD/LICENSE-MIT) |
| [**cargo-llvm-cov**](https://github.com/taiki-e/cargo-llvm-cov) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/cargo-llvm-cov/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/cargo-llvm-cov/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-llvm-cov/blob/HEAD/LICENSE-MIT) |
| [**cargo-make**](https://github.com/sagiegurari/cargo-make) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/sagiegurari/cargo-make/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/sagiegurari/cargo-make/blob/master/LICENSE) |
| [**cargo-minimal-versions**](https://github.com/taiki-e/cargo-minimal-versions) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/cargo-minimal-versions/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/cargo-minimal-versions/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-minimal-versions/blob/HEAD/LICENSE-MIT) |
| [**cargo-no-dev-deps**](https://github.com/taiki-e/cargo-no-dev-deps) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/cargo-no-dev-deps/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/cargo-no-dev-deps/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-no-dev-deps/blob/HEAD/LICENSE-MIT) |
| [**cargo-tarpaulin**](https://github.com/xd009642/tarpaulin) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/xd009642/tarpaulin/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/xd009642/tarpaulin/blob/develop/LICENSE-APACHE) OR [MIT](https://github.com/xd009642/tarpaulin/blob/develop/LICENSE-MIT) |
| [**cargo-udeps**](https://github.com/est31/cargo-udeps) | `$CARGO_HOME/bin` | [GitHub Release](https://github.com/est31/cargo-udeps/releases) | Linux, macOS, Windows | [Apache-2.0 OR MIT](https://github.com/est31/cargo-udeps/blob/HEAD/LICENSE) |
| [**cargo-valgrind**](https://github.com/jfrimmel/cargo-valgrind) | `$CARGO_HOME/bin` | [GitHub Release](https://github.com/jfrimmel/cargo-valgrind/releases) | Linux, macOS, Windows | [MIT](https://github.com/jfrimmel/cargo-valgrind/blob/HEAD/LICENSE-MIT) or [Apache-2.0](https://github.com/jfrimmel/cargo-valgrind/blob/HEAD/LICENSE-APACHE) |
| [**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-udeps**](https://github.com/est31/cargo-udeps) | `$CARGO_HOME/bin` | [GitHub Release](https://github.com/est31/cargo-udeps/releases) | Linux, macOS, Windows | [Apache-2.0 OR MIT](https://github.com/est31/cargo-udeps/blob/master/LICENSE) |
| [**cargo-valgrind**](https://github.com/jfrimmel/cargo-valgrind) | `$CARGO_HOME/bin` | [GitHub Release](https://github.com/jfrimmel/cargo-valgrind/releases) | Linux, macOS, Windows | [MIT](https://github.com/jfrimmel/cargo-valgrind/blob/master/LICENSE-MIT) or [Apache-2.0](https://github.com/jfrimmel/cargo-valgrind/blob/master/LICENSE-APACHE) |
| [**cross**](https://github.com/cross-rs/cross) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/cross-rs/cross/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/cross-rs/cross/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/cross-rs/cross/blob/HEAD/LICENSE-MIT) |
| [**dprint**](https://github.com/dprint/dprint) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/dprint/dprint/releases) | Linux, macOS, Windows | [MIT](https://github.com/dprint/dprint/blob/HEAD/LICENSE) |
| [**grcov**](https://github.com/mozilla/grcov) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/mozilla/grcov/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/mozilla/grcov/blob/HEAD/LICENSE-MPL-2.0) |
| [**grcov**](https://github.com/mozilla/grcov) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/mozilla/grcov/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/mozilla/grcov/blob/master/LICENSE-MPL-2.0) |
| [**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) |
| [**dprint**](https://github.com/dprint/dprint) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/dprint/dprint/releases) | Linux, macOS, Windows | [MIT](https://github.com/dprint/dprint/blob/HEAD/LICENSE) |
| [**mdbook-linkcheck**](https://github.com/Michael-F-Bryan/mdbook-linkcheck) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/Michael-F-Bryan/mdbook-linkcheck/releases) | Linux, macOS, Windows | [MIT](https://github.com/Michael-F-Bryan/mdbook-linkcheck/blob/HEAD/LICENSE) |
| [**mdbook**](https://github.com/rust-lang/mdBook) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rust-lang/mdBook/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/rust-lang/mdBook/blob/HEAD/LICENSE) |
| [**nextest**](https://github.com/nextest-rs/nextest) (alias: `cargo-nextest`) | `$CARGO_HOME/bin` | 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) |
| [**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) |
| [**parse-changelog**](https://github.com/taiki-e/parse-changelog) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/parse-changelog/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/parse-changelog/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/parse-changelog/blob/HEAD/LICENSE-MIT) |
| [**protoc**](https://github.com/protocolbuffers/protobuf) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/protocolbuffers/protobuf/releases) | Linux, macOS, Windows | [BSD-3-Clause](https://github.com/protocolbuffers/protobuf/blob/HEAD/LICENSE) |
| [**shellcheck**](https://www.shellcheck.net) | `/usr/local/bin` | [GitHub Releases](https://github.com/koalaman/shellcheck/releases) | Linux, macOS, Windows | [GPL-3.0-or-later](https://github.com/koalaman/shellcheck/blob/HEAD/LICENSE) |
| [**shfmt**](https://github.com/mvdan/sh) | `/usr/local/bin` | [GitHub Releases](https://github.com/mvdan/sh/releases) | Linux, macOS, Windows | [BSD-3-Clause](https://github.com/mvdan/sh/blob/HEAD/LICENSE) |
| [**syft**](https://github.com/anchore/syft) | `/usr/local/bin` | [Github Releases](https://github.com/anchore/syft/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/anchore/syft/blob/main/LICENSE) |
| [**valgrind**](https://valgrind.org) | `/snap/bin` | [snap](https://snapcraft.io/install/valgrind/ubuntu) | Linux | [GPL-2.0-or-later](https://valgrind.org/docs/manual/license.gpl.html) |
| [**wasm-pack**](https://github.com/rustwasm/wasm-pack) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rustwasm/wasm-pack/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/rustwasm/wasm-pack/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/rustwasm/wasm-pack/blob/HEAD/LICENSE-MIT) |
| [**wasmtime**](https://github.com/bytecodealliance/wasmtime) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/bytecodealliance/wasmtime/releases) | Linux, macOS, Windows | [Apache-2.0 WITH LLVM-exception](https://github.com/bytecodealliance/wasmtime/blob/HEAD/LICENSE) |
| [**zola**](https://github.com/getzola/zola) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/getzola/zola/releases) | Linux, macOS, Windows | [MIT](https://github.com/getzola/zola/blob/HEAD/LICENSE) |
| [**zola**](https://github.com/getzola/zola) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/getzola/zola/releases) | Linux, macOS, Windows | [MIT](https://github.com/getzola/zola/blob/master/LICENSE) |
If `$CARGO_HOME/bin` is not available, Rust-related binaries will be installed to `$HOME/.cargo/bin`.<br>
If `$HOME/.cargo/bin` is not available, Rust-related binaries will be installed to `/usr/local/bin`.<br>
If `/usr/local/bin` is not available, binaries will be installed to `$HOME/.install-action/bin`.<br>
**If a tool not included in the list above is specified, this action uses [cargo-binstall] as a fallback.**
### Add support for new tool
See the [development guide](DEVELOPMENT.md) for how to add support for new tool.
If a tool not included in the list above is specified, this action uses [cargo-binstall] as a fallback.
## Security

View File

@@ -1,8 +1,7 @@
#!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0 OR MIT
set -euo pipefail
set -euxo pipefail
IFS=$'\n\t'
cd "$(dirname "$0")"/../..
cd "$(dirname "$0")"/..
bail() {
echo >&2 "error: $*"
@@ -16,12 +15,10 @@ fi
git config user.name "Taiki Endo"
git config user.email "te316e89@gmail.com"
set -x
for manifest in manifests/*.json; do
git add -N "${manifest}"
if ! git diff --exit-code -- "${manifest}"; then
name=$(basename "${manifest%.*}")
name="$(basename "${manifest%.*}")"
git stash
old_version=$(jq -r '.latest.version' "${manifest}")
git stash pop

74
ci/publish.sh Executable file
View File

@@ -0,0 +1,74 @@
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
cd "$(dirname "$0")"/..
# shellcheck disable=SC2154
trap 's=$?; echo >&2 "$0: Error on line "${LINENO}": ${BASH_COMMAND}"; exit ${s}' ERR
bail() {
echo >&2 "error: $*"
exit 1
}
if [[ -z "${CI:-}" ]]; then
bail "this script is intended to call from release workflow on CI"
fi
ref="${GITHUB_REF:-}"
if [[ "${ref}" != "refs/tags/"* ]]; then
bail "tag ref should start with 'refs/tags/'"
fi
tag="${ref#refs/tags/}"
git config user.name "Taiki Endo"
git config user.email "te316e89@gmail.com"
version="${tag}"
version="${version#v}"
tools=()
for tool in tools/codegen/base/*.json; do
tools+=("$(basename "${tool%.*}")")
done
# Aliases
tools+=(nextest)
# Not manifest-base
tools+=(valgrind)
(
set -x
major_version_tag="v${version%%.*}"
git checkout -b "${major_version_tag}"
git push origin refs/heads/"${major_version_tag}"
if git --no-pager tag | grep -Eq "^${major_version_tag}$"; then
git tag -d "${major_version_tag}"
git push --delete origin refs/tags/"${major_version_tag}"
fi
git tag "${major_version_tag}"
git checkout main
git branch -d "${major_version_tag}"
)
for tool in "${tools[@]}"; do
(
set -x
git checkout -b "${tool}"
sed -i -e "s/required: true/required: false/g" action.yml
sed -i -e "s/# default: #publish:tool/default: ${tool}/g" action.yml
git add action.yml
git commit -m "${tool}"
git push origin -f refs/heads/"${tool}"
if git --no-pager tag | grep -Eq "^${tool}$"; then
git tag -d "${tool}"
git push --delete origin refs/tags/"${tool}"
fi
git tag "${tool}"
git checkout main
git branch -D "${tool}"
)
done
set -x
git push origin --tags

147
main.sh
View File

@@ -1,5 +1,4 @@
#!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0 OR MIT
set -euo pipefail
IFS=$'\n\t'
@@ -78,11 +77,7 @@ download_and_extract() {
tar_args+=("xjf")
if ! type -P bzip2 &>/dev/null; then
case "${base_distro}" in
debian | alpine | fedora)
echo "::group::Install packages required for installation (bzip2)"
sys_install bzip2
echo "::endgroup::"
;;
debian | alpine | fedora) sys_install bzip2 ;;
esac
fi
;;
@@ -90,27 +85,15 @@ download_and_extract() {
tar_args+=("xJf")
if ! type -P xz &>/dev/null; then
case "${base_distro}" in
debian)
echo "::group::Install packages required for installation (xz-utils)"
sys_install xz-utils
echo "::endgroup::"
;;
alpine | fedora)
echo "::group::Install packages required for installation (xz)"
sys_install xz
echo "::endgroup::"
;;
debian) sys_install xz-utils ;;
alpine | fedora) sys_install xz ;;
esac
fi
;;
*.zip)
if ! type -P unzip &>/dev/null; then
case "${base_distro}" in
debian | alpine | fedora)
echo "::group::Install packages required for installation (unzip)"
sys_install unzip
echo "::endgroup::"
;;
debian | alpine | fedora) sys_install unzip ;;
esac
fi
;;
@@ -131,7 +114,7 @@ download_and_extract() {
else
case "${url}" in
*.zip)
unzip -q tmp "${bin_in_archive#\./}"
unzip tmp
mv "${bin_in_archive}" "${bin_dir}/"
;;
*) mv tmp "${installed_bin}" ;;
@@ -152,7 +135,6 @@ read_manifest() {
local tool="$1"
local version="$2"
local manifest
rust_crate=$(jq -r ".rust_crate" "${manifest_dir}/${tool}.json")
manifest=$(jq -r ".\"${version}\"" "${manifest_dir}/${tool}.json")
if [[ "${manifest}" == "null" ]]; then
download_info="null"
@@ -178,6 +160,21 @@ read_manifest() {
# TODO: However, a warning may make sense.
host_platform="${host_arch}_linux_gnu"
download_info=$(jq <<<"${manifest}" -r ".${host_platform}")
elif [[ "${host_env}" == "gnu" ]]; then
# TODO: don't hardcode tool name and use 'prefer_linux_gnu' field in base manifest.
case "${tool}" in
cargo-nextest | nextest)
# TODO: don't hardcode required glibc version
required_glibc_version=2.27
higher_glibc_version=$(sort <<<"${required_glibc_version}"$'\n'"${host_glibc_version}" -Vu | tail -1)
if [[ "${higher_glibc_version}" == "${host_glibc_version}" ]]; then
# musl build of nextest is slow, so use glibc build if host_env is gnu.
# https://github.com/taiki-e/install-action/issues/13
host_platform="${host_arch}_linux_gnu"
download_info=$(jq <<<"${manifest}" -r ".${host_platform}")
fi
;;
esac
fi
;;
macos | windows)
@@ -206,14 +203,15 @@ read_download_info() {
template=$(jq -r ".template.${host_platform}" "${manifest_dir}/${tool}.json")
url=$(jq <<<"${template}" -r '.url')
url="${url//\$\{version\}/${exact_version}}"
bin_dir=$(jq <<<"${template}" -r '.bin_dir')
bin_dir="${bin_dir//\$\{version\}/${exact_version}}"
bin_in_archive=$(jq <<<"${template}" -r '.bin')
bin_in_archive="${bin_in_archive//\$\{version\}/${exact_version}}"
else
bin_dir=$(jq <<<"${download_info}" -r '.bin_dir')
bin_in_archive=$(jq <<<"${download_info}" -r '.bin')
fi
if [[ "${rust_crate}" == "null" ]]; then
bin_dir="/usr/local/bin"
else
if [[ "${bin_dir}" == "null" ]]; then
bin_dir="${cargo_bin}"
fi
if [[ "${bin_in_archive}" == "null" ]]; then
@@ -262,9 +260,9 @@ apt_install() {
apt_update
fi
if type -P sudo &>/dev/null; then
retry sudo apt-get -o Acquire::Retries=10 -o Dpkg::Use-Pty=0 install -y --no-install-recommends "$@"
retry sudo apt-get -o Acquire::Retries=10 -qq -o Dpkg::Use-Pty=0 install -y --no-install-recommends "$@"
else
retry apt-get -o Acquire::Retries=10 -o Dpkg::Use-Pty=0 install -y --no-install-recommends "$@"
retry apt-get -o Acquire::Retries=10 -qq -o Dpkg::Use-Pty=0 install -y --no-install-recommends "$@"
fi
}
apt_remove() {
@@ -325,10 +323,7 @@ manifest_dir="$(dirname "$0")/manifests"
tool="${INPUT_TOOL:-}"
tools=()
if [[ -n "${tool}" ]]; then
while read -rd,; do
t="${REPLY# *}"
tools+=("${t%* }")
done <<<"${tool},"
while read -rd,; do tools+=("${REPLY}"); done <<<"${tool},"
fi
if [[ ${#tools[@]} -eq 0 ]]; then
warn "no tool specified; this could be caused by a dependabot bug where @<tool_name> tags on this action are replaced by @<version> tags"
@@ -349,15 +344,22 @@ exe=""
case "$(uname -s)" in
Linux)
host_os=linux
ldd_version=$(ldd --version 2>&1 || true)
if grep <<<"${ldd_version}" -q 'musl'; then
host_env="musl"
else
host_env="gnu"
host_glibc_version=$(grep <<<"${ldd_version}" -E "GLIBC|GNU libc" | sed "s/.* //g")
fi
if grep -q '^ID_LIKE=' /etc/os-release; then
base_distro=$(grep '^ID_LIKE=' /etc/os-release | sed 's/^ID_LIKE=//')
base_distro="$(grep '^ID_LIKE=' /etc/os-release | sed 's/^ID_LIKE=//')"
case "${base_distro}" in
*debian*) base_distro=debian ;;
*alpine*) base_distro=alpine ;;
*fedora*) base_distro=fedora ;;
esac
else
base_distro=$(grep '^ID=' /etc/os-release | sed 's/^ID=//')
base_distro="$(grep '^ID=' /etc/os-release | sed 's/^ID=//')"
fi
case "${base_distro}" in
fedora)
@@ -392,7 +394,7 @@ case "$(uname -m)" in
# https://github.com/cross-rs/cross/pull/1018
# Does it seem only armv7l is supported?
# https://github.com/actions/runner/blob/caec043085990710070108f375cd0aeab45e1017/src/Misc/externals.sh#L174
bail "32-bit ARM runner is not supported yet by this action; if you need support for this platform, please submit an issue at <https://github.com/taiki-e/install-action>"
bail "32-bit ARM runner is not supported yet by this action"
;;
# GitHub Actions Runner supports Linux (x86_64, aarch64, arm), Windows (x86_64, aarch64),
# and macOS (x86_64, aarch64).
@@ -408,37 +410,21 @@ cargo_bin="${CARGO_HOME:-"${HOME}/.cargo"}/bin"
# If $CARGO_HOME does not exist, or cargo installed outside of $CARGO_HOME/bin
# is used ($CARGO_HOME/bin is most likely not included in the PATH), fallback to
# /usr/local/bin or $HOME/.install-action/bin.
if [[ ! -d "${cargo_bin}" ]] || { [[ "${host_os}" != "windows" ]] && [[ "$(type -P cargo || true)" != "${cargo_bin}/cargo${exe}" ]]; }; then
if [[ ! -d "${cargo_bin}" ]] || [[ "${host_os}" != "windows" ]] && [[ "$(type -P cargo || true)" != "${cargo_bin}/cargo${exe}" ]]; then
cargo_bin=/usr/local/bin
fi
if ! type -P jq &>/dev/null || ! type -P curl &>/dev/null || ! type -P tar &>/dev/null; then
case "${base_distro}" in
debian | fedora | alpine)
echo "::group::Install packages required for installation (jq, curl, and/or tar)"
sys_packages=()
if ! type -P curl &>/dev/null; then
sys_packages+=(ca-certificates curl)
fi
if ! type -P tar &>/dev/null; then
sys_packages+=(tar)
fi
if [[ "${dnf:-}" == "yum" ]]; then
debian | alpine) sys_install ca-certificates curl jq tar ;;
fedora)
if [[ "${dnf}" == "yum" ]]; then
# On RHEL7-based distribution jq requires EPEL
if ! type -P jq &>/dev/null; then
sys_packages+=(epel-release)
sys_install "${sys_packages[@]}"
sys_install jq --enablerepo=epel
else
sys_install "${sys_packages[@]}"
fi
sys_install ca-certificates curl tar epel-release
sys_install jq --enablerepo=epel
else
if ! type -P jq &>/dev/null; then
sys_packages+=(jq)
fi
sys_install "${sys_packages[@]}"
sys_install ca-certificates curl jq tar
fi
echo "::endgroup::"
;;
esac
fi
@@ -452,7 +438,7 @@ for tool in "${tools[@]}"; do
if [[ ! "${version}" =~ ^([1-9][0-9]*(\.[0-9]+(\.[0-9]+)?)?|0\.[1-9][0-9]*(\.[0-9]+)?|^0\.0\.[0-9]+)(-[0-9A-Za-z\.-]+)?(\+[0-9A-Za-z\.-]+)?$|^latest$ ]]; then
bail "install-action does not support semver operators: '${version}'"
fi
bail "install-action v2 does not support semver pre-release and build-metadata: '${version}'; if you need these supports again, please submit an issue at <https://github.com/taiki-e/install-action>"
bail "install-action v2 does not support semver pre-release and build-metadata; please submit an issue if you need these supports again: '${version}'"
fi
else
version="latest"
@@ -473,18 +459,14 @@ for tool in "${tools[@]}"; do
fi
if ! type -P unzip &>/dev/null; then
case "${base_distro}" in
debian | alpine | fedora)
echo "::group::Install packages required for installation (unzip)"
sys_install unzip
echo "::endgroup::"
;;
debian | alpine | fedora) sys_install unzip ;;
esac
fi
mkdir -p "${tmp_dir}"
(
cd "${tmp_dir}"
download_and_checksum "${url}" "${checksum}"
unzip -q tmp
unzip tmp
mv "bin/protoc${exe}" "${bin_dir}/"
mkdir -p "${include_dir}/"
cp -r include/. "${include_dir}/"
@@ -541,13 +523,10 @@ for tool in "${tools[@]}"; do
# Use cargo-binstall fallback if tool is available but the specified version not available.
read_manifest "${tool}" "${version}"
if [[ "${download_info}" == "null" ]]; then
if [[ "${rust_crate}" == "null" ]]; then
bail "${tool}@${version} for '${host_os}' is not supported"
fi
warn "${tool}@${version} for '${host_os}' is not supported; fallback to cargo-binstall"
case "${version}" in
latest) unsupported_tools+=("${rust_crate}") ;;
*) unsupported_tools+=("${rust_crate}@${version}") ;;
latest) unsupported_tools+=("${tool}") ;;
*) unsupported_tools+=("${tool}@${version}") ;;
esac
continue
fi
@@ -572,35 +551,23 @@ for tool in "${tools[@]}"; do
esac
info "${tool} installed at $(type -P "${tool}${exe}")"
# At least cargo-udeps 0.1.30 and wasm-pack 0.12.0 do not support --version option.
case "${tool}" in
cargo-careful) ;; # cargo-careful 0.3.4 does not support neither --version nor --help option.
cargo-*)
if type -P cargo &>/dev/null; then
case "${tool}" in
cargo-valgrind) x cargo "${tool#cargo-}" --help ;; # cargo-valgrind 2.1.0's --version option just calls cargo's --version option
*)
if ! x cargo "${tool#cargo-}" --version; then
x cargo "${tool#cargo-}" --help
fi
;;
cargo-udeps) x cargo udeps --help | head -1 ;; # cargo-udeps v0.1.30 does not support --version option
cargo-valgrind) x cargo valgrind --help ;; # cargo-valgrind v2.1.0 does not support --version option
*) x cargo "${tool#cargo-}" --version ;;
esac
else
case "${tool}" in
cargo-valgrind) x "${tool}" "${tool#cargo-}" --help ;; # cargo-valgrind 2.1.0's --version option just calls cargo's --version option
*)
if ! x "${tool}" "${tool#cargo-}" --version; then
x "${tool}" "${tool#cargo-}" --help
fi
;;
cargo-udeps) x "${tool}" udeps --help | head -1 ;; # cargo-udeps v0.1.30 does not support --version option
cargo-valgrind) x "${tool}" valgrind --help ;; # cargo-valgrind v2.1.0 does not support --version option
*) x "${tool}" "${tool#cargo-}" --version ;;
esac
fi
;;
*)
if ! x "${tool}" --version; then
x "${tool}" --help
fi
;;
*) x "${tool}" --version ;;
esac
echo
done
@@ -613,5 +580,5 @@ if [[ ${#unsupported_tools[@]} -gt 0 ]]; then
# By default, cargo-binstall enforce downloads over secure transports only.
# As a result, http will be disabled, and it will also set
# min tls version to be 1.2
cargo binstall --force --no-confirm --locked "${unsupported_tools[@]}"
cargo binstall --force --no-confirm "${unsupported_tools[@]}"
fi

View File

@@ -1,5 +1,4 @@
{
"rust_crate": "cargo-binstall",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/cargo-bins/cargo-binstall/releases/download/v${version}/cargo-binstall-x86_64-unknown-linux-musl.tgz"
@@ -21,26 +20,26 @@
}
},
"latest": {
"version": "1.2.1"
"version": "0.22.0"
},
"1.2.1": {
"0.22.0": {
"x86_64_linux_musl": {
"checksum": "579db0cea00c5afab93a957f5db7aea9b762e0a7cd1e882b5b9fdb94fed78471"
"checksum": "2238080e5e2c4eae5993de478341af6348e10fd9763a95a77e654e6f28268266"
},
"x86_64_macos": {
"checksum": "50b8090d74b77de12c1dbaa7204476c927c02ee8a5cefddf7959412f72cca5d1"
"checksum": "3e87999ab63edf3cdd71a3839bd85661c5dea5d763718668b8b3b35b1ac5dbe0"
},
"x86_64_windows": {
"checksum": "8906f2ab674125d73b9cca71db6615fa432b1aa594e6fea7a896b4931798066d"
"checksum": "f656718d44ca4a09ff2231970edc7878a1aa33b6e15790a4884a758144008e27"
},
"aarch64_linux_musl": {
"checksum": "b847dd62ea44b9bcf55a267ee247c69fbe678f291bdf1705ed3565425f6a5cf5"
"checksum": "280fc36a0f565d76636aa3aff570c97d1e6fbd6aa08ef315af2cb968054e1d9b"
},
"aarch64_macos": {
"checksum": "faedc148029f30496438548b7e7a4583f0cc7fe14e61e8b838df83c5a47a32c8"
"checksum": "abb87cb2ef23b552c62dc463777debb31be4a817ef9366509abb245d346e4410"
},
"aarch64_windows": {
"checksum": "6809ae3c7f35232ea1c2f2bbaa2bb1aa7493764cbd8445416a801ab781f83d0b"
"checksum": "50108bd891a0b6a0044f71d11e09e886a3eec44f4163d44f79a3eed049a484c2"
}
}
}

View File

@@ -1,42 +0,0 @@
{
"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,5 +1,4 @@
{
"rust_crate": "cargo-deny",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/EmbarkStudios/cargo-deny/releases/download/${version}/cargo-deny-${version}-x86_64-unknown-linux-musl.tar.gz",
@@ -19,69 +18,10 @@
}
},
"latest": {
"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"
}
"version": "0.13.7"
},
"0.13": {
"version": "0.13.9"
},
"0.13.9": {
"x86_64_linux_musl": {
"checksum": "77f6b3feab12afc82638cd4c6197c983d249d1afa4180a6b9c933efbf8bff427"
},
"x86_64_macos": {
"checksum": "7b790f7e15dc6bb79dc0a737310f62fc7a4653749e40ec4fa7419ee627a014ed"
},
"x86_64_windows": {
"checksum": "6f6a69d1dbabf98a1d826dd2dbc0bbfd378336ec891b3e7fd8c570744ea6efa3"
},
"aarch64_macos": {
"checksum": "7d4cc49030262296c96076519deefc740e70fbc338ccd9179d4bc9d3be373512"
}
},
"0.13.8": {
"x86_64_linux_musl": {
"checksum": "95b2b7eacc1e93b918969e8d9f25dad49ce079511401308b548f5fceeafeb896"
},
"x86_64_macos": {
"checksum": "950f36ddbb08c0686305f97196b450a99efd3bbea3553746b4f1b9942a5ab2b7"
},
"x86_64_windows": {
"checksum": "5cae60df4ab5a9c949a59f56cf101562b7a962fb2750b5e6aeb47e0d8799e962"
},
"aarch64_macos": {
"checksum": "6eeedd852be234c5b27359e7ce6c7da665511afb5d643c7ce8db660e08ca7bc1"
}
"version": "0.13.7"
},
"0.13.7": {
"x86_64_linux_musl": {

View File

@@ -1,281 +0,0 @@
{
"rust_crate": "cargo-dinghy",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/sonos/dinghy/releases/download/${version}/cargo-dinghy-linux-${version}.tgz",
"bin": "cargo-dinghy-${version}/cargo-dinghy"
},
"x86_64_macos": {
"url": "https://github.com/sonos/dinghy/releases/download/${version}/cargo-dinghy-macos-${version}.tgz",
"bin": "cargo-dinghy-${version}/cargo-dinghy"
}
},
"latest": {
"version": "0.6.4"
},
"0.6": {
"version": "0.6.4"
},
"0.6.4": {
"x86_64_linux_musl": {
"checksum": "b1453cff8f0f65f09312e88306e64e4c55bba5fb6daec5d8df1ab0ca4acef97f"
},
"x86_64_macos": {
"checksum": "4fd0f5cabbdeb6fe5728c54e888c3c6b3861d7cdb8e089caa5c1ea43f618e812"
}
},
"0.6.3": {
"x86_64_linux_musl": {
"checksum": "4faa2b0ba479222284f90885f66d0afc97ecee4e2b234042912a451fbd7b8dc8"
},
"x86_64_macos": {
"checksum": "343d7e8de208a5ef2eca4b3db1653a626efa135643203a7813d0831a7eb6b7df"
}
},
"0.6.2": {
"x86_64_linux_musl": {
"checksum": "b6cd5b91e61a14befa3260802bb387ef6b8deba78dad0fd8ab80d487319140e9"
},
"x86_64_macos": {
"checksum": "f6fd261b70844ca13dc69cdb2668e14691676e92188f82d4fcf1ade6900d6f90"
}
},
"0.6.1": {
"x86_64_linux_musl": {
"checksum": "1016d349f40f54332ba7269926d4e1a56295bb54c27fc0ff5b137d68f6ffa6d4"
},
"x86_64_macos": {
"checksum": "6b3fb17fd3117f728a41b34c1728bba35f85bbee6ad7e7402ae9ab5fefb2409f"
}
},
"0.6.0": {
"x86_64_linux_musl": {
"checksum": "3755cd6187bf8192f359809143c080618acf9777a0d7a3351ecde6f67a4cfc47"
},
"x86_64_macos": {
"checksum": "907319443f0742c607773124209bf0f3c572a35b18819bfe126a487cbc1128c6"
}
},
"0.5": {
"version": "0.5.1"
},
"0.5.1": {
"x86_64_linux_musl": {
"checksum": "ded1f77c4514d763977eabe069fa62625745098715c54ad8427502557c412f05"
},
"x86_64_macos": {
"checksum": "ac105b5ef370a0920794c07af2b69fb33ea17e56ba55be2e189f080556f05112"
}
},
"0.5.0": {
"x86_64_linux_musl": {
"checksum": "e1f65a240c6e3587cd661d3b004e5af3da9f2b9c4e44f465e87f3717371d05fa"
},
"x86_64_macos": {
"checksum": "5bf0facc0d9864fd79026999ce8b9a8f3f56b40c15e0536aa98551d8750ad01a"
}
},
"0.4": {
"version": "0.4.71"
},
"0.4.71": {
"x86_64_linux_musl": {
"checksum": "64115114488ffc8b7006d2f9f35d19baba6e3acd2292133aac2dd64d24e59d99"
},
"x86_64_macos": {
"checksum": "db8bec9f9ad41e166bc1e212d0b9bf732bd1b3a1c1e49f1862042aa2dfcfdf2f"
}
},
"0.4.70": {
"x86_64_linux_musl": {
"checksum": "880ea253cdf3b989e9b45dba36e66abf9fa358bd805cdfced57437099eb00d21"
},
"x86_64_macos": {
"checksum": "a0a42c3f5825be8116978083428283e92143f320c80a11a6f5133e559642984c"
}
},
"0.4.69": {
"x86_64_linux_musl": {
"checksum": "b42985472ff399a6e00e1590cbc6dbe576b6a1c23bf36e9369898ba7152c72ff"
},
"x86_64_macos": {
"checksum": "aff25a81d3e99a0ba677a56f16860f915749fb0fa5a3ef10bb381b9a84d1e78f"
}
},
"0.4.68": {
"x86_64_linux_musl": {
"checksum": "8b17bbe806b459ac7f2692d1df9bdec5fabdc46513cb45f620b0a4124d0c8bdb"
},
"x86_64_macos": {
"checksum": "5883927469c45ac952a0785aea9a625dc3d158f0d03ee23e0ae7525659041453"
}
},
"0.4.67": {
"x86_64_linux_musl": {
"checksum": "e4175dbcb96abacdceee60055495e315bd065cbf66a3741ef7294f1d9b944448"
},
"x86_64_macos": {
"checksum": "2a4e0f23799335f3bcc04f5177772b3ae8178f69a1d20b1ea9a1e0a2af5d649e"
}
},
"0.4.66": {
"x86_64_linux_musl": {
"checksum": "10664353ce1ed10cefdf766bd9acbb9c357497011d11f281ba1d3ec24eb8a7f7"
},
"x86_64_macos": {
"checksum": "f76bd70d0f82bf31e61118eaaa5fb4912540276050f7a59d056b365614f65e5e"
}
},
"0.4.63": {
"x86_64_linux_musl": {
"checksum": "bbd791675e71e5ba4165d0fbde08c1572fa3771f12169b29831ff43b212578b2"
},
"x86_64_macos": {
"checksum": "3b4533a3e3020836abd864ddd52aa219b2eec2081a6aa376c78ce6ba37707421"
}
},
"0.4.62": {
"x86_64_linux_musl": {
"checksum": "2da0eb7a004344a845010ecbe10a92b1ea1576ea0c98cd57836fc0ce4855b675"
},
"x86_64_macos": {
"checksum": "980a8a88b5f3e950d9af8aa6a2ce6e4dfe391fcc345a082b124db2f09af85dbc"
}
},
"0.4.61": {
"x86_64_linux_musl": {
"checksum": "8d1db2698c9684b000e1e0df4675a5db28228c97c6b8a15240c4498af4575005"
},
"x86_64_macos": {
"checksum": "04fde09f40e409a6a33943bbdeb2e7a37703b6b554fa9ffe3b3d8c02139400ce"
}
},
"0.4.60": {
"x86_64_linux_musl": {
"checksum": "9881f4de90449c9251dbb9eeab85b7d73fb3c52219e0c044aa38afa6da7c0c86"
},
"x86_64_macos": {
"checksum": "feb68d4168542f09f4672241f41edc1dd1dfff10bb7376b393f7fc42ecb60a14"
}
},
"0.4.59": {
"x86_64_linux_musl": {
"checksum": "3d406ad00263c207ef339f570f8b2dc4a70bb040b11f81cbc4f61b8fa485d63a"
},
"x86_64_macos": {
"checksum": "19e9981cfa7d4564161990eb3d45855feb4caade42100f7681e5151aa177a2c5"
}
},
"0.4.57": {
"x86_64_linux_musl": {
"checksum": "a15252b2c0707c627a5b24ac3d21754046098ddbbc1b792fc981f844cbf74786"
},
"x86_64_macos": {
"checksum": "e1ba97310da861ef608fe2fcebb3251c2904bf4c5f059fd62a9654216ec75a31"
}
},
"0.4.55": {
"x86_64_linux_musl": {
"checksum": "a1eb166f015cb1a07e48e2bd44ec15bd370cf9f8a3d40d243f8ec35e71df983f"
},
"x86_64_macos": {
"checksum": "cb63021c7f9f415513ee8a5589b59b54dd1bce0b55eb2728c677f2e552b4a115"
}
},
"0.4.51": {
"x86_64_linux_musl": {
"checksum": "314d220264417960539db8a9cb1e8b81d010acc64e1d3e8bfcd3415608cea857"
},
"x86_64_macos": {
"checksum": "cc66108a0f2fb30a016c4400af5cb9e308b1c1217c696b3412dce4069722df78"
}
},
"0.4.50": {
"x86_64_linux_musl": {
"checksum": "6c885144ace5e9a064d5f201b8836418ce511266335eb56e72f6cfee3377abae"
},
"x86_64_macos": {
"checksum": "36606130a6c1a9aaa398063df59749961d0bea0973740a610e157154e459dfec"
}
},
"0.4.48": {
"x86_64_linux_musl": {
"checksum": "a5ba0ff38a074edf9b16e1d10a550b567236953c11f2f92414b56877364bf02e"
},
"x86_64_macos": {
"checksum": "d892bcc9d5976f6e0eb7ec56ce06bbb10d777fce8f2b61a494544a99dc57a8e3"
}
},
"0.4.47": {
"x86_64_linux_musl": {
"checksum": "3a7bad503bd2af5884acba5fd1d36a053610e4ffbf2bd2f32def3a125a388c0b"
},
"x86_64_macos": {
"checksum": "dabd2b1e836a3ed0493fe86a51dbd64edc53bd1fe12418f23ab1241a28a4d49f"
}
},
"0.4.46": {
"x86_64_linux_musl": {
"checksum": "5bf5c74385f8f629fc22842db9f22a017ce1161ab18695d3b673bef0767908c3"
},
"x86_64_macos": {
"checksum": "8c7c03acda02eeaac85c58d1bc2b4eaeadc86bd001a547bd83170e5a799de9e7"
}
},
"0.4.41": {
"x86_64_linux_musl": {
"checksum": "30c25753544b0d7ced2341ee01b732031739f1611ee9792a900544f2330c3af6"
},
"x86_64_macos": {
"checksum": "fb0744858e9b62c3df157806490ccb7484391d1e22d965cb395943b5ad99d047"
}
},
"0.4.40": {
"x86_64_linux_musl": {
"checksum": "5d0348b5b6361c2654543e4fdcb4adf3138c2acabb84a4b31c0b4296420ca1bc"
},
"x86_64_macos": {
"checksum": "8ec452814f1660377e6c04ef7a896dcd036421ae60804f1a6d1a2a48c38abb0b"
}
},
"0.4.39": {
"x86_64_linux_musl": {
"checksum": "4d6bdd598600ea70085fdedfd425faa6527e337819f23b998cc1deb5e01a6fd5"
},
"x86_64_macos": {
"checksum": "c03237fdf92eff3a7b5ce678684cf0b3fed7b35c5c644c5dd56dba60083d36b1"
}
},
"0.4.38": {
"x86_64_linux_musl": {
"checksum": "4bd472b5e3718d08118f08bd2ac0fbd0ce28ddbf022314b66d2a9c61a7a55615"
},
"x86_64_macos": {
"checksum": "a38ac1de5862efc36a772234c59f002894d2c6ec1924b11a36d0ecbba59a1411"
}
},
"0.4.37": {
"x86_64_linux_musl": {
"checksum": "b22e585e24363971eb925c66cb9ff3ad97612aba7264d0a27eaad871f9f3b02a"
},
"x86_64_macos": {
"checksum": "fa3b17fdc8615feb0633c513bde8f8ada9bca21a5aaf6c32567c850a19f1a9d7"
}
},
"0.4.35": {
"x86_64_linux_musl": {
"checksum": "8d10ff10fa6d4974c71fd0804d65901a88e17c472fded202c6215bc31cbb4eac"
},
"x86_64_macos": {
"checksum": "f086fd58fba784a26db8989f85ece81df6b2c0400c1b59129f5b81279c7e0a82"
}
},
"0.4.34": {
"x86_64_linux_musl": {
"checksum": "b7bd211f0f6c703b9d82e11c96e6679e21989523c85349f243f385159ff0af39"
},
"x86_64_macos": {
"checksum": "ffd0a1834eff980a10d2d983db167d67300a0634ef405fb6153f98072eae1bf4"
}
}
}

View File

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

View File

@@ -1,5 +1,4 @@
{
"rust_crate": "cargo-llvm-cov",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-llvm-cov/releases/download/v${version}/cargo-llvm-cov-x86_64-unknown-linux-musl.tar.gz"
@@ -18,282 +17,10 @@
}
},
"latest": {
"version": "0.5.27"
"version": "0.5.11"
},
"0.5": {
"version": "0.5.27"
},
"0.5.27": {
"x86_64_linux_musl": {
"checksum": "74e554fb069ee0410422158d293f91eddf1f126c59801df5474d79c39c6c63af"
},
"x86_64_macos": {
"checksum": "8f86128ef90534f1ccdb033ec05f37447e5861eceacb12871598a9f7b1097a1d"
},
"x86_64_windows": {
"checksum": "f9f0eadbe325594dc5b45cf226fa8c738635539a6a93fce39783876c0f6b4344"
},
"aarch64_linux_musl": {
"checksum": "20161f2a1f8322ec98281bd818219a9c9cb4744b2dbe95bf073af29b1e47cc83"
},
"aarch64_macos": {
"checksum": "43ad8e2bcd3a394f08c6e1582253ea759b611b0b94774933b7ebcc91a23f82e8"
}
},
"0.5.26": {
"x86_64_linux_musl": {
"checksum": "9284d4ff91e76a12186670a370ecd481e0ef430f077d5258b7c45560fdce2a1f"
},
"x86_64_macos": {
"checksum": "9972f993cab0668ee22c1b1cec6c84b00e810ba56c1479122751dd23a9fd71df"
},
"x86_64_windows": {
"checksum": "f60ad6861037cd98cc5f9ed640f5bc347188ca4053956dfdc544d4259518ee29"
},
"aarch64_linux_musl": {
"checksum": "0bc7aec3aa09c638c0bc153170ab1f60802057ce9037c6febd10941e5751dc07"
},
"aarch64_macos": {
"checksum": "99864fc0f04d337a9a77fd24b89a6e9325381b5f7fb4542ce5e4a2ad2c12363c"
}
},
"0.5.25": {
"x86_64_linux_musl": {
"checksum": "0567e6b651bcb819afcc2cc8f49f18a74c57ffba0aa9a2640b313c5f2568ea1c"
},
"x86_64_macos": {
"checksum": "7af62464a39cc9732567ba2b3213c19afe85b20f0ffd7e70ba56cd7bcc78e661"
},
"x86_64_windows": {
"checksum": "2b91db2b1b329f700337d5ec2323e969527644f3761cc1ae7a4a94a9faff2d0d"
},
"aarch64_linux_musl": {
"checksum": "a16b7950746dd8d764479289ac48cb06ebc156e2a750c595b95589a68342bccb"
},
"aarch64_macos": {
"checksum": "db6d159acf27ca7d6f148fc5604dd9f2ff39da163f94d9a1c37c3f063dd664fb"
}
},
"0.5.24": {
"x86_64_linux_musl": {
"checksum": "e1c15ac5a583eeb4c478eed0222c3a3629aff3c9f151d8bdf7b50704ef9073c6"
},
"x86_64_macos": {
"checksum": "c12b25c44fd1b1b76ecfff7ca1ed4a29b2ec6f9c707f0d09a8716ea7513a557d"
},
"x86_64_windows": {
"checksum": "e4221c57b1cd759c0c659f66673f0fd5a03a1a8d2f3c95462b9af966273301c6"
},
"aarch64_linux_musl": {
"checksum": "0f3edd524e10b30c26c6ef7ff069843e89a75441c5f281254c2e65e028ccf29e"
},
"aarch64_macos": {
"checksum": "0d90b623b4dfa4fe631aaff13b891096224346ce907f0dbd61ae9276717f1bec"
}
},
"0.5.23": {
"x86_64_linux_musl": {
"checksum": "cdbb1c34bffeb2b5b986f16e3e1dd08c01d9ef2cbd1cf2d989ae7a184ce91302"
},
"x86_64_macos": {
"checksum": "e87ffd34514d23b5ce5d70e62eaff51c8a56308fcfea5d2df1cbf7a4930883af"
},
"x86_64_windows": {
"checksum": "3b0885d80a5d33c687331628adca4307cfb5d80a3d76a344ebf1077e504da08e"
},
"aarch64_linux_musl": {
"checksum": "5ad1d9b56601b76112c2555289763b88e0aba57b5188c7cb0b7e0c9f17141590"
},
"aarch64_macos": {
"checksum": "bfc30b8d89cf3b477caa8b4eee89bc083d8a3649e57a88eaa7a3a4948e5eaa0e"
}
},
"0.5.22": {
"x86_64_linux_musl": {
"checksum": "6a3f93f12e93853844dfa8b697ff86aaa688b9f44b82ba75b3f4ddd8905f3de5"
},
"x86_64_macos": {
"checksum": "9860cd3df6947817b689772d976f03f8b4edddc98a7d000a36d39d286c2ef663"
},
"x86_64_windows": {
"checksum": "c5cc93820d54c83fda40251c3f7a06a89de4cd0a5bc330208b5c7220c3bc8890"
},
"aarch64_linux_musl": {
"checksum": "bcf7cf97bbf49932b6cf43554a2ebf7ed9d50a54c16b0b33cd95cbc90e66008c"
},
"aarch64_macos": {
"checksum": "c2b702c10a033edee94fbff3b62d0e248932187431fea1b02e652762a0ae2c8d"
}
},
"0.5.21": {
"x86_64_linux_musl": {
"checksum": "bd23aced73f17c2178569c058f6cd78478cb38b233c45660eacab853b42353d6"
},
"x86_64_macos": {
"checksum": "d56ee6a72d496f86d8a387da9c5f66a88fa4dd568d822a0c78c4e3c6b901fdde"
},
"x86_64_windows": {
"checksum": "94f0cf996f63e5eea5ef908bb7bfcf2df1eb6f12508d7e5a435a5f8bfb9a4238"
},
"aarch64_linux_musl": {
"checksum": "6b3f727af761400bec3a6b7043e228722060fda045fb68d05a33ed28befa39f2"
},
"aarch64_macos": {
"checksum": "4572ef983631d461088a658f9d0fffe0a66ee2584b1160deca7fb48e91823b34"
}
},
"0.5.20": {
"x86_64_linux_musl": {
"checksum": "688aefd7b53917d29b3fa8d81cb449e98138c6b9a6c768eff412f9a523fd3e62"
},
"x86_64_macos": {
"checksum": "69eb20beb8a2d2f455bd8be486f92718645fa94c726751698c125f92d11bbc54"
},
"x86_64_windows": {
"checksum": "e69502d1fa9003cd50d003142afc8398a84442b630cb2279b6291dde65d66ac3"
},
"aarch64_linux_musl": {
"checksum": "dee687b786492b3402dabda190e9444f4e4f5e412d0e1ce7d541dd1d5d519243"
},
"aarch64_macos": {
"checksum": "5ff99c8b17dafc24471d0e498cd68f8c858a6dc613535f7ffa738a12e11b18cf"
}
},
"0.5.19": {
"x86_64_linux_musl": {
"checksum": "79129f4adf9b9dd239a7facd041630a6b29c123a3e0ccabfbce44c71d391fc17"
},
"x86_64_macos": {
"checksum": "ab5400be7319b519350e535a71e210197c2597d416beca2c839676f2a28804ae"
},
"x86_64_windows": {
"checksum": "88f7dc8155d9166f512e1ca2d3dc986a987c7bb145f43836dee0246eaea1db9e"
},
"aarch64_linux_musl": {
"checksum": "6e5f19e65646b2625bb820d00065081d62bd19f6d483054b1b43a152678f13a6"
},
"aarch64_macos": {
"checksum": "fb8aeeb7af828ab0b49462cee13d60f1d7c69d55226ec0fc11c3082004a08513"
}
},
"0.5.18": {
"x86_64_linux_musl": {
"checksum": "eb5db22d1c4e67913d983145fd8473edad8f84b60b08398b634b275ccf1ae324"
},
"x86_64_macos": {
"checksum": "05621b99740a9499ee5336cec4fff63ea69aa5a731e29574b71d7c54baa849f4"
},
"x86_64_windows": {
"checksum": "d0330a9c9a03c8fa49e755d6ae5a62c4a6faabaca9cecb343f4b3de8ed2b6e8e"
},
"aarch64_linux_musl": {
"checksum": "c63c77048047aa14f43bb5d266e5eceacc510c551fb17c8968b2f8887516bee5"
},
"aarch64_macos": {
"checksum": "d766e832e4b01808b0359a0241c14141be010ec2b0e79e19d5e05c0746969c8e"
}
},
"0.5.17": {
"x86_64_linux_musl": {
"checksum": "20b563871c1ac1a83ae5683dc97fa0a1bf15ca16407b3daf751dbf652ecbea95"
},
"x86_64_macos": {
"checksum": "1f089884ad5c367015971166b8f752717eb70980241ce0125da86f4044547939"
},
"x86_64_windows": {
"checksum": "94b7122c70a53072a6d4c51040cf0093207d40151a21a28b12040e8a21bd925f"
},
"aarch64_linux_musl": {
"checksum": "83ce55e7df193d86e491e5f911a63e4123e9fe182bfd89eed273d3753208190d"
},
"aarch64_macos": {
"checksum": "cb5d1f1c700a7e1069898714e82005417a07d5455ca93fc3278cd0e5340338e5"
}
},
"0.5.16": {
"x86_64_linux_musl": {
"checksum": "d7759f9d465907f4a8fa24f10bfa0817863f62c412ffaae7b8dadab370201f9b"
},
"x86_64_macos": {
"checksum": "67f720d403569e7fa69ed2ed74c90d06658dc713c0f1f60088f12af267db5c6b"
},
"x86_64_windows": {
"checksum": "d19af20d0e4688f2557024fe84c6eeaddf3e7abcb9fb45304a9d042dd155d1bd"
},
"aarch64_linux_musl": {
"checksum": "f1055016db604f346d351d16fdb3ae43d7ab7ebc31e4463b836daa990b17c78f"
},
"aarch64_macos": {
"checksum": "db2780cf7af86b50ae011f49c4a91f2da58115ff47835a96dca134de2bd60c7e"
}
},
"0.5.15": {
"x86_64_linux_musl": {
"checksum": "407b0ddf85e6a39dfe5379761fc1074c7e79f7b518c732072bda1e4fc854d0fb"
},
"x86_64_macos": {
"checksum": "71c6d3010f8d08ab45b23e3459a751d4f8afeaa96f1537815f3cc9f96c4cbef6"
},
"x86_64_windows": {
"checksum": "8de32cdcb14a4ca1fabe5dae76761bfa73890fa070e935a4628f0ca8ac050759"
},
"aarch64_linux_musl": {
"checksum": "93cae63fb000fbe327a0f5e8caf6507f9d6c9fdf6775c248968ad977411d8f51"
},
"aarch64_macos": {
"checksum": "6286e6e73bf505c67b23d47591f6f05e5f5feba809442a6a66d1b7ec3fc8a93b"
}
},
"0.5.14": {
"x86_64_linux_musl": {
"checksum": "688e56f78611f7866842f5b86e27672225b28c8a536c75d6c0a3fd67082474ea"
},
"x86_64_macos": {
"checksum": "8d4a93175d5ba0710a46ccab007444cea4c53406b4c0b6c6ae6916d1192ac333"
},
"x86_64_windows": {
"checksum": "5773b119db63bbbcb975ecd3e0c71ae548506d85312248d6d3e94758cf88bba6"
},
"aarch64_linux_musl": {
"checksum": "61b22ff22d95ca6af9c668c780fe2a23a519a44d1fab3de01adadfbb36cea54d"
},
"aarch64_macos": {
"checksum": "f98c5d4bc2f7b67328a82028bb78f0a67436ae81a4e2a7911fd4f18f572c434b"
}
},
"0.5.13": {
"x86_64_linux_musl": {
"checksum": "e57875cba95527149d15d7f9c66b9d624d8154040f19aedbca96e2c6b7687ffb"
},
"x86_64_macos": {
"checksum": "f694bcaf714f352b76182b0aeec9626ca5280ceca275f949caa762a561030350"
},
"x86_64_windows": {
"checksum": "642046071c3c221748a3a6a08b5c7d71d7644928d4d7707fa30b38da8357f074"
},
"aarch64_linux_musl": {
"checksum": "d9173b2aae99f29276cd7d84ffdea9eb29f8831acd3f9d9de1c2af4366d917df"
},
"aarch64_macos": {
"checksum": "b9bb4d03065c4d7e52ed4148d71d36a4c890dee37108addfa9ba19771e46fa1d"
}
},
"0.5.12": {
"x86_64_linux_musl": {
"checksum": "998b1d9e630295459743fe7051a7e3d04e82836456171493eb5983dde710b07e"
},
"x86_64_macos": {
"checksum": "77faedad91c300b51d2d40040a6c61903a555da319047983ec56c81598cbea9b"
},
"x86_64_windows": {
"checksum": "5d0d3df674a431272f75e77dd2c07fdbc5ee83ade11c0839bbd0fdae35480351"
},
"aarch64_linux_musl": {
"checksum": "87c54166055d2d486620ceb27440442d34d71b364fdd6f6da57a210ae5f75e33"
},
"aarch64_macos": {
"checksum": "05c8f8e2210a3218b167dce33477785a0bc0c718fac7b15d2f4a428791234f03"
}
"version": "0.5.11"
},
"0.5.11": {
"x86_64_linux_musl": {

1207
manifests/cargo-make.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,4 @@
{
"rust_crate": "cargo-minimal-versions",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-minimal-versions/releases/download/v${version}/cargo-minimal-versions-x86_64-unknown-linux-musl.tar.gz"
@@ -21,70 +20,10 @@
}
},
"latest": {
"version": "0.1.14"
"version": "0.1.11"
},
"0.1": {
"version": "0.1.14"
},
"0.1.14": {
"x86_64_linux_musl": {
"checksum": "f7284ada48677bef2acb9348a6bfe86705246b57681db178a28634e25c61459d"
},
"x86_64_macos": {
"checksum": "d5121056830331b512e3648f7edca3d86cc84e1621f2d3369d24bef549b2c0f0"
},
"x86_64_windows": {
"checksum": "00a478f561c25db3009d14aba8d0dc8a9e5c9e4f114fd9522a6a09e5de289f55"
},
"aarch64_linux_musl": {
"checksum": "8915fdcde61536c740b885ce83cd2f38a607bf5d7121d8535e8be43bd820b0d6"
},
"aarch64_macos": {
"checksum": "7c737c7ade8f4080d04dacec82b9b94752d3b98fd179a2f51af986fc26d273ba"
},
"aarch64_windows": {
"checksum": "d87025a5881f0c24ecb52061bc0b3c7fca9ca7beee3b75566392dce759ecd7a5"
}
},
"0.1.13": {
"x86_64_linux_musl": {
"checksum": "7bafe9e8c27207845edb3940e3a91f7cbae7a318472267610017fb6b10d8c7a2"
},
"x86_64_macos": {
"checksum": "79bf05f75f95e20641181d7c5576fa18a9b8eb11ad640a979a8916d8b6887831"
},
"x86_64_windows": {
"checksum": "ab7849653698babfc74dc865c87c3683594174e8f53201dc2bbcdc2100e9b4c8"
},
"aarch64_linux_musl": {
"checksum": "c5a1b3d68fc25420806576bc3d947fbb71011f30153c29ff1de162c80dc167e9"
},
"aarch64_macos": {
"checksum": "e7ce17977d4fc48d7a240989edf0c88511cee8573133504f0af5b4f7070893cf"
},
"aarch64_windows": {
"checksum": "f0f501bb1026cb5e48db5ccff3a16dcc6832d5d2f9da353f17337f86fbceca38"
}
},
"0.1.12": {
"x86_64_linux_musl": {
"checksum": "14d33bd273110fc3a4ebc96eab922442e2663f1c8d8da746d66a917fa2957297"
},
"x86_64_macos": {
"checksum": "d4a71d3e58f0d0a998f35a034120e831498a36601a02b940c7999030decb43be"
},
"x86_64_windows": {
"checksum": "ab17ab06b5f211611e88d17e4b28ff19076c5b9a6d351fd7f0d20a071f3a1d03"
},
"aarch64_linux_musl": {
"checksum": "f7aa0d7909f9b828446c9d5f2a0db0ff27df7c167f110609d665b4d70d8a1a8b"
},
"aarch64_macos": {
"checksum": "1f23174e8a4522799999bac4564d780b7d4893d9f5aa2472b71782e826e3acbd"
},
"aarch64_windows": {
"checksum": "62267707abf30cacd086bfa035de527d5227682288c9e2176e03de925bae9dd3"
}
"version": "0.1.11"
},
"0.1.11": {
"x86_64_linux_musl": {

667
manifests/cargo-nextest.json generated Normal file
View File

@@ -0,0 +1,667 @@
{
"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.51"
},
"0.9": {
"version": "0.9.51"
},
"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,5 +1,4 @@
{
"rust_crate": "cargo-no-dev-deps",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-no-dev-deps/releases/download/v${version}/cargo-no-dev-deps-x86_64-unknown-linux-musl.tar.gz"
@@ -21,30 +20,10 @@
}
},
"latest": {
"version": "0.2.3"
"version": "0.2.2"
},
"0.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"
}
"version": "0.2.2"
},
"0.2.2": {
"x86_64_linux_musl": {

View File

@@ -1,5 +1,4 @@
{
"rust_crate": "cargo-tarpaulin",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/xd009642/tarpaulin/releases/download/${version}/cargo-tarpaulin-x86_64-unknown-linux-musl.tar.gz"
@@ -18,64 +17,10 @@
}
},
"latest": {
"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"
}
"version": "0.25.1"
},
"0.25": {
"version": "0.25.2"
},
"0.25.2": {
"x86_64_linux_musl": {
"checksum": "89f0f28baa818f445336da35c204206544b5e1160892ca0d5f50fe034abff771"
},
"x86_64_macos": {
"checksum": "fac48ad01a87435b35a0d04dbb5452929c72e3e28633ab0fb5740a50d113bf64"
},
"x86_64_windows": {
"checksum": "36cf0c7fcf1c1d589720e7409673535e46d734f9abf89ff179c964dbf24f56cc"
},
"aarch64_linux_musl": {
"checksum": "2600c6a6e8f6cdaf374fa492284ade31c4582f40f9c5ede1f726b743e144f9b6"
},
"aarch64_macos": {
"checksum": "3f615f38c18c32d10fdf85b73e5c5ee05c0308566d00d0b117c10175f659c504"
}
"version": "0.25.1"
},
"0.25.1": {
"x86_64_linux_musl": {

View File

@@ -1,14 +1,9 @@
{
"rust_crate": "cargo-udeps",
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/est31/cargo-udeps/releases/download/v${version}/cargo-udeps-v${version}-x86_64-unknown-linux-gnu.tar.gz",
"bin": "./cargo-udeps-v${version}-x86_64-unknown-linux-gnu/cargo-udeps"
},
"x86_64_linux_musl": {
"url": "https://github.com/est31/cargo-udeps/releases/download/v${version}/cargo-udeps-v${version}-x86_64-unknown-linux-musl.tar.gz",
"bin": "./cargo-udeps-v${version}-x86_64-unknown-linux-musl/cargo-udeps"
},
"x86_64_macos": {
"url": "https://github.com/est31/cargo-udeps/releases/download/v${version}/cargo-udeps-v${version}-x86_64-apple-darwin.tar.gz",
"bin": "./cargo-udeps-v${version}-x86_64-apple-darwin/cargo-udeps"
@@ -16,96 +11,13 @@
"x86_64_windows": {
"url": "https://github.com/est31/cargo-udeps/releases/download/v${version}/cargo-udeps-v${version}-x86_64-pc-windows-msvc.zip",
"bin": "./cargo-udeps-v${version}-x86_64-pc-windows-msvc/cargo-udeps.exe"
},
"aarch64_linux_musl": {
"url": "https://github.com/est31/cargo-udeps/releases/download/v${version}/cargo-udeps-v${version}-aarch64-unknown-linux-musl.tar.gz",
"bin": "./cargo-udeps-v${version}-aarch64-unknown-linux-musl/cargo-udeps"
},
"aarch64_macos": {
"url": "https://github.com/est31/cargo-udeps/releases/download/v${version}/cargo-udeps-v${version}-aarch64-apple-darwin.tar.gz",
"bin": "./cargo-udeps-v${version}-aarch64-apple-darwin/cargo-udeps"
},
"aarch64_windows": {
"url": "https://github.com/est31/cargo-udeps/releases/download/v${version}/cargo-udeps-v${version}-aarch64-pc-windows-msvc.zip",
"bin": "./cargo-udeps-v${version}-aarch64-pc-windows-msvc/cargo-udeps.exe"
}
},
"latest": {
"version": "0.1.41"
"version": "0.1.35"
},
"0.1": {
"version": "0.1.41"
},
"0.1.41": {
"x86_64_linux_musl": {
"checksum": "9895062bb4563c6eb6f0d1134f443d95550e3aefa51c9dc65a716550ef12fa74"
},
"x86_64_macos": {
"checksum": "421fb935f2a06f42e99ed8fa6b25514f5a724427d30321a5460ca471676da6fd"
},
"x86_64_windows": {
"checksum": "58d7f7555adfe0a6137662ba8446096c866214fc268a18906e7ba5670e587161"
},
"aarch64_linux_musl": {
"checksum": "f527129f91703dab09fa0bb139a6f9020bcb9598dc43ca010f59ee9886055eb1"
},
"aarch64_macos": {
"checksum": "a3aec3ea5356d232a670b112170dc46ac7285419886aa693045907094b030f09"
},
"aarch64_windows": {
"checksum": "da3a695bcd3654413873e8f1df0389d0d3d478ec13317676a29e2e05d520ce3b"
}
},
"0.1.40": {
"x86_64_linux_musl": {
"checksum": "6bb8bc63de21e47afb44e9b1fcc2f5444120a0658bfe7b2b64a0eb575667ee59"
},
"x86_64_macos": {
"checksum": "39ddc8f18f51d429f0a5adc0bdaa416532ba70e7dfd3d5200c5fcf8f981ea656"
},
"x86_64_windows": {
"checksum": "d532011810db834c7a3dfc580a6754a0204ffd146e0b29a62c508f6d89544d9f"
},
"aarch64_linux_musl": {
"checksum": "cebdbfee26548375c3f2000b6fae46ba80bff7cbfa33c8919525e3923b004f1e"
},
"aarch64_macos": {
"checksum": "6a022039c59cf273b9764bd74e991f423e03e80ddd0eaa25648207b622ab3547"
},
"aarch64_windows": {
"checksum": "6b29f3a9b0b710d9f9a2544f7bd101997845eff37836fa50edaa92fa3e5a6ad7"
}
},
"0.1.39": {
"x86_64_linux_musl": {
"checksum": "6476cf5711a150c53b563ecb1680b45365c86b054079b483333a961e14dd2c8a"
},
"x86_64_macos": {
"checksum": "c93e5e03c64ac351ec69a62d22c119e8b2f612fde5bc7938aade549bc38f4d49"
},
"x86_64_windows": {
"checksum": "02e5ce690d027a28e323e753ba03f4ce164bd106d98afe437871778f1b166c8f"
},
"aarch64_linux_musl": {
"checksum": "f5de7ae1fb82ea797be27a56a0cfe80d2724a4ae4d380dd49f1d5ac221f45f4a"
},
"aarch64_macos": {
"checksum": "d605026264208372def2a3d62498070b02cd3e10fc74ffc7448e8b626fc7fd90"
},
"aarch64_windows": {
"checksum": "dc026ed1fe5ba3147eda788df31c9da660942b959c3f6b1441752f0f886aef53"
}
},
"0.1.38": {
"x86_64_linux_gnu": {
"checksum": "5993f873ae46a94237b8e9be7bf990f9da165fc516b1ffa17ec680a0f52d07c3"
},
"x86_64_macos": {
"checksum": "612dbbef16edc916d4755616c72d70c2d0db46d7f3426423f5dfb32703dc4baa"
},
"x86_64_windows": {
"checksum": "df7bcf14a531466b219829880b6204e014c0f9462fb8343ed58e34400ee33fb6"
}
"version": "0.1.35"
},
"0.1.35": {
"x86_64_linux_gnu": {

View File

@@ -1,5 +1,4 @@
{
"rust_crate": "cargo-valgrind",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/jfrimmel/cargo-valgrind/releases/download/v${version}/cargo-valgrind-${version}-x86_64-unknown-linux-musl.tar.gz"

1
manifests/cross.json generated
View File

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

258
manifests/dprint.json generated
View File

@@ -1,5 +1,4 @@
{
"rust_crate": "dprint",
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/dprint/dprint/releases/download/${version}/dprint-x86_64-unknown-linux-gnu.zip"
@@ -21,263 +20,10 @@
}
},
"latest": {
"version": "0.40.2"
},
"0.40": {
"version": "0.40.2"
},
"0.40.2": {
"x86_64_linux_musl": {
"checksum": "5c8418466937191f711ce4ba59e9ec28036daec01a08a505a17570a5edaec4c3"
},
"x86_64_macos": {
"checksum": "e4089c699a09ac725337f2f00f1de2798fa93e2cd7c739c81fdd85c3259b61e5"
},
"x86_64_windows": {
"checksum": "ede70ca91ae7983f8365aa59c477246f9595c9f32536c359abf3a706c68801c8"
},
"aarch64_linux_gnu": {
"checksum": "66e51be4b1882f504beca45067fee39226b81c23c7fed0b71de629cafa51b7da"
},
"aarch64_macos": {
"checksum": "d1e7517270c7a04f38ff6659d0a20482c5406e66b2ae8e9c15abd4674e74c127"
}
},
"0.40.1": {
"x86_64_linux_musl": {
"checksum": "0bc9cf7e191bd0c9a3e0ff84c77837da1a14f399220246d1955774135c0e40e6"
},
"x86_64_macos": {
"checksum": "a510053186e3cc9a802807cccf3e5eac3427fa1ceddd3e6f9ccb59dce7051ac0"
},
"x86_64_windows": {
"checksum": "a51788272cf3412f7cdaecde1c570e22f93f01f89ae14587712b0f8f321a47e2"
},
"aarch64_linux_gnu": {
"checksum": "53056d49e4c4394f52de95a3910a9d4a8986287f728886f0d768d2908975e92e"
},
"aarch64_macos": {
"checksum": "8b8826460309a6306a3bab9150bd84344eccb59ca0e8c38ca551dfea6c1efc9b"
}
},
"0.40.0": {
"x86_64_linux_musl": {
"checksum": "4ca464e5d57d2fcffaa724a4fcecd4b75a8a264df8e673feda0ca94267d07416"
},
"x86_64_macos": {
"checksum": "7da589860a440717b7d1e6153394509fa2a2b74d1c0b24a669920da172c805ce"
},
"x86_64_windows": {
"checksum": "372c6cd7665f1526a821cc3676d36036a6137609c6dcbfaa2601a7da8b0d0bb4"
},
"aarch64_linux_gnu": {
"checksum": "693b5d943a0f705be6379c79135f7e9d9bcc590d2b237e6344196fed62d817c7"
},
"aarch64_macos": {
"checksum": "a0b67859e733330d99809c8307095f56723ba9c3af01b1ffb7a03f1290e19c92"
}
},
"0.39": {
"version": "0.39.1"
},
"0.39.1": {
"x86_64_linux_musl": {
"checksum": "5e6ff56f68d31ff8411367fa021a15b29092d0d48bcd8b2741953927652da953"
},
"x86_64_macos": {
"checksum": "f4fb55f4361d70a43fd6cefd25328accef0cc52790950261f1d21aabfe97132d"
},
"x86_64_windows": {
"checksum": "6e7f87393fadd04bee062859c00f71bd7379960c15cebd673b35f3c810a0cee9"
},
"aarch64_linux_gnu": {
"checksum": "3a91d748c57d8510399d17eb14181c8f2803d9e67f7403ad7043a2c7a30c3568"
},
"aarch64_macos": {
"checksum": "63aa28e5ee984c029da74f51b53d4b3f979d9b70fce3800eb82486af389d3a99"
}
},
"0.39.0": {
"x86_64_linux_musl": {
"checksum": "85a05abe62b607b0b632dc2dfb70f1f0c25d0ba1c917ec5c57e4aba226617d42"
},
"x86_64_macos": {
"checksum": "79d1bbe2f811ddd4f9da83cb827abccc2a2fa851709886c8df9e1dd264d348a6"
},
"x86_64_windows": {
"checksum": "6e7726628ae1a656e9a889926c49b0d0dc213867e310112e550579512bedac40"
},
"aarch64_linux_gnu": {
"checksum": "d638ef063d33e12e4ee6ebb501655179c2be2a25800e6e8fa53c8d4413f08df4"
},
"aarch64_macos": {
"checksum": "78a17f1697e12b370c5c8f49665ff81bc97407c54f77d3f6ceae226c323a1c58"
}
},
"0.38": {
"version": "0.38.3"
},
"0.38.3": {
"x86_64_linux_musl": {
"checksum": "51616da543b45d07a8da2aab1d2072f5b301078b70b1039da63a84749e0e3a65"
},
"x86_64_macos": {
"checksum": "e0ebae88a4c5789426e80ab26dcf52f8640c77cd5599b71a5112a62284ed5cf1"
},
"x86_64_windows": {
"checksum": "089c2b15990e541f033159476e3dbcf308ea424345e95b51e716227a1d2eb2f7"
},
"aarch64_linux_gnu": {
"checksum": "99a1a2ac0bd010fb898ad143f2cdcf50975f21ee2b4e2f4145088f689f974e6c"
},
"aarch64_macos": {
"checksum": "587ca5ba726435b12d66c98750124a8bbcef7b1d8ff2940fba21f122a5813176"
}
},
"0.38.2": {
"x86_64_linux_musl": {
"checksum": "d57cdd843412c4a8b16a12c7a8b021494093eb011352aefe4f440592bdbfa37d"
},
"x86_64_macos": {
"checksum": "99da7486ed705ab88323093dca2aae337dbc201da047130bc12b87f8b798402a"
},
"x86_64_windows": {
"checksum": "bc7244fd98431a859a24a4959e8871ca5bf3a8d083d729b8e0796d6834d8b55e"
},
"aarch64_linux_gnu": {
"checksum": "1d72a2f199a2e69b5aa2eb75fd18b07f964346c89aa2f584c981c6f70dce1ed0"
},
"aarch64_macos": {
"checksum": "a9e89b89d84db129fb4e98694196230322378a50e3cac6cce41c08c3542d64c6"
}
},
"0.38.1": {
"x86_64_linux_musl": {
"checksum": "6da012131c66ddea1437a3cbe50cbfaaf070fe0c1ecd6942a198c62d6982d9bd"
},
"x86_64_macos": {
"checksum": "ccce324310deb9025e97c617ae31ecb8dddeef25aadfff567d63eb73ccd3279c"
},
"x86_64_windows": {
"checksum": "7e2919877f73baea8048f7bdc78b356ec80740b1a6dc8eb443547db10c270eea"
},
"aarch64_linux_gnu": {
"checksum": "ce5e02182e4bb975fb217eb567d2e8ddc3447376d4924dca525085956735814a"
},
"aarch64_macos": {
"checksum": "2fd93b24ccfac269a7a29658b2cc3b69182f23f5a4a5044ac45add1ff42b5ef4"
}
},
"0.38.0": {
"x86_64_linux_musl": {
"checksum": "a518a2e3dc29b7db1af4b463feaee605657acba5cef6b846117bddbcec579400"
},
"x86_64_macos": {
"checksum": "bb65e3a3aad6989705a69e12872f2d9609d0087239b05448d81c129ba7b081bc"
},
"x86_64_windows": {
"checksum": "0fbd229d3399212518b855b05eff8934e1b32c5829075a5263f504e1770c184a"
},
"aarch64_linux_gnu": {
"checksum": "be954f41b39b12f094750b68e084f61ee9dc1e8801133593331be110e2ee6173"
},
"aarch64_macos": {
"checksum": "28f88275dcc3661fd1de3ff0b264853641fd9c030e7e31f6772528df3f90e283"
}
},
"0.37": {
"version": "0.37.1"
},
"0.37.1": {
"x86_64_linux_musl": {
"checksum": "a8a824eed75f1030c721a7e91ae79cbd5f48f8c19470d92ec5fd0dff2715add6"
},
"x86_64_macos": {
"checksum": "1de7aea5ead649d97c19814d856fab616965177cd77cccc998f4953aa3d8c7c4"
},
"x86_64_windows": {
"checksum": "7f25e3cd03aeee23341174f50ceff7d09266d991298b44353883a98cb1b8f67e"
},
"aarch64_linux_gnu": {
"checksum": "17d108c5b27df6233fa63c4f78b8b67c040cb3325a7372c9428da62f09ed8f61"
},
"aarch64_macos": {
"checksum": "a2c5c7a61ae4ca51140779b1bcc2766d8fe0fad0589828752b29b172f20c083c"
}
},
"0.37.0": {
"x86_64_linux_musl": {
"checksum": "714abf53b00f536bbd8ef1abc88f21fe4172952d39ea87bc5d139f8cbba28be1"
},
"x86_64_macos": {
"checksum": "b50c4c812eaee6b9797d441f41961cbfbf9d040a6dbe86e1deb560b290ed28b7"
},
"x86_64_windows": {
"checksum": "c0fe6b6924d493fbea6bae983a5e93219f328919d616a19235161bd31be05dcc"
},
"aarch64_linux_gnu": {
"checksum": "0c77ecf2e889c37b823f0dc856f49a657dc09b9912a586fca267e09f378eb747"
},
"aarch64_macos": {
"checksum": "6a23f96288d6733de1cff7d8349dda73df1bcf24a963fead5551059de7f1e6d9"
}
},
"0.36": {
"version": "0.36.1"
},
"0.36.1": {
"x86_64_linux_musl": {
"checksum": "da2597babb5948f3eb03939d9d96916db3e164b5c4f4dcf82303ba71356a8181"
},
"x86_64_macos": {
"checksum": "b5bfb20def399efdf57c4a895db5b0b31d900a7932ad713f1bd1f4bf9ff723f8"
},
"x86_64_windows": {
"checksum": "8b86ab1663202c434e0062e0d4d48de453f5938b1aaa8f7f5803a1788f3362b3"
},
"aarch64_linux_gnu": {
"checksum": "6175f249472c1dcedd8edf4a838b3424fbbdfd130bc7871b1dfb2bd5cd3a0bdc"
},
"aarch64_macos": {
"checksum": "0dc3cbd57a0acce2234505b917020a7e65e93156707211e68b18cf8ca41e5633"
}
},
"0.36.0": {
"x86_64_linux_musl": {
"checksum": "fd5dfb6f63389413984166c05754274d2ac9685f2a54e80619b016d7f527ea17"
},
"x86_64_macos": {
"checksum": "c55f6410fb879e2fad53ee9599172c40ee9446c5e69c04abc123b3d8346e63e2"
},
"x86_64_windows": {
"checksum": "beb17dc24c4e847334f7b4d06400e4de5d7931827f64ea43c1eb2c08f3cb9410"
},
"aarch64_linux_gnu": {
"checksum": "eda55e333246c6c22dcf624f1e8d38fa154ca460e705dd3f819449ba369fef5d"
},
"aarch64_macos": {
"checksum": "9220f02afcf6c016156695d9cdf9914e47bab8e8a29678d39f27387080940be7"
}
"version": "0.35.3"
},
"0.35": {
"version": "0.35.4"
},
"0.35.4": {
"x86_64_linux_musl": {
"checksum": "a061268da99878970993d988b42de6324aea4cdce437fc1ca46ec51add4162dd"
},
"x86_64_macos": {
"checksum": "179234c542ffc1f26e2dffc62884809d1fd0e781b49f95b938410b1b6450c20c"
},
"x86_64_windows": {
"checksum": "50ac0366c5c20ace37fa2bef11f8826a5f68c1a28412b7751d89e38d7ce6c709"
},
"aarch64_linux_gnu": {
"checksum": "1a810a4c28934b6e281686ae53fe0e1eba973caec245df8004d4452ffc61d306"
},
"aarch64_macos": {
"checksum": "be2a5b698a0a4837a76a7626288a16e1c1f4153463f630845f9def43057f79e2"
}
"version": "0.35.3"
},
"0.35.3": {
"x86_64_linux_musl": {

56
manifests/grcov.json generated
View File

@@ -1,5 +1,4 @@
{
"rust_crate": "grcov",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/mozilla/grcov/releases/download/v${version}/grcov-x86_64-unknown-linux-musl.tar.bz2"
@@ -18,61 +17,10 @@
}
},
"latest": {
"version": "0.8.18"
"version": "0.8.13"
},
"0.8": {
"version": "0.8.18"
},
"0.8.18": {
"x86_64_linux_musl": {
"checksum": "43b1b44a79b2fec04a4057ccaf199a1b015e02200d44c8c1a4eff4f2b2edfa87"
},
"x86_64_macos": {
"checksum": "b5fccffcde800c1bbaec94229b80fc678ad10420d9769b25a447f1c7c5bec573"
},
"x86_64_windows": {
"checksum": "1ae5759da07ffef41e5b2f9930a70e312c5e4bf8a64fe3a67b05c095601ad879"
},
"aarch64_linux_musl": {
"checksum": "272a869894d321554b8959ea8d9f90277dee8fe79ebc6da5349d047fccf86b36"
},
"aarch64_macos": {
"checksum": "a4b21dc5cc6ecd0ae0cf8016787b1d1b3e59a37d81d685bde45025f98a9a0ca2"
}
},
"0.8.16": {
"x86_64_linux_musl": {
"checksum": "c414d6c72c693c103a99ac33eb759fe870c2ebc90486853ce2d72e94f0392853"
},
"x86_64_macos": {
"checksum": "9b6725d2087a0f3e6b65395c2ce5e189e4d54b26b9d28a6a01ad878df56bd29a"
},
"x86_64_windows": {
"checksum": "e4e77816f6ce8c6a09b03f7bf853fd788a084e868ae23cd1e297831b388ce84c"
},
"aarch64_linux_musl": {
"checksum": "4f219438e490665c117d49f23ddd41990bbb423e89e03b59c0e3356df2a47196"
},
"aarch64_macos": {
"checksum": "5323fafa4714753eefcbed052971914dcc58cd9f3a4dfc53e5756518acba47ff"
}
},
"0.8.15": {
"x86_64_linux_musl": {
"checksum": "b4e369090a105aa264c287c1ced52d7cc04ec964179bd8affe05bcb762e75ea4"
},
"x86_64_macos": {
"checksum": "5f4dded36e2a7258f938fa9e6fdde9c887bbde9ba226dca46701a1bcfca1ab83"
},
"x86_64_windows": {
"checksum": "35d9add293fe2a573023dfc1a7c6fe8005ab52dea3f96805f80696851a299e7f"
},
"aarch64_linux_musl": {
"checksum": "6dca525df8411f456833cfe244eb657c523960140b745fa046aa22909da5d462"
},
"aarch64_macos": {
"checksum": "0ef477a66f7f74ce5810327923a1c6b73d9924d5dfb6dc2ba8c927cd2ceb039d"
}
"version": "0.8.13"
},
"0.8.13": {
"x86_64_linux_musl": {

25
manifests/just.json generated
View File

@@ -1,5 +1,4 @@
{
"rust_crate": "just",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/casey/just/releases/download/${version}/just-${version}-x86_64-unknown-linux-musl.tar.gz"
@@ -18,30 +17,10 @@
}
},
"latest": {
"version": "1.14.0"
"version": "1.13.0"
},
"1": {
"version": "1.14.0"
},
"1.14": {
"version": "1.14.0"
},
"1.14.0": {
"x86_64_linux_musl": {
"checksum": "19848d0282e95f30188305b1bbd5a087793e5c6f27f5ac98207ab256027183df"
},
"x86_64_macos": {
"checksum": "ca4a787f353678d46645f060d96dc4cf8777c16d2a7f064f1aac6e284b92a64e"
},
"x86_64_windows": {
"checksum": "f718211c83e73fe2535c924e8179e9c2f70cb8d23f8039ace746670d38e3c898"
},
"aarch64_linux_musl": {
"checksum": "b3d306e5978dd239bbd7803a697006aca5c7fa1d61efccaefae134f792b9e1cb"
},
"aarch64_macos": {
"checksum": "a77944cab60285ea0cf05ee5a3ad9ff4bea313a512a4a36fa5238e77cc760bc2"
}
"version": "1.13.0"
},
"1.13": {
"version": "1.13.0"

View File

@@ -1,5 +1,4 @@
{
"rust_crate": "mdbook-linkcheck",
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/Michael-F-Bryan/mdbook-linkcheck/releases/download/v${version}/mdbook-linkcheck.x86_64-unknown-linux-gnu.zip"

89
manifests/mdbook.json generated
View File

@@ -1,5 +1,4 @@
{
"rust_crate": "mdbook",
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/rust-lang/mdBook/releases/download/v${version}/mdbook-v${version}-x86_64-unknown-linux-gnu.tar.gz"
@@ -18,94 +17,10 @@
}
},
"latest": {
"version": "0.4.34"
"version": "0.4.28"
},
"0.4": {
"version": "0.4.34"
},
"0.4.34": {
"x86_64_linux_musl": {
"checksum": "dde955d5b3df83ebaed716cf18d53b05678a4b78500cfa33aedd138bd55a1152"
},
"x86_64_macos": {
"checksum": "738f423f1857c58a6175cf35254de4e616ca61db93803766eca5773ca6dbf516"
},
"x86_64_windows": {
"checksum": "3679b9be098c410423797f14bae01523a2074ad0ffe8668980df074d1d4e5198"
},
"aarch64_linux_musl": {
"checksum": "b7188119e088dc87a1db13963f78eaffb4a3959109936e26ee4afea74de0df5c"
}
},
"0.4.33": {
"x86_64_linux_musl": {
"checksum": "f56043b14b2d554b98aa6cd5e15bcbe81c095cea67a937c6c724300da4fc4005"
},
"x86_64_macos": {
"checksum": "172e83fea640b41afecf46d5bec3b09d0d54c5e6234b9e3777715b6c6a4a58a3"
},
"x86_64_windows": {
"checksum": "573acc650654cca12c77d73f0f7c8d22fdce92d7348c0bd4676579c60ee3c0b9"
},
"aarch64_linux_musl": {
"checksum": "dbafc64ee0bd616ee10ab367686fc7a000d817ddb7c6634e8b878e6c322bb38f"
}
},
"0.4.32": {
"x86_64_linux_musl": {
"checksum": "ac38f040eb462752548c865d6c9e900aa862852d42190cd773d5f20cd7b757f9"
},
"x86_64_macos": {
"checksum": "a625001956c903ff7b6864e90bb6380eae0e8ed711040dfeab932ace68e73d79"
},
"x86_64_windows": {
"checksum": "c06f2eeb4cfa487931213b830701a3dfa1eab5fcd7ec3756f14ffc68171a4817"
},
"aarch64_linux_musl": {
"checksum": "e68950f91fa907e89bd7d3f4d3e228a0c7bb4556689ba9e2b3adc42e4e7d6021"
}
},
"0.4.31": {
"x86_64_linux_musl": {
"checksum": "0332c3149dcc0b6ad1baab6cbf73f90e45b919fea3bd9c55fb5739fa980b2eaf"
},
"x86_64_macos": {
"checksum": "817300d62cff7ed1bf15921934ec9998c07a3ed8e293d8f1c4b32634206c08de"
},
"x86_64_windows": {
"checksum": "f55c476e298b53d9724933b8a0df5d150f5340ac8a08b64405e402846c3ac5b4"
},
"aarch64_linux_musl": {
"checksum": "6946e91283380f5a86c9ff8cb98b0449904d66d75ff4dfac759ccbef8800d20e"
}
},
"0.4.30": {
"x86_64_linux_musl": {
"checksum": "c911f8e5b501707a6b84a5b7162f3c6543f580e5261034d23d2843319da12bb0"
},
"x86_64_macos": {
"checksum": "02c80613f57c9d421adc4c60286c680c1e8f75a2d7d0ab4b7837819175eb967a"
},
"x86_64_windows": {
"checksum": "50c1adcabb37e291b9689b76898e91bf98428e5d5335dd3724f7c223f7a9ebb1"
},
"aarch64_linux_musl": {
"checksum": "475fc2ad49d909e8a13a8055bd9a69984e45eb70c1851f8dcf15dbf2b541815c"
}
},
"0.4.29": {
"x86_64_linux_musl": {
"checksum": "e46da842fc1cba24efbf0028ef372435cfe2b5a55b87b287e698ae87d6a9e44c"
},
"x86_64_macos": {
"checksum": "7424c8206cfe07e24928bf606e7fb2c386d22db7d1f0058734fa313b58879c37"
},
"x86_64_windows": {
"checksum": "ff2b491b41ecd65350137278e72f8ef10c161374cd47c474fc2a196c37f5e03e"
},
"aarch64_linux_musl": {
"checksum": "f89b5937131b5f826330d7ff542d878fe8689f037bf10b1595bfabc390b14da1"
}
"version": "0.4.28"
},
"0.4.28": {
"x86_64_linux_musl": {

View File

@@ -1,5 +1,4 @@
{
"rust_crate": "parse-changelog",
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/taiki-e/parse-changelog/releases/download/v${version}/parse-changelog-x86_64-unknown-linux-gnu.tar.gz"
@@ -24,93 +23,10 @@
}
},
"latest": {
"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"
}
"version": "0.5.3"
},
"0.5": {
"version": "0.5.4"
},
"0.5.4": {
"x86_64_linux_musl": {
"checksum": "b2a430ebd0d23a3608258446d9f93162ca324fd2ca691ca3baa11625c9d7fec3"
},
"x86_64_macos": {
"checksum": "4476f9ce9de07ddba76f77e6260e3cbece3801654882c8161694d742f8f01a59"
},
"x86_64_windows": {
"checksum": "6cd753b60b3385e2fd3aef79bc9a6c954f01737e2380bdc06b2c55ef9d4b8c79"
},
"aarch64_linux_musl": {
"checksum": "73f85fdda5937ac3ee0fd3a4385998cc6a640736b3e73923b0afd061abb575be"
},
"aarch64_macos": {
"checksum": "164936f970d8ab870aa3355411db736994dbb86019630bf2818d0958d30768b5"
},
"aarch64_windows": {
"checksum": "b7c1c92c83fce15746c1d289fbf14b31b3f43a043e28b25638ae8ed7b1005ea0"
}
"version": "0.5.3"
},
"0.5.3": {
"x86_64_linux_musl": {

189
manifests/protoc.json generated
View File

@@ -1,196 +1,13 @@
{
"rust_crate": null,
"template": null,
"latest": {
"version": "3.24.0"
"version": "3.22.2"
},
"3": {
"version": "3.24.0"
},
"3.24": {
"version": "3.24.0"
},
"3.24.0": {
"x86_64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.0/protoc-24.0-linux-x86_64.zip",
"checksum": "4feef12d91c4e452eac8c45bd11f43d51541db7fc6c18b4ca7bdd38af52c9d15"
},
"x86_64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.0/protoc-24.0-osx-x86_64.zip",
"checksum": "c438ae68427aa848f4e2dbf7d6cbd4e6a13e30a6bcc61007fd95cfc90451264a"
},
"x86_64_windows": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.0/protoc-24.0-win64.zip",
"checksum": "8c84d3d36936424a99934a9e5034f8a573615bf7f1b4246d536f33c120af60cd"
},
"aarch64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.0/protoc-24.0-linux-aarch_64.zip",
"checksum": "d27f1479fc4707f275eaa952cef548f9fa0c8ef2d8cb5977f337d2ce61430682"
},
"aarch64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.0/protoc-24.0-osx-aarch_64.zip",
"checksum": "e4cc0739f0f8ae31633fb11335f11e6fbe067ecda8fd1b4716e80cfe3661ee1d"
}
},
"3.23": {
"version": "3.23.4"
},
"3.23.4": {
"x86_64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.4/protoc-23.4-linux-x86_64.zip",
"checksum": "0502f286ac9ed860b629a7965a14527b1f2dd131e4283fa23c2d7f184672aa9a"
},
"x86_64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.4/protoc-23.4-osx-x86_64.zip",
"checksum": "07e5fdcf1b0708d3367dc5e6eb8d135de7e407d75316c93155cfd8ab362eec80"
},
"x86_64_windows": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.4/protoc-23.4-win64.zip",
"checksum": "a309c39442fb75f0db343cb22c111a00f91cdf0767f332e170644b9378e2bcc6"
},
"aarch64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.4/protoc-23.4-linux-aarch_64.zip",
"checksum": "1c7750b6e038305b5a7fc3d0cda1ebefdf106a4f30a787bf826ed2fc47c3967d"
},
"aarch64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.4/protoc-23.4-osx-aarch_64.zip",
"checksum": "8c7afae8626b6811e7b5897d16d940c2dbf50b1e135ed958a01db6566bdda726"
}
},
"3.23.3": {
"x86_64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.3/protoc-23.3-linux-x86_64.zip",
"checksum": "8f5abeb19c0403a7bf6e48f4fa1bb8b97724d8701f6823a327922df8cc1da4f5"
},
"x86_64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.3/protoc-23.3-osx-x86_64.zip",
"checksum": "82becd1c2dc887a7b3108981d5d6bb5f5b66e81d7356e3e2ab2f36c7b346914f"
},
"x86_64_windows": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.3/protoc-23.3-win64.zip",
"checksum": "a55295e95fd803351eacd40143d11c037a917beceb4db5894dfd188224627239"
},
"aarch64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.3/protoc-23.3-linux-aarch_64.zip",
"checksum": "4e5154e51744c288ca1362f9cca942188003fc7b860431a984a30cb1e73aed9e"
},
"aarch64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.3/protoc-23.3-osx-aarch_64.zip",
"checksum": "edb432e4990c23fea1040a2a76b87ab0f738e384cd25d650cc35683603fe8cdc"
}
},
"3.23.2": {
"x86_64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.2/protoc-23.2-linux-x86_64.zip",
"checksum": "179a759581bf4b32cc5edae4ffce6b8ee16ba4f4ab99ad3a309c31113f98d472"
},
"x86_64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.2/protoc-23.2-osx-x86_64.zip",
"checksum": "0c19eb51f450687557dd61b9859ae898f52143c39372e8cb6f0b648d5423e24a"
},
"x86_64_windows": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.2/protoc-23.2-win64.zip",
"checksum": "ca92eb9ca61ada5410211a9f8be7f0a5118f490e402c821ec1f61bb12b132c36"
},
"aarch64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.2/protoc-23.2-linux-aarch_64.zip",
"checksum": "12c9385da533dd5fe6fd57e0c5cdb7004d8c08af94a80c75614c50f1f31d92e0"
},
"aarch64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.2/protoc-23.2-osx-aarch_64.zip",
"checksum": "9fffa243509db34492c6dee031b361c538b2b65720ac253c319034e7f38e2cc8"
}
},
"3.23.1": {
"x86_64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.1/protoc-23.1-linux-x86_64.zip",
"checksum": "031f8e7504eb359df58389b31752f8081c01b01132a2f3f768a3792ac4b06f3f"
},
"x86_64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.1/protoc-23.1-osx-x86_64.zip",
"checksum": "5d0367dfd58ea894f87d1d6efbd800bf52820842e9151d265db17471bc69fe94"
},
"x86_64_windows": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.1/protoc-23.1-win64.zip",
"checksum": "420cd7a1548a9c3ef5b5a7e969b6fcf8ee6a5a09cec99d7a3209406f028e5dce"
},
"aarch64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.1/protoc-23.1-linux-aarch_64.zip",
"checksum": "f174eb3a6bd812e9946be3a9ef3fb8f8ac4a6f8acd0a01c928fb2fecb22b6fb0"
},
"aarch64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.1/protoc-23.1-osx-aarch_64.zip",
"checksum": "8d0af9adbbde1a9791d10125f4742a4c9fa84f85ee46fe69adde6bf5e8a4a428"
}
},
"3.23.0": {
"x86_64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.0/protoc-23.0-linux-x86_64.zip",
"checksum": "635f2dd1c7d0d1fc7e47f5744eda658858f7a235a5e478d1f1f984cf0b7eb483"
},
"x86_64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.0/protoc-23.0-osx-x86_64.zip",
"checksum": "0506eac95bf3ca8fc944a862e90ab82079426633eb70c6eeb52eb4f6fb06165d"
},
"x86_64_windows": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.0/protoc-23.0-win64.zip",
"checksum": "031f00a9b46ce9a2253ee681ff05d43b8f842780cac4e9f5eb3c9a3a61a33e3e"
},
"aarch64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.0/protoc-23.0-linux-aarch_64.zip",
"checksum": "cf911a9bfaed00b1f2ae82eef9a0cfdb43d12822ee4b28207d76fd10ee8384de"
},
"aarch64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.0/protoc-23.0-osx-aarch_64.zip",
"checksum": "5e2a59d1df9aff70237cb08cbb4311af31da245eb882271a1bba9bd6fdc67258"
}
"version": "3.22.2"
},
"3.22": {
"version": "3.22.4"
},
"3.22.4": {
"x86_64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.4/protoc-22.4-linux-x86_64.zip",
"checksum": "b3cff4d4076efe2965e8560cae6307c429349eda0af7755950d6ea5db6d72870"
},
"x86_64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.4/protoc-22.4-osx-x86_64.zip",
"checksum": "5f70ca85b2e3f53559cc470ab3f5084862ae6fc9515bf6154ad6462a8385b51a"
},
"x86_64_windows": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.4/protoc-22.4-win64.zip",
"checksum": "689b1d493f26b6bca05b8af1705f25f2129dc52e15138dbfda58df95c634076b"
},
"aarch64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.4/protoc-22.4-linux-aarch_64.zip",
"checksum": "a534857d0c51c44dad9704a6929fb4069a7f2e0b5e1949dd0569edcb95e634c8"
},
"aarch64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.4/protoc-22.4-osx-aarch_64.zip",
"checksum": "9da1a5e494687a5b88c5c8f82afd808f8c6554def47842f945f43a6475259d91"
}
},
"3.22.3": {
"x86_64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.3/protoc-22.3-linux-x86_64.zip",
"checksum": "0f8070d762eb8a2f5a13a47713a553f989f9d9b556e7e3ebfa2bd6464e2ecaeb"
},
"x86_64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.3/protoc-22.3-osx-x86_64.zip",
"checksum": "d644a65064a97fa3ed033a4a2314ab35816abbd9aed052f9b1b3374d2deaaae4"
},
"x86_64_windows": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.3/protoc-22.3-win64.zip",
"checksum": "fa7fe21bf6e204a4e1eec3ffee1d53c84e216289bc4762e072258e5bca113a3c"
},
"aarch64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.3/protoc-22.3-linux-aarch_64.zip",
"checksum": "c6068d9d151c39723bc7db920759b55737a770b0c2ec544dd0197d4078d7a956"
},
"aarch64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.3/protoc-22.3-osx-aarch_64.zip",
"checksum": "79cc15d1b528061ea0a818b0abcf3be1e0bdcb063a0cc999af27974cccdc5cce"
}
"version": "3.22.2"
},
"3.22.2": {
"x86_64_linux_gnu": {

View File

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

40
manifests/shfmt.json generated
View File

@@ -1,47 +1,31 @@
{
"rust_crate": null,
"template": {
"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": {
"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": {
"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": {
"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": {
"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": {
"version": "3.7.0"
"version": "3.6.0"
},
"3": {
"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"
}
"version": "3.6.0"
},
"3.6": {
"version": "3.6.0"

159
manifests/syft.json generated
View File

@@ -1,159 +0,0 @@
{
"rust_crate": null,
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_linux_amd64.tar.gz",
"bin": "syft"
},
"x86_64_macos": {
"url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_darwin_amd64.tar.gz",
"bin": "syft"
},
"x86_64_windows": {
"url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_windows_amd64.zip",
"bin": "syft.exe"
},
"aarch64_linux_musl": {
"url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_linux_arm64.tar.gz",
"bin": "syft"
},
"aarch64_macos": {
"url": "https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_darwin_arm64.tar.gz",
"bin": "syft"
}
},
"latest": {
"version": "0.86.1"
},
"0.86": {
"version": "0.86.1"
},
"0.86.1": {
"x86_64_linux_musl": {
"checksum": "6316bff6b9a40c893422ec4df12c7da6a200f7ca08842cccc39bf94cd69f28c8"
},
"x86_64_macos": {
"checksum": "5e506e96ac2ae01e9d2598e66dcc9375d0d4018031e54725e25b26bc0ed9f177"
},
"x86_64_windows": {
"checksum": "b0a8141b46de13ccf82dd12fd8eddb77888aef770ef210ee35f9c68a61122b93"
},
"aarch64_linux_musl": {
"checksum": "ed143b563c231ab3acdf805ff4b68d808d4ccf2ed35ec829aa5c377de0cc02ee"
},
"aarch64_macos": {
"checksum": "e538cc1881d9b2446d4d20ea19f650e567cb729c38ad05c268c712450bcf7ecf"
}
},
"0.86.0": {
"x86_64_linux_musl": {
"checksum": "f05da10cbf60cb5f9edcd8da79762bc5b4a495d828bad23b301632ffc18ddfb1"
},
"x86_64_macos": {
"checksum": "d8c7169086347427bc1317ce484d21049331f34c516f209e01335b6c4ba89648"
},
"x86_64_windows": {
"checksum": "ffb447ca43ac4761796f9463b88b2bdca5f45169ac5ace86413c70394cefdc3e"
},
"aarch64_linux_musl": {
"checksum": "c6aa2fe68101b349b8426c0fb119b98d24a361e3bdac0554f477c5a943bb288d"
},
"aarch64_macos": {
"checksum": "e083dbf018cfa5bffd2904a1c4c9277cface05bdfdd2ec6b46b171091c3e6a91"
}
},
"0.85": {
"version": "0.85.0"
},
"0.85.0": {
"x86_64_linux_musl": {
"checksum": "2a92c69e1017e2bf3785886a8298ad2b94dda69f9f5623560999740986dd8420"
},
"x86_64_macos": {
"checksum": "8dc8a29466bc69f514b56d8e41801ff781253646d07044982122609cb48bc1da"
},
"x86_64_windows": {
"checksum": "ca38ceb73b3124e92e2717f269e826a5091f128ee9bade27c9d9481b45aca43e"
},
"aarch64_linux_musl": {
"checksum": "fe96fc0c286feb554821ec1baf9367ad7122173998a8ca4ae2bcda844cd4a10a"
},
"aarch64_macos": {
"checksum": "0864e3b49ccf232bab7e171e4f8c03d1d6b291adc122ca009aa00218e9c74607"
}
},
"0.84": {
"version": "0.84.1"
},
"0.84.1": {
"x86_64_linux_musl": {
"checksum": "05ebad9167254f03447103efea175d636c3cd27d0da7f79972ca78adc7c442f9"
},
"x86_64_macos": {
"checksum": "43af6c70dca85ea603fb807e78044879c549a7b9d053d00d071078cebbdf2c6d"
},
"x86_64_windows": {
"checksum": "03241b9de869df23634c34c28cc27a7f48af3571ef95b46318c834a56c42e519"
},
"aarch64_linux_musl": {
"checksum": "8b68b2cf046f8c3729753f7a414eb6546ac7b43bee3afd56f413601200cac3c2"
},
"aarch64_macos": {
"checksum": "b98b9817dc284a0eb5d7e559a574361fda49d79a3413710ae5c35bd5e986adcb"
}
},
"0.84.0": {
"x86_64_linux_musl": {
"checksum": "cca9c05614667fe6d5de6362417754c522aeccadcb2ccfb9302f3dd7e82bdddc"
},
"x86_64_macos": {
"checksum": "f981df10be75e86fc82ba59cc338f982c5b6b07a5a2e3c104c983fca975fe1ac"
},
"x86_64_windows": {
"checksum": "39f90587629f32681ba22a03de6c996d4c4c94f3266e09ae6a472fd127176e07"
},
"aarch64_linux_musl": {
"checksum": "33924f053526b6c2178f7c362bb7d19483406d59664cdf3528d92262cbfa213d"
},
"aarch64_macos": {
"checksum": "65972738458a3255011808f46919a2fd6c1a559565be67da2a2a8f314f25638e"
}
},
"0.83": {
"version": "0.83.1"
},
"0.83.1": {
"x86_64_linux_musl": {
"checksum": "59b761dc495dd56e32e744cb4403bfcca6a9c0aed810b618664e36530a01f253"
},
"x86_64_macos": {
"checksum": "fa51fe155bc19f047663a6dbd2cc82fd35533a1601be55abb39c50ecff1e461a"
},
"x86_64_windows": {
"checksum": "035fdcc70f38479de7a3d67525f5154e2acd9748e92fe37ef1814766f478b59b"
},
"aarch64_linux_musl": {
"checksum": "1df595ac70f29be7683857f585a4cdf583245b36f98b362a4da8276f08dcb640"
},
"aarch64_macos": {
"checksum": "8a7ec7450a7f6d0f894bcad946e06ce70d455269191dc706ca671b3d698d6a1d"
}
},
"0.83.0": {
"x86_64_linux_musl": {
"checksum": "694e97a454327403fb440544c41fefd83d37f88f43c4f9ae0b0d67a3562bd25c"
},
"x86_64_macos": {
"checksum": "211f34f2e52e842d3248bc3a72c07e534d0d7a8e40babaa7a2034a41a077b70e"
},
"x86_64_windows": {
"checksum": "9131f458fdbbc88fe1bd8df666721ecb95ff751d0ca3e2cffecfd5e021c65e97"
},
"aarch64_linux_musl": {
"checksum": "388fbea52598e44f8529e3432555c53e6e161211a83020d2b749c5d160baf593"
},
"aarch64_macos": {
"checksum": "4b93cf316aa30bddb53d2dcd82f4c9d0353b337677cbdf8a470749f9e98eec82"
}
}
}

View File

@@ -1,5 +1,4 @@
{
"rust_crate": "wasm-pack",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/rustwasm/wasm-pack/releases/download/v${version}/wasm-pack-v${version}-x86_64-unknown-linux-musl.tar.gz",
@@ -19,55 +18,10 @@
}
},
"latest": {
"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"
}
"version": "0.11.0"
},
"0.11": {
"version": "0.11.1"
},
"0.11.1": {
"x86_64_linux_musl": {
"checksum": "cfe60a2e5d1641b9a09ec6d95787068ac24e03c67b9e36de7036714f71185a2d"
},
"x86_64_macos": {
"checksum": "6925ede1db571ceca80f2d48533cd9983f152731d95b794de6826121e5cd603f"
},
"x86_64_windows": {
"checksum": "57c976a710da102e3465c7d8a158f3e6b850eaef9c010f5d717d522099e74c9b"
},
"aarch64_linux_musl": {
"checksum": "9895d2389cfc315e12f6e35299666439b51a0e6dd36b0a604bcc8737c295c3bc"
}
"version": "0.11.0"
},
"0.11.0": {
"x86_64_linux_musl": {

1407
manifests/wasmtime.json generated

File diff suppressed because it is too large Load Diff

1
manifests/zola.json generated
View File

@@ -1,5 +1,4 @@
{
"rust_crate": "zola",
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/getzola/zola/releases/download/v${version}/zola-v${version}-x86_64-unknown-linux-gnu.tar.gz"

View File

@@ -1 +0,0 @@
git ls-files '*.sh' # TODO: check more files

View File

@@ -1,132 +0,0 @@
#!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0 OR MIT
set -euo pipefail
IFS=$'\n\t'
cd "$(dirname "$0")"/../..
# They don't provide prebuilt binaries for musl or old glibc host.
glibc_pre_2_31_incompat=(
zola
)
glibc_pre_2_27_incompat=(
"${glibc_pre_2_31_incompat[@]}"
cargo-watch
mdbook-linkcheck
protoc
valgrind
wasmtime
)
musl_incompat=(
"${glibc_pre_2_27_incompat[@]}"
)
incompat_tools=()
case "${1:-}" in
'') version=latest ;;
major.minor.patch | major.minor | major)
version="$1"
# Specifying the version of valgrind and cargo-binstall is not supported.
incompat_tools+=(valgrind cargo-binstall)
;;
*)
echo "tool=$1"
exit 0
;;
esac
case "$(uname -s)" in
Linux)
host_os=linux
ldd_version=$(ldd --version 2>&1 || true)
if grep <<<"${ldd_version}" -q 'musl'; then
incompat_tools+=("${musl_incompat[@]}")
else
host_glibc_version=$(grep <<<"${ldd_version}" -E "GLIBC|GNU libc" | sed "s/.* //g")
higher_glibc_version=$(sort <<<"2.31"$'\n'"${host_glibc_version}" -Vu | tail -1)
if [[ "${higher_glibc_version}" != "${host_glibc_version}" ]]; then
higher_glibc_version=$(sort <<<"2.27"$'\n'"${host_glibc_version}" -Vu | tail -1)
if [[ "${higher_glibc_version}" == "${host_glibc_version}" ]]; then
incompat_tools+=("${glibc_pre_2_31_incompat[@]}")
else
incompat_tools+=("${glibc_pre_2_27_incompat[@]}")
fi
fi
fi
if ! type -P snap &>/dev/null; then
incompat_tools+=(valgrind)
fi
;;
Darwin) host_os=macos ;;
MINGW* | MSYS* | CYGWIN* | Windows_NT) host_os=windows ;;
*) bail "unrecognized OS type '$(uname -s)'" ;;
esac
tools=()
for manifest in tools/codegen/base/*.json; do
tool_name=$(basename "${manifest%.*}")
case "${host_os}" in
linux*)
for incompat in ${incompat_tools[@]+"${incompat_tools[@]}"}; do
if [[ "${incompat}" == "${tool_name}" ]]; then
tool_name=''
break
fi
done
;;
*)
if [[ "$(jq -r ".platform.x86_64_${host_os}" "${manifest}")" == "null" ]]; then
continue
fi
;;
esac
if [[ -n "${tool_name}" ]]; then
if [[ "${version}" != "latest" ]]; then
latest_version=$(jq -r ".latest.version" "manifests/${tool_name}.json")
case "${version}" in
major.minor.patch) tool_name+="@${latest_version}" ;;
major.minor) tool_name+="@${latest_version%.*}" ;;
major) tool_name+="@${latest_version%%.*}" ;;
*) exit 1 ;;
esac
fi
if [[ "${tool_name}" != *"@0" ]] && [[ "${tool_name}" != *"@0.0" ]]; then
tools+=("${tool_name}")
fi
fi
done
if [[ "${version}" != "latest" ]]; then
tools_tmp=()
for tool in "${tools[@]}"; do
tools_tmp+=("${tool}")
done
tools=("${tools_tmp[@]}")
fi
# Not manifest-based
case "${host_os}" in
linux*)
# Installing snap to container is difficult...
# Specifying the version of valgrind is not supported.
if type -P snap &>/dev/null && [[ "${version}" == "latest" ]]; then
tools+=(valgrind)
fi
;;
esac
# cargo-watch/watchexec-cli is supported by cargo-binstall (through quickinstall)
case "${version}" in
latest) tools+=(cargo-watch watchexec-cli nextest) ;;
major.minor.patch) tools+=(cargo-watch@8.1.1 watchexec-cli@1.20.5 nextest@0.9.57) ;;
major.minor) tools+=(cargo-watch@8.1 watchexec-cli@1.20 nextest@0.9) ;;
major) tools+=(cargo-watch@8 watchexec-cli@1) ;;
*) exit 1 ;;
esac
# sort and dedup
IFS=$'\n'
# shellcheck disable=SC2207
tools=($(LC_ALL=C sort -u <<<"${tools[*]}"))
IFS=$'\n\t'
# TODO: inject random space before/after of tool name for testing https://github.com/taiki-e/install-action/issues/115.
IFS=','
echo "tool=${tools[*]}"
IFS=$'\n\t'

View File

@@ -7,7 +7,7 @@ publish = false
[dependencies]
anyhow = "1"
fs-err = "2"
semver = { version = "1", features = ["serde"] }
semver = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
sha2 = "0.10"

View File

@@ -1,7 +1,6 @@
{
"repository": "https://github.com/cargo-bins/cargo-binstall",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.tgz",
"version_range": "latest",
"platform": {

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,16 +0,0 @@
{
"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,7 +1,6 @@
{
"repository": "https://github.com/taiki-e/cargo-minimal-versions",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.tar.gz",
"platform": {
"x86_64_linux_musl": {},

View File

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

View File

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

View File

@@ -1,20 +1,13 @@
{
"repository": "https://github.com/est31/cargo-udeps",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-v${version}-${rust_target}.tar.gz",
"bin": "./${package}-v${version}-${rust_target}/${package}${exe}",
"platform": {
"x86_64_linux_gnu": {},
"x86_64_linux_musl": {},
"x86_64_macos": {},
"x86_64_windows": {
"asset_name": "${package}-v${version}-${rust_target}.zip"
},
"aarch64_linux_musl": {},
"aarch64_macos": {},
"aarch64_windows": {
"asset_name": "${package}-v${version}-${rust_target}.zip"
}
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,23 +0,0 @@
{
"repository": "https://github.com/anchore/syft",
"tag_prefix": "v",
"bin": "${package}${exe}",
"version_range": ">= 0.83.0",
"platform": {
"x86_64_macos": {
"asset_name": "${package}_${version}_darwin_amd64.tar.gz"
},
"aarch64_macos": {
"asset_name": "${package}_${version}_darwin_arm64.tar.gz"
},
"x86_64_windows": {
"asset_name": "${package}_${version}_windows_amd64.zip"
},
"x86_64_linux_musl": {
"asset_name": "${package}_${version}_linux_amd64.tar.gz"
},
"aarch64_linux_musl": {
"asset_name": "${package}_${version}_linux_arm64.tar.gz"
}
}
}

View File

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

View File

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

View File

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

View File

@@ -31,7 +31,7 @@ fn main() -> Result<()> {
fs::create_dir_all(manifest_path.parent().unwrap())?;
fs::create_dir_all(download_cache_dir)?;
let mut base_info: BaseManifest = serde_json::from_slice(&fs::read(
let base_info: BaseManifest = serde_json::from_slice(&fs::read(
workspace_root
.join("tools/codegen/base")
.join(format!("{package}.json")),
@@ -74,20 +74,6 @@ fn main() -> Result<()> {
})
.collect();
let mut crates_io_info = None;
base_info.rust_crate = base_info
.rust_crate
.as_ref()
.map(|s| replace_vars(s, package, None, None))
.transpose()?;
if let Some(crate_name) = &base_info.rust_crate {
eprintln!("downloading crate info from https://crates.io/api/v1/crates/{crate_name}");
crates_io_info = Some(
download(&format!("https://crates.io/api/v1/crates/{crate_name}"))?
.into_json::<crates_io::Crate>()?,
);
}
let mut manifests: Manifests = Manifests::default();
let mut semver_versions = BTreeSet::new();
let mut has_build_metadata = false;
@@ -103,14 +89,16 @@ fn main() -> Result<()> {
Ok(m) => {
manifests = m;
for (k, manifest) in &mut manifests.map {
let ManifestRef::Real(manifest) = manifest else {
continue;
};
let ManifestRef::Real(manifest) = manifest else { continue };
let version = &*k.0.to_string();
if let Some(template) = &manifests.template {
for (platform, d) in &mut manifest.download_info {
let template = &template.download_info[platform];
d.url = Some(template.url.replace("${version}", version));
d.bin_dir = template
.bin_dir
.as_ref()
.map(|s| s.replace("${version}", version));
d.bin = template
.bin
.as_ref()
@@ -187,7 +175,7 @@ fn main() -> Result<()> {
.with_context(|| format!("asset_name is needed for {package} on {platform:?}"))?
.as_slice()
.iter()
.map(|asset_name| replace_vars(asset_name, package, Some(version), Some(platform)))
.map(|asset_name| replace_vars(asset_name, package, version, platform))
.collect::<Result<Vec<_>>>()?;
let (url, asset_name) = match asset_names.iter().find_map(|asset_name| {
release
@@ -215,7 +203,7 @@ fn main() -> Result<()> {
fs::File::open(download_cache)?.read_to_end(&mut buf)?;
} else {
download(&url)?.into_reader().read_to_end(&mut buf)?;
eprintln!(" download complete");
eprintln!(" downloaded complete");
fs::write(download_cache, &buf)?;
}
eprintln!("getting sha256 hash for {url}");
@@ -228,11 +216,16 @@ fn main() -> Result<()> {
ManifestDownloadInfo {
url: Some(url),
checksum: hash,
bin_dir: base_download_info
.bin_dir
.as_ref()
.or(base_info.bin_dir.as_ref())
.cloned(),
bin: base_download_info
.bin
.as_ref()
.or(base_info.bin.as_ref())
.map(|s| replace_vars(s, package, Some(version), Some(platform)))
.map(|s| replace_vars(s, package, version, platform))
.transpose()?,
},
);
@@ -242,24 +235,18 @@ fn main() -> Result<()> {
eprintln!("no release asset for {package} {version}");
continue;
}
// compact manifest
if download_info.contains_key(&HostPlatform::x86_64_linux_gnu)
&& download_info.contains_key(&HostPlatform::x86_64_linux_musl)
{
download_info.remove(&HostPlatform::x86_64_linux_gnu);
}
if download_info.contains_key(&HostPlatform::aarch64_linux_gnu)
&& download_info.contains_key(&HostPlatform::aarch64_linux_musl)
{
download_info.remove(&HostPlatform::aarch64_linux_gnu);
}
if download_info.contains_key(&HostPlatform::x86_64_macos)
&& download_info.contains_key(&HostPlatform::aarch64_macos)
&& download_info[&HostPlatform::x86_64_macos].url
== download_info[&HostPlatform::aarch64_macos].url
{
// macOS universal binary or x86_64 binary that works on both x86_64 and aarch64 (rosetta).
download_info.remove(&HostPlatform::aarch64_macos);
if !base_info.prefer_linux_gnu {
// compact manifest
if download_info.contains_key(&HostPlatform::x86_64_linux_gnu)
&& download_info.contains_key(&HostPlatform::x86_64_linux_musl)
{
download_info.remove(&HostPlatform::x86_64_linux_gnu);
}
if download_info.contains_key(&HostPlatform::aarch64_linux_gnu)
&& download_info.contains_key(&HostPlatform::aarch64_linux_musl)
{
download_info.remove(&HostPlatform::aarch64_linux_gnu);
}
}
has_build_metadata |= !semver_version.build.is_empty();
if semver_version.pre.is_empty() {
@@ -277,13 +264,6 @@ fn main() -> Result<()> {
} else if !semver_versions.is_empty() {
let mut prev_version = semver_versions.iter().next().unwrap();
for version in &semver_versions {
if let Some(crates_io_info) = &crates_io_info {
if let Some(v) = crates_io_info.versions.iter().find(|v| v.num == *version) {
if v.yanked {
continue;
}
}
}
if !(version.major == 0 && version.minor == 0) {
manifests.map.insert(
Reverse(Version::omitted(version.major, Some(version.minor))),
@@ -310,38 +290,32 @@ fn main() -> Result<()> {
);
}
let ManifestRef::Ref {
version: latest_version,
} = manifests.map.first_key_value().unwrap().1.clone()
else {
unreachable!()
};
let ManifestRef::Ref { version: latest_version } = manifests.map.first_key_value().unwrap().1.clone() else { unreachable!() };
if latest_only {
manifests
.map
.retain(|k, _| k.0 == Version::latest() || k.0 == latest_version);
}
let ManifestRef::Real(latest_manifest) = &manifests.map[&Reverse(latest_version.clone())]
else {
unreachable!()
};
let ManifestRef::Real(latest_manifest) = &manifests.map[&Reverse(latest_version.clone())] else { unreachable!() };
for &p in base_info.platform.keys() {
if latest_manifest.download_info.contains_key(&p) {
continue;
}
if p == HostPlatform::x86_64_linux_gnu
&& latest_manifest
.download_info
.contains_key(&HostPlatform::x86_64_linux_musl)
{
continue;
}
if p == HostPlatform::aarch64_linux_gnu
&& latest_manifest
.download_info
.contains_key(&HostPlatform::aarch64_linux_musl)
{
continue;
if !base_info.prefer_linux_gnu {
if p == HostPlatform::x86_64_linux_gnu
&& latest_manifest
.download_info
.contains_key(&HostPlatform::x86_64_linux_musl)
{
continue;
}
if p == HostPlatform::aarch64_linux_gnu
&& latest_manifest
.download_info
.contains_key(&HostPlatform::aarch64_linux_musl)
{
continue;
}
}
bail!(
"platform list in base manifest for {package} contains {p:?}, \
@@ -354,16 +328,15 @@ fn main() -> Result<()> {
download_info: BTreeMap::new(),
});
'outer: for (version, manifest) in &mut manifests.map {
let ManifestRef::Real(manifest) = manifest else {
continue;
};
let ManifestRef::Real(manifest) = manifest else { continue };
let version = &*version.0.to_string();
let t = template.as_mut().unwrap();
for (platform, d) in &mut manifest.download_info {
let template_url = d.url.take().unwrap().replace(version, "${version}");
let template_bin_dir = d.bin_dir.take().map(|s| s.replace(version, "${version}"));
let template_bin = d.bin.take().map(|s| s.replace(version, "${version}"));
if let Some(d) = t.download_info.get(platform) {
if template_url != d.url || template_bin != d.bin {
if template_url != d.url || template_bin_dir != d.bin_dir || template_bin != d.bin {
template = None;
break 'outer;
}
@@ -372,6 +345,7 @@ fn main() -> Result<()> {
*platform,
ManifestTemplateDownloadInfo {
url: template_url,
bin_dir: template_bin_dir,
bin: template_bin,
},
);
@@ -384,8 +358,6 @@ fn main() -> Result<()> {
manifests.template = template;
}
manifests.rust_crate = base_info.rust_crate;
let mut buf = serde_json::to_vec_pretty(&manifests)?;
buf.push(b'\n');
fs::write(manifest_path, buf)?;
@@ -400,22 +372,13 @@ fn workspace_root() -> PathBuf {
dir
}
fn replace_vars(
s: &str,
package: &str,
version: Option<&str>,
platform: Option<HostPlatform>,
) -> Result<String> {
let mut s = s.replace("${package}", package).replace("${tool}", package);
if let Some(platform) = platform {
s = s
.replace("${rust_target}", platform.rust_target())
.replace("${os_name}", platform.os_name())
.replace("${exe}", platform.exe_suffix());
}
if let Some(version) = version {
s = s.replace("${version}", version);
}
fn replace_vars(s: &str, package: &str, version: &str, platform: HostPlatform) -> Result<String> {
let s = s
.replace("${package}", package)
.replace("${tool}", package)
.replace("${rust_target}", platform.rust_target())
.replace("${version}", version)
.replace("${exe}", platform.exe_suffix());
if s.contains('$') {
bail!("variable not fully replaced: '{s}'");
}
@@ -423,20 +386,29 @@ fn replace_vars(
}
fn download(url: &str) -> Result<ureq::Response> {
let mut token = env::var("GITHUB_TOKEN").ok().filter(|v| !v.is_empty());
let mut token1 = env::var("INTERNAL_CODEGEN_GH_PAT")
.ok()
.filter(|v| !v.is_empty());
let mut token2 = env::var("GITHUB_TOKEN").ok().filter(|v| !v.is_empty());
let mut retry = 0;
let mut last_error;
loop {
let mut req = ureq::get(url);
if let Some(token) = &token {
if let Some(token) = &token1 {
req = req.set("Authorization", token);
} else if let Some(token) = &token2 {
req = req.set("Authorization", token);
}
match req.call() {
Ok(res) => return Ok(res),
Err(e) => last_error = Some(e),
}
if retry == 5 && token.is_some() {
token = None;
if retry == 3 || retry == 6 {
if token1.is_some() {
token1 = None;
} else if token2.is_some() {
token2 = None;
}
}
retry += 1;
if retry > 10 {
@@ -587,7 +559,6 @@ impl<'de> Deserialize<'de> for Version {
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
struct Manifests {
rust_crate: Option<String>,
template: Option<ManifestTemplate>,
#[serde(flatten)]
map: BTreeMap<Reverse<Version>, ManifestRef>,
@@ -611,6 +582,9 @@ struct ManifestDownloadInfo {
#[serde(skip_serializing_if = "Option::is_none")]
url: Option<String>,
checksum: String,
/// Default to ${cargo_bin}
#[serde(skip_serializing_if = "Option::is_none")]
bin_dir: Option<String>,
/// Default to ${tool}${exe}
#[serde(skip_serializing_if = "Option::is_none")]
bin: Option<String>,
@@ -625,6 +599,9 @@ struct ManifestTemplate {
#[derive(Debug, Clone, Serialize, Deserialize)]
struct ManifestTemplateDownloadInfo {
url: String,
/// Default to ${cargo_bin}
#[serde(skip_serializing_if = "Option::is_none")]
bin_dir: Option<String>,
/// Default to ${tool}${exe}
#[serde(skip_serializing_if = "Option::is_none")]
bin: Option<String>,
@@ -637,14 +614,17 @@ struct BaseManifest {
repository: String,
/// Prefix of release tag.
tag_prefix: String,
/// Crate name, if this is Rust crate.
rust_crate: Option<String>,
default_major_version: Option<String>,
/// Asset name patterns.
asset_name: Option<StringOrArray>,
/// Directory where binary is installed. Default to `${cargo_bin}`.
bin_dir: Option<String>,
/// Path to binary in archive. Default to `${tool}${exe}`.
bin: Option<String>,
platform: BTreeMap<HostPlatform, BaseManifestPlatformInfo>,
/// Use glibc build if host_env is gnu.
#[serde(default)]
prefer_linux_gnu: bool,
version_range: Option<String>,
}
@@ -653,6 +633,8 @@ struct BaseManifest {
struct BaseManifestPlatformInfo {
/// Asset name patterns. Default to the value at `BaseManifest::asset_name`.
asset_name: Option<StringOrArray>,
/// Directory where binary is installed. Default to the value at `BaseManifest::bin_dir`.
bin_dir: Option<String>,
/// Path to binary in archive. Default to the value at `BaseManifest::bin`.
bin: Option<String>,
}
@@ -716,16 +698,6 @@ impl HostPlatform {
Self::aarch64_windows => "aarch64-pc-windows-msvc",
}
}
fn os_name(self) -> &'static str {
match self {
Self::aarch64_linux_gnu
| Self::aarch64_linux_musl
| Self::x86_64_linux_gnu
| Self::x86_64_linux_musl => "linux",
Self::aarch64_macos | Self::x86_64_macos => "macos",
Self::aarch64_windows | Self::x86_64_windows => "windows",
}
}
fn exe_suffix(self) -> &'static str {
match self {
Self::x86_64_windows | Self::aarch64_windows => ".exe",
@@ -755,19 +727,3 @@ mod github {
pub browser_download_url: String,
}
}
mod crates_io {
use serde::Deserialize;
// https://crates.io/api/v1/crates/<crate>
#[derive(Debug, Deserialize)]
pub struct Crate {
pub versions: Vec<Version>,
}
#[derive(Debug, Deserialize)]
pub struct Version {
pub num: semver::Version,
pub yanked: bool,
}
}

View File

@@ -1,5 +1,4 @@
#!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0 OR MIT
set -euo pipefail
IFS=$'\n\t'
cd "$(dirname "$0")"/..
@@ -15,6 +14,6 @@ if [[ $# -gt 0 ]]; then
fi
for manifest in tools/codegen/base/*.json; do
package=$(basename "${manifest%.*}")
package="$(basename "${manifest%.*}")"
cargo run --release -p install-action-internal-codegen -- "${package}" latest
done

View File

@@ -1,11 +1,10 @@
#!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0 OR MIT
set -euo pipefail
IFS=$'\n\t'
cd "$(dirname "$0")"/..
# shellcheck disable=SC2154
trap 's=$?; echo >&2 "$0: error on line "${LINENO}": ${BASH_COMMAND}"; exit ${s}' ERR
trap 's=$?; echo >&2 "$0: Error on line "${LINENO}": ${BASH_COMMAND}"; exit ${s}' ERR
# Publish a new release.
#
@@ -102,51 +101,7 @@ if [[ -n "${tags}" ]]; then
x git commit -m "Release ${version}"
fi
tools=()
for tool in tools/codegen/base/*.json; do
tools+=("$(basename "${tool%.*}")")
done
# Not manifest-based
tools+=(valgrind nextest cargo-nextest)
(
set -x
git tag "${tag}"
git push origin main
git push origin --tags
major_version_tag="v${version%%.*}"
git checkout -b "${major_version_tag}"
git push origin refs/heads/"${major_version_tag}"
if git --no-pager tag | grep -Eq "^${major_version_tag}$"; then
git tag -d "${major_version_tag}"
git push --delete origin refs/tags/"${major_version_tag}"
fi
git tag "${major_version_tag}"
git checkout main
git branch -d "${major_version_tag}"
)
for tool in "${tools[@]}"; do
(
set -x
git checkout -b "${tool}"
sed -i -e "s/required: true/required: false/g" action.yml
sed -i -e "s/# default: #publish:tool/default: ${tool}/g" action.yml
git add action.yml
git commit -m "${tool}"
git push origin -f refs/heads/"${tool}"
if git --no-pager tag | grep -Eq "^${tool}$"; then
git tag -d "${tool}"
git push --delete origin refs/tags/"${tool}"
fi
git tag "${tool}"
git checkout main
git branch -D "${tool}"
)
done
set -x
git push origin --tags
x git tag "${tag}"
# TODO: the following still assumes admin permissions
x git push origin main
x git push origin --tags

View File

@@ -1,12 +1,11 @@
#!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0 OR MIT
# shellcheck disable=SC2046
set -euo pipefail
IFS=$'\n\t'
cd "$(dirname "$0")"/..
# shellcheck disable=SC2154
trap 's=$?; echo >&2 "$0: error on line "${LINENO}": ${BASH_COMMAND}"; exit ${s}' ERR
trap 's=$?; echo >&2 "$0: Error on line "${LINENO}": ${BASH_COMMAND}"; exit ${s}' ERR
# USAGE:
# ./tools/tidy.sh
@@ -34,9 +33,6 @@ check_diff() {
fi
fi
}
info() {
echo >&2 "info: $*"
}
warn() {
if [[ -n "${GITHUB_ACTIONS:-}" ]]; then
echo "::warning::$*"
@@ -45,14 +41,6 @@ warn() {
fi
should_fail=1
}
error() {
if [[ -n "${GITHUB_ACTIONS:-}" ]]; then
echo "::error::$*"
else
echo >&2 "error: $*"
fi
should_fail=1
}
if [[ $# -gt 0 ]]; then
cat <<EOF
@@ -64,7 +52,6 @@ fi
# Rust (if exists)
if [[ -n "$(git ls-files '*.rs')" ]]; then
info "checking Rust code style"
if type -P rustup &>/dev/null; then
# `cargo fmt` cannot recognize files not included in the current workspace and modules
# defined inside macros, so run rustfmt directly.
@@ -83,40 +70,10 @@ if [[ -n "$(git ls-files '*.rs')" ]]; then
else
warn "'rustup' is not installed"
fi
cast_without_turbofish=$(grep -n -E '\.cast\(\)' $(git ls-files '*.rs') || true)
if [[ -n "${cast_without_turbofish}" ]]; then
error "please replace \`.cast()\` with \`.cast::<type_name>()\`:"
echo "${cast_without_turbofish}"
fi
first='1'
for readme in $(git ls-files '*README.md'); do
if ! grep -q '^<!-- tidy:crate-doc:start -->' "${readme}"; then
continue
fi
lib="$(dirname "${readme}")/src/lib.rs"
if [[ -n "${first}" ]]; then
first=''
info "checking readme and crate-level doc are synchronized"
fi
if ! grep -q '^<!-- tidy:crate-doc:end -->' "${readme}"; then
bail "missing '<!-- tidy:crate-doc:end -->' comment in ${readme}"
fi
if ! grep -q '^<!-- tidy:crate-doc:start -->' "${lib}"; then
bail "missing '<!-- tidy:crate-doc:start -->' comment in ${lib}"
fi
if ! grep -q '^<!-- tidy:crate-doc:end -->' "${lib}"; then
bail "missing '<!-- tidy:crate-doc:end -->' comment in ${lib}"
fi
new=$(tr <"${readme}" '\n' '\a' | grep -o '<!-- tidy:crate-doc:start -->.*<!-- tidy:crate-doc:end -->' | sed 's/\&/\\\&/g; s/\\/\\\\/g')
new=$(tr <"${lib}" '\n' '\a' | awk -v new="${new}" 'gsub("<!-- tidy:crate-doc:start -->.*<!-- tidy:crate-doc:end -->",new)' | tr '\a' '\n')
echo "${new}" >"${lib}"
check_diff "${lib}"
done
fi
# C/C++ (if exists)
if [[ -n "$(git ls-files '*.c')$(git ls-files '*.cpp')" ]]; then
info "checking C/C++ code style"
if [[ ! -e .clang-format ]]; then
warn "could not fount .clang-format in the repository root"
fi
@@ -131,7 +88,6 @@ fi
# YAML/JavaScript/JSON (if exists)
if [[ -n "$(git ls-files '*.yml')$(git ls-files '*.js')$(git ls-files '*.json')" ]]; then
info "checking YAML/JavaScript/JSON code style"
if type -P npm &>/dev/null; then
echo "+ npx prettier -l -w \$(git ls-files '*.yml') \$(git ls-files '*.js') \$(git ls-files '*.json')"
npx prettier -l -w $(git ls-files '*.yml') $(git ls-files '*.js') $(git ls-files '*.json')
@@ -141,15 +97,14 @@ if [[ -n "$(git ls-files '*.yml')$(git ls-files '*.js')$(git ls-files '*.json')"
fi
# Check GitHub workflows.
if [[ -d .github/workflows ]]; then
info "checking GitHub workflows"
if type -P jq &>/dev/null && type -P yq &>/dev/null; then
for workflow in .github/workflows/*.yml; do
# The top-level permissions must be weak as they are referenced by all jobs.
permissions=$(yq '.permissions' "${workflow}" | jq -c)
case "${permissions}" in
'{"contents":"read"}' | '{"contents":"none"}' | '{}') ;;
null) error "${workflow}: top level permissions not found; it must be 'contents: read' or weaker permissions" ;;
*) error "${workflow}: only 'contents: read' and weaker permissions are allowed at top level; if you want to use stronger permissions, please set job-level permissions" ;;
null) warn "${workflow}: top level permissions not found; it must be 'contents: read' or weaker permissions" ;;
*) warn "${workflow}: only 'contents: read' and weaker permissions are allowed at top level; if you want to use stronger permissions, please set job-level permissions" ;;
esac
# Make sure the 'needs' section is not out of date.
if grep -q '# tidy:needs' "${workflow}" && ! grep -Eq '# *needs: \[' "${workflow}"; then
@@ -162,7 +117,7 @@ if [[ -n "$(git ls-files '*.yml')$(git ls-files '*.js')$(git ls-files '*.json')"
printf -v jobs '%s, ' "${jobs_actual[@]}"
sed -i "s/needs: \[.*\] # tidy:needs/needs: [${jobs%, }] # tidy:needs/" "${workflow}"
check_diff "${workflow}"
error "${workflow}: please update 'needs' section in 'ci-success' job"
warn "${workflow}: please update 'needs' section in 'ci-success' job"
fi
fi
done
@@ -172,12 +127,11 @@ if [[ -n "$(git ls-files '*.yml')$(git ls-files '*.js')$(git ls-files '*.json')"
fi
fi
if [[ -n "$(git ls-files '*.yaml')" ]]; then
error "please use '.yml' instead of '.yaml' for consistency"
warn "please use '.yml' instead of '.yaml' for consistency"
git ls-files '*.yaml'
fi
# Shell scripts
info "checking Shell scripts"
if type -P shfmt &>/dev/null; then
echo "+ shfmt -l -w \$(git ls-files '*.sh')"
shfmt -l -w $(git ls-files '*.sh')
@@ -201,52 +155,10 @@ else
warn "'shellcheck' is not installed"
fi
# License check
# TODO: This check is still experimental and does not track all files that should be tracked.
if [[ -f tools/.tidy-check-license-headers ]]; then
info "checking license headers (experimental)"
failed_files=''
for p in $(eval $(<tools/.tidy-check-license-headers)); do
# TODO: More file types?
case "$(basename "${p}")" in
*.sh) prefix=("# ") ;;
*.rs | *.c | *.h | *.cpp | *.hpp | *.s | *.S) prefix=("// " "/* ") ;;
*.ld | *.x) prefix=("/* ") ;;
*) error "unrecognized file type: ${p}" ;;
esac
# TODO: The exact line number is not actually important; it is important
# that it be part of the top-level comments of the file.
line="1"
case "${p}" in
*.sh) line="2" ;; # shebang
esac
header_found=''
for pre in "${prefix[@]}"; do
if [[ "$(grep -E -n "${pre}SPDX-License-Identifier: " "${p}")" == "${line}:${pre}SPDX-License-Identifier: "* ]]; then
header_found='1'
continue
fi
done
if [[ -z "${header_found}" ]]; then
failed_files+="${p}:${line}"$'\n'
fi
done
if [[ -n "${failed_files}" ]]; then
error "license-check failed: please add SPDX-License-Identifier to the following files"
echo "======================================="
echo -n "${failed_files}"
echo "======================================="
fi
fi
# Spell check (if config exists)
if [[ -f .cspell.json ]]; then
info "spell checking"
project_dictionary=.github/.cspell/project-dictionary.txt
if type -P npm &>/dev/null; then
has_rust=''
if [[ -n "$(git ls-files '*Cargo.toml')" ]]; then
has_rust='1'
dependencies=''
for manifest_path in $(git ls-files '*Cargo.toml'); do
if [[ "${manifest_path}" != "Cargo.toml" ]] && ! grep -Eq '\[workspace\]' "${manifest_path}"; then
@@ -254,27 +166,24 @@ if [[ -f .cspell.json ]]; then
fi
metadata=$(cargo metadata --format-version=1 --all-features --no-deps --manifest-path "${manifest_path}")
for id in $(jq <<<"${metadata}" '.workspace_members[]'); do
dependencies+="$(jq <<<"${metadata}" ".packages[] | select(.id == ${id})" | jq -r '.dependencies[].name')"$'\n'
dependencies+=$'\n'
dependencies+=$(jq <<<"${metadata}" ".packages[] | select(.id == ${id})" | jq -r '.dependencies[].name')
done
done
# shellcheck disable=SC2001
dependencies=$(sed <<<"${dependencies}" 's/[0-9_-]/\n/g' | LC_ALL=C sort -f -u)
config_old=$(<.cspell.json)
config_new=$(grep <<<"${config_old}" -v ' *//' | jq 'del(.dictionaries[] | select(index("organization-dictionary") | not))' | jq 'del(.dictionaryDefinitions[] | select(.name == "organization-dictionary" | not))')
echo "${config_new}" >.cspell.json
words=$(npx <<<"${dependencies}" cspell stdin --no-progress --no-summary --words-only --unique || true)
echo "${config_old}" >.cspell.json
fi
config_old=$(<.cspell.json)
config_new=$(grep <<<"${config_old}" -v ' *//' | jq 'del(.dictionaries[] | select(index("organization-dictionary") | not))' | jq 'del(.dictionaryDefinitions[] | select(.name == "organization-dictionary" | not))')
echo "${config_new}" >.cspell.json
if [[ -n "${has_rust}" ]]; then
dependencies_words=$(npx <<<"${dependencies}" cspell stdin --no-progress --no-summary --words-only --unique || true)
fi
all_words=$(npx cspell --no-progress --no-summary --words-only --unique $(git ls-files | (grep -v "${project_dictionary//\./\\.}" || true)) || true)
# TODO: handle SIGINT
echo "${config_old}" >.cspell.json
cat >.github/.cspell/rust-dependencies.txt <<EOF
// This file is @generated by $(basename "$0").
// It is not intended for manual editing.
EOF
if [[ -n "${dependencies_words:-}" ]]; then
echo $'\n'"${dependencies_words}" >>.github/.cspell/rust-dependencies.txt
if [[ -n "${words:-}" ]]; then
echo $'\n'"${words}" >>.github/.cspell/rust-dependencies.txt
fi
check_diff .github/.cspell/rust-dependencies.txt
if ! grep -Eq "^\.github/\.cspell/rust-dependencies.txt linguist-generated" .gitattributes; then
@@ -282,37 +191,20 @@ EOF
fi
echo "+ npx cspell --no-progress --no-summary \$(git ls-files)"
if ! npx cspell --no-progress --no-summary $(git ls-files); then
error "spellcheck failed: please fix uses of above words or add to ${project_dictionary} if correct"
fi
npx cspell --no-progress --no-summary $(git ls-files)
# Make sure the project-specific dictionary does not contain duplicated words.
for dictionary in .github/.cspell/*.txt; do
if [[ "${dictionary}" == "${project_dictionary}" ]]; then
if [[ "${dictionary}" == .github/.cspell/project-dictionary.txt ]]; then
continue
fi
dup=$(sed '/^$/d' "${project_dictionary}" "${dictionary}" | LC_ALL=C sort -f | uniq -d -i | (grep -v '//.*' || true))
dup=$(sed '/^$/d' .github/.cspell/project-dictionary.txt "${dictionary}" | LC_ALL=C sort -f | uniq -d -i | (grep -v '//.*' || true))
if [[ -n "${dup}" ]]; then
error "duplicated words in dictionaries; please remove the following words from ${project_dictionary}"
warn "duplicated words in dictionaries; please remove the following words from .github/.cspell/project-dictionary.txt"
echo "======================================="
echo "${dup}"
echo "======================================="
fi
done
# Make sure the project-specific dictionary does not contain unused words.
unused=''
for word in $(grep -v '//.*' "${project_dictionary}" || true); do
if ! grep <<<"${all_words}" -Eq -i "^${word}$"; then
unused+="${word}"$'\n'
fi
done
if [[ -n "${unused}" ]]; then
error "unused words in dictionaries; please remove the following words from ${project_dictionary}"
echo "======================================="
echo -n "${unused}"
echo "======================================="
fi
else
warn "'npm' is not installed"
fi