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
78 changed files with 1495 additions and 7256 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

@@ -6,17 +6,15 @@ taiki
// tool name and its configs or options
asan
cdylib
cflags
clippy
codegen
cxxflags
dylib
exitcode
miri
miriflags
msan
rlib
retag
rustc
rustdoc
rustdocflags
@@ -24,15 +22,13 @@ rustflags
rustfmt
rustsec
rustup
staticlib
tsan
valgrind
xcompile
Zdoctest
Zmiri
// Rust target triple/spec
// Rust target triple
aarch
amdgpu
androideabi
armeb
armebv
@@ -41,7 +37,6 @@ asmjs
atmega
bpfeb
bpfel
csky
cuda
eabi
eabihf
@@ -49,7 +44,6 @@ emscripten
espidf
fortanix
gnuabi
gnuabiv
gnueabi
gnueabihf
gnullvm
@@ -57,7 +51,6 @@ gnuspe
gnux
illumos
imac
libnx
loongarch
macabi
mipsel
@@ -66,17 +59,12 @@ msvc
muslabi
musleabi
musleabihf
newlib
newlibeabihf
nvptx
ohos
openwrt
relibc
riscv
softfloat
sparcv
spirv
teeos
thumbeb
thumbebv
thumbv
@@ -97,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
@@ -148,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,27 +1,30 @@
almalinux
binstall
bytecodealliance
coreutils
distro
doas
dprint
enablerepo
endgroup
epel
grcov
incompat
jfrimmel
koalaman
libc
linkcheck
mdbook
microdnf
mvdan
nextest
protobuf
protoc
pubkey
protocolbuffers
pwsh
quickinstall
rockylinux
rustwasm
shellcheck
shfmt
syft
udeps
wasmtime
watchexec
xbuild
xscale

View File

@@ -1,6 +1,4 @@
// This file is @generated by tidy.sh.
// It is not intended for manual editing.
flate
minisign
ureq

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,34 +38,36 @@ 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
- os: ubuntu-22.04
tool: major.minor.patch
- os: ubuntu-22.04
tool: major.minor
- os: ubuntu-22.04
tool: major
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: 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: cargo-valgrind@2,just@1,protoc@3,shfmt@3,wasmtime@4,cargo-watch@8,watchexec-cli@1
- os: macos-11
- os: macos-12
- os: macos-13
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:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
with:
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
@@ -81,10 +83,6 @@ jobs:
run: just --version; shfmt --version; protoc --version
shell: powershell
if: startsWith(matrix.os, 'windows')
- name: Test cmd
run: just --version & shfmt --version & protoc --version
shell: cmd
if: startsWith(matrix.os, 'windows')
# We use the version output to check the version of binstall, but they
# several times change the version output format in the past so we need to
# check it with CI. (e.g., 0.14.0->0.16.0 update change it
@@ -101,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)
- almalinux:8 # glibc 2.28
- almalinux:8-minimal # glibc 2.28
- almalinux:9 # glibc 2.34
- almalinux:9-minimal # glibc 2.34
- centos:7 # glibc 2.17
- alpine:latest # musl 1.2.4 (as of alpine 3.18)
- rockylinux:8 # glibc 2.28
- rockylinux:8-minimal # glibc 2.28
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 }}
@@ -120,50 +127,38 @@ 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/almalinux/centos)
- name: Install requirements (fedora/rockylinux)
run: |
set -euxo pipefail
if ! type -P dnf &>/dev/null && type -P microdnf &>/dev/null; then
# tar and gzip are required for actions/checkout on *-minimal images
microdnf install -y tar gzip
dnf=dnf
if ! type -P dnf &>/dev/null; then
dnf=microdnf
fi
curl --proto '=https' --tlsv1.2 -fsSL --retry 10 https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain stable
# tar and gzip are required for actions/checkout on rockylinux:*-minimal
$dnf install -y cargo tar gzip
if: startsWith(matrix.container, 'fedora') || startsWith(matrix.container, 'rockylinux')
- name: Install requirements (centos)
run: |
set -euxo pipefail
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain stable
echo "$HOME/.cargo/bin" >>"${GITHUB_PATH}"
if: startsWith(matrix.container, 'fedora') || startsWith(matrix.container, 'almalinux') || startsWith(matrix.container, 'centos')
if: startsWith(matrix.container, 'centos')
- name: Install requirements (alpine)
run: |
set -eux
apk --no-cache add bash cargo
shell: sh
if: startsWith(matrix.container, 'alpine')
- uses: actions/checkout@v3 # TODO: actions/checkout@v4 requires glibc 2.28+
- uses: actions/checkout@v3
with:
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 }}
test-no-cargo:
runs-on: ubuntu-latest
timeout-minutes: 60
container: ubuntu:22.04
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- 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
@@ -172,7 +167,7 @@ jobs:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
with:
persist-credentials: false
- name: Install Rust
@@ -180,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

@@ -20,7 +20,7 @@ jobs:
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
with:
persist-credentials: false
- uses: taiki-e/create-gh-release-action@v1
@@ -29,3 +29,4 @@ jobs:
title: $version
branch: 'main|v[0-9]+'
token: ${{ secrets.GITHUB_TOKEN }}
- run: ci/publish.sh

View File

@@ -1,32 +1 @@
# Rustfmt configuration
# https://github.com/rust-lang/rustfmt/blob/HEAD/Configurations.md
# Rustfmt cannot format long lines inside macros, but this option detects this.
# This is unstable (tracking issue: https://github.com/rust-lang/rustfmt/issues/3391)
error_on_line_overflow = true
# Override the default formatting style.
# See https://internals.rust-lang.org/t/running-rustfmt-on-rust-lang-rust-and-other-rust-lang-repositories/8732/81.
use_small_heuristics = "Max"
# See https://github.com/rust-dev-tools/fmt-rfcs/issues/149.
# This is unstable (tracking issue: https://github.com/rust-lang/rustfmt/issues/3370)
overflow_delimited_expr = true
# This is unstable (tracking issue: none).
imports_granularity = "Crate"
# This is unstable (tracking issue: none).
group_imports = "StdExternalCrate"
# Apply rustfmt to more places.
# This is unstable (tracking issue: https://github.com/rust-lang/rustfmt/issues/3348).
format_code_in_doc_comments = true
# Automatically fix deprecated style.
use_field_init_shorthand = true
use_try_shorthand = true
# Set the default settings again to always apply the proper formatting without
# being affected by the editor settings.
edition = "2018"
hard_tabs = false
newline_style = "Unix"
tab_spaces = 4
edition = "2021"

View File

@@ -10,574 +10,6 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
## [Unreleased]
## [2.19.1] - 2023-09-28
- Update `cargo-binstall@latest` to 1.4.2.
## [2.19.0] - 2023-09-28
- Support signature verification. ([#237](https://github.com/taiki-e/install-action/pull/237))
- Update `cargo-binstall@latest` to 1.4.1. This includes support for signature verification.
- Update `syft@latest` to 0.92.0.
- Update `cargo-make@latest` to 0.37.2.
## [2.18.17] - 2023-09-26
- Update `cargo-llvm-cov@latest` to 0.5.33.
## [2.18.16] - 2023-09-23
- Update `cargo-machete@latest` to 0.6.0.
- Update `cargo-llvm-cov@latest` to 0.5.32.
## [2.18.15] - 2023-09-22
- Update `cargo-careful@latest` to 0.4.0.
## [2.18.14] - 2023-09-21
- Update `syft@latest` to 0.91.0.
- Update `wasmtime@latest` to 13.0.0.
## [2.18.13] - 2023-09-17
- Update `cargo-tarpaulin@latest` to 0.27.0.
- Update `cargo-make@latest` to 0.37.1.
- Update `cargo-binstall@latest` to 1.3.1.
## [2.18.12] - 2023-09-16
- Fix some bugs on Windows.
## [2.18.11] - 2023-09-15
- Update `cargo-hack@latest` to 0.6.8.
## [2.18.10] - 2023-09-15
- Update `wasmtime@latest` to 12.0.2.
- Update `cargo-dinghy@latest` to 0.6.7.
## [2.18.9] - 2023-09-12
- Update `syft@latest` to 0.90.0.
## [2.18.8] - 2023-09-11
- Update `cargo-no-dev-deps@latest` to 0.2.7.
- Update `cargo-minimal-versions@latest` to 0.1.19.
- Update `cargo-hack@latest` to 0.6.7.
## [2.18.7] - 2023-09-11
- Update `cargo-dinghy@latest` to 0.6.5.
## [2.18.6] - 2023-09-10
- Update `dprint@latest` to 0.41.0.
- Update `cargo-no-dev-deps@latest` to 0.2.6.
- Update `cargo-minimal-versions@latest` to 0.1.18.
## [2.18.5] - 2023-09-09
- Update `cargo-no-dev-deps@latest` to 0.2.5.
- Update `cargo-minimal-versions@latest` to 0.1.17.
## [2.18.4] - 2023-09-09
- Update `cargo-hack@latest` to 0.6.6.
## [2.18.3] - 2023-09-08
- Update `cargo-make@latest` to 0.37.0.
## [2.18.2] - 2023-09-08
- Update `protoc@latest` to 3.24.3.
## [2.18.1] - 2023-09-05
- Diagnostic improvements.
## [2.18.0] - 2023-09-04
- Support `xbuild`. ([#212](https://github.com/taiki-e/install-action/pull/212), thanks @notgull)
- Update `cargo-hack@latest` to 0.6.5.
- Update `cargo-deny@latest` to 0.14.2.
## [2.17.8] - 2023-09-01
- Update `syft@latest` to 0.89.0.
## [2.17.7] - 2023-08-29
- Update `cargo-hack@latest` to 0.6.4.
## [2.17.6] - 2023-08-28
- Update `cargo-no-dev-deps@latest` to 0.2.4.
- Update `cargo-minimal-versions@latest` to 0.1.16.
- Update `cargo-hack@latest` to 0.6.3.
## [2.17.5] - 2023-08-28
- Update `cargo-hack@latest` to 0.6.2.
## [2.17.4] - 2023-08-28
- Update `cargo-hack@latest` to 0.6.1.
## [2.17.3] - 2023-08-28
- Update `cargo-minimal-versions@latest` to 0.1.15.
- Update `cargo-hack@latest` to 0.6.0.
## [2.17.2] - 2023-08-27
- Update `cargo-udeps@latest` to 0.1.42.
## [2.17.1] - 2023-08-26
- Update `syft@latest` to 0.88.0.
- Update `protoc@latest` to 3.24.2.
## [2.17.0] - 2023-08-25
- Update `cargo-binstall@latest` to 1.3.0.
## [2.16.5] - 2023-08-24
- Update `wasmtime@latest` to 12.0.1.
- Update `cargo-llvm-cov@latest` to 0.5.31.
## [2.16.4] - 2023-08-23
- Update `cargo-llvm-cov@latest` to 0.5.30.
## [2.16.3] - 2023-08-23
- Update `cargo-llvm-cov@latest` to 0.5.29.
## [2.16.2] - 2023-08-22
- Update `cargo-llvm-cov@latest` to 0.5.28.
## [2.16.1] - 2023-08-22
- Update `wasmtime@latest` to 12.0.0.
## [2.16.0] - 2023-08-19
- Support `cargo-machete`. ([#196](https://github.com/taiki-e/install-action/pull/196), thanks @tgnottingham)
## [2.15.6] - 2023-08-19
- Update `protoc@latest` to 3.24.1.
## [2.15.5] - 2023-08-18
- Update `syft@latest` to 0.87.1.
## [2.15.4] - 2023-08-15
- Update `syft@latest` to 0.87.0.
## [2.15.3] - 2023-08-14
- Update `cargo-minimal-versions@latest` to 0.1.14.
- Update `cargo-llvm-cov@latest` to 0.5.27.
## [2.15.2] - 2023-08-12
- Update `cargo-llvm-cov@latest` to 0.5.26.
## [2.15.1] - 2023-08-11
- Update `cargo-binstall@latest` to 1.2.1.
## [2.15.0] - 2023-08-10
- Update `cargo-binstall@latest` to 1.2.0.
- Update `cargo-make@latest` to 0.36.13.
## [2.14.3] - 2023-08-09
- Update `protoc@latest` to 3.24.0.
- Update `parse-changelog@latest` to 0.6.2.
## [2.14.2] - 2023-08-06
- Update `cargo-llvm-cov@latest` to 0.5.25.
- Update `cargo-hack@latest` to 0.5.29.
## [2.14.1] - 2023-08-06
- Update `mdbook@latest` to 0.4.34.
## [2.14.0] - 2023-08-05
- Use `cargo-binstall` to install `nextest`. ([#183](https://github.com/taiki-e/install-action/pull/183))
This is a change made in response to the request from the nextest maintainer, which potentially increases the installation time of nextest and the possibility of network errors during installation.
If you encounter network errors, you should usually be able to work around them by setting `GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}` environment variable.
## [2.13.6] - 2023-08-04
- Update `mdbook@latest` to 0.4.33.
## [2.13.5] - 2023-08-03
- Update `cargo-nextest@latest` to 0.9.57.
## [2.13.4] - 2023-08-02
- Update `cargo-nextest@latest` to 0.9.56.
- Update `cargo-deny@latest` to 0.14.1.
## [2.13.3] - 2023-08-01
- Update `dprint@latest` to 0.40.2.
## [2.13.2] - 2023-08-01
- Update `syft@latest` to 0.86.1.
## [2.13.1] - 2023-07-31
- Update `dprint@latest` to 0.40.1.
## [2.13.0] - 2023-07-31
- Support `cargo-careful`. ([#173](https://github.com/taiki-e/install-action/pull/173))
- Improve performance and robustness for cases where the host environment lacks the packages required for installation, such as containers or self-hosted runners.
## [2.12.23] - 2023-07-31
- Update `dprint@latest` to 0.40.0.
## [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.
@@ -1267,123 +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.19.1...HEAD
[2.19.1]: https://github.com/taiki-e/install-action/compare/v2.19.0...v2.19.1
[2.19.0]: https://github.com/taiki-e/install-action/compare/v2.18.17...v2.19.0
[2.18.17]: https://github.com/taiki-e/install-action/compare/v2.18.16...v2.18.17
[2.18.16]: https://github.com/taiki-e/install-action/compare/v2.18.15...v2.18.16
[2.18.15]: https://github.com/taiki-e/install-action/compare/v2.18.14...v2.18.15
[2.18.14]: https://github.com/taiki-e/install-action/compare/v2.18.13...v2.18.14
[2.18.13]: https://github.com/taiki-e/install-action/compare/v2.18.12...v2.18.13
[2.18.12]: https://github.com/taiki-e/install-action/compare/v2.18.11...v2.18.12
[2.18.11]: https://github.com/taiki-e/install-action/compare/v2.18.10...v2.18.11
[2.18.10]: https://github.com/taiki-e/install-action/compare/v2.18.9...v2.18.10
[2.18.9]: https://github.com/taiki-e/install-action/compare/v2.18.8...v2.18.9
[2.18.8]: https://github.com/taiki-e/install-action/compare/v2.18.7...v2.18.8
[2.18.7]: https://github.com/taiki-e/install-action/compare/v2.18.6...v2.18.7
[2.18.6]: https://github.com/taiki-e/install-action/compare/v2.18.5...v2.18.6
[2.18.5]: https://github.com/taiki-e/install-action/compare/v2.18.4...v2.18.5
[2.18.4]: https://github.com/taiki-e/install-action/compare/v2.18.3...v2.18.4
[2.18.3]: https://github.com/taiki-e/install-action/compare/v2.18.2...v2.18.3
[2.18.2]: https://github.com/taiki-e/install-action/compare/v2.18.1...v2.18.2
[2.18.1]: https://github.com/taiki-e/install-action/compare/v2.18.0...v2.18.1
[2.18.0]: https://github.com/taiki-e/install-action/compare/v2.17.8...v2.18.0
[2.17.8]: https://github.com/taiki-e/install-action/compare/v2.17.7...v2.17.8
[2.17.7]: https://github.com/taiki-e/install-action/compare/v2.17.6...v2.17.7
[2.17.6]: https://github.com/taiki-e/install-action/compare/v2.17.5...v2.17.6
[2.17.5]: https://github.com/taiki-e/install-action/compare/v2.17.4...v2.17.5
[2.17.4]: https://github.com/taiki-e/install-action/compare/v2.17.3...v2.17.4
[2.17.3]: https://github.com/taiki-e/install-action/compare/v2.17.2...v2.17.3
[2.17.2]: https://github.com/taiki-e/install-action/compare/v2.17.1...v2.17.2
[2.17.1]: https://github.com/taiki-e/install-action/compare/v2.17.0...v2.17.1
[2.17.0]: https://github.com/taiki-e/install-action/compare/v2.16.5...v2.17.0
[2.16.5]: https://github.com/taiki-e/install-action/compare/v2.16.4...v2.16.5
[2.16.4]: https://github.com/taiki-e/install-action/compare/v2.16.3...v2.16.4
[2.16.3]: https://github.com/taiki-e/install-action/compare/v2.16.2...v2.16.3
[2.16.2]: https://github.com/taiki-e/install-action/compare/v2.16.1...v2.16.2
[2.16.1]: https://github.com/taiki-e/install-action/compare/v2.16.0...v2.16.1
[2.16.0]: https://github.com/taiki-e/install-action/compare/v2.15.6...v2.16.0
[2.15.6]: https://github.com/taiki-e/install-action/compare/v2.15.5...v2.15.6
[2.15.5]: https://github.com/taiki-e/install-action/compare/v2.15.4...v2.15.5
[2.15.4]: https://github.com/taiki-e/install-action/compare/v2.15.3...v2.15.4
[2.15.3]: https://github.com/taiki-e/install-action/compare/v2.15.2...v2.15.3
[2.15.2]: https://github.com/taiki-e/install-action/compare/v2.15.1...v2.15.2
[2.15.1]: https://github.com/taiki-e/install-action/compare/v2.15.0...v2.15.1
[2.15.0]: https://github.com/taiki-e/install-action/compare/v2.14.3...v2.15.0
[2.14.3]: https://github.com/taiki-e/install-action/compare/v2.14.2...v2.14.3
[2.14.2]: https://github.com/taiki-e/install-action/compare/v2.14.1...v2.14.2
[2.14.1]: https://github.com/taiki-e/install-action/compare/v2.14.0...v2.14.1
[2.14.0]: https://github.com/taiki-e/install-action/compare/v2.13.6...v2.14.0
[2.13.6]: https://github.com/taiki-e/install-action/compare/v2.13.5...v2.13.6
[2.13.5]: https://github.com/taiki-e/install-action/compare/v2.13.4...v2.13.5
[2.13.4]: https://github.com/taiki-e/install-action/compare/v2.13.3...v2.13.4
[2.13.3]: https://github.com/taiki-e/install-action/compare/v2.13.2...v2.13.3
[2.13.2]: https://github.com/taiki-e/install-action/compare/v2.13.1...v2.13.2
[2.13.1]: https://github.com/taiki-e/install-action/compare/v2.13.0...v2.13.1
[2.13.0]: https://github.com/taiki-e/install-action/compare/v2.12.23...v2.13.0
[2.12.23]: https://github.com/taiki-e/install-action/compare/v2.12.22...v2.12.23
[2.12.22]: https://github.com/taiki-e/install-action/compare/v2.12.21...v2.12.22
[2.12.21]: https://github.com/taiki-e/install-action/compare/v2.12.20...v2.12.21
[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)
@@ -82,45 +81,35 @@ https://spdx.org/licenses
| Name | Where binaries will be installed | Where will it be installed from | Supported platform | License |
| ---- | -------------------------------- | ------------------------------- | ------------------ | ------- |
| [**cargo-binstall**][cargo-binstall] | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/cargo-bins/cargo-binstall/releases) | Linux, macOS, Windows | [GPL-3.0](https://github.com/cargo-bins/cargo-binstall/blob/HEAD/crates/bin/LICENSE) |
| [**cargo-careful**](https://github.com/RalfJung/cargo-careful) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/RalfJung/cargo-careful/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/RalfJung/cargo-careful/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/RalfJung/cargo-careful/blob/HEAD/LICENSE-MIT) |
| [**cargo-deny**](https://github.com/EmbarkStudios/cargo-deny) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/EmbarkStudios/cargo-deny/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/EmbarkStudios/cargo-deny/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/EmbarkStudios/cargo-deny/blob/HEAD/LICENSE-MIT) |
| [**cargo-dinghy**](https://github.com/sonos/dinghy) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/sonos/dinghy/releases) | Linux, macOS | [Apache-2.0](https://github.com/sonos/dinghy/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/sonos/dinghy/blob/HEAD/LICENSE-MIT) |
| [**cargo-hack**](https://github.com/taiki-e/cargo-hack) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/cargo-hack/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/cargo-hack/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-hack/blob/HEAD/LICENSE-MIT) |
| [**cargo-llvm-cov**](https://github.com/taiki-e/cargo-llvm-cov) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/cargo-llvm-cov/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/cargo-llvm-cov/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-llvm-cov/blob/HEAD/LICENSE-MIT) |
| [**cargo-machete**](https://github.com/bnjbvr/cargo-machete) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/bnjbvr/cargo-machete/releases) | Linux, macOS, Windows | [MIT](https://github.com/bnjbvr/cargo-machete/blob/HEAD/LICENSE.md) |
| [**cargo-make**](https://github.com/sagiegurari/cargo-make) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/sagiegurari/cargo-make/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/sagiegurari/cargo-make/blob/HEAD/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) |
| [**xbuild**](https://github.com/rust-mobile/xbuild) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rust-mobile/xbuild/releases) | Linux, macOS, Windows | Apache-2.0 OR MIT |
| [**zola**](https://github.com/getzola/zola) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/getzola/zola/releases) | Linux, macOS, Windows | [MIT](https://github.com/getzola/zola/blob/HEAD/LICENSE) |
| [**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
@@ -128,13 +117,11 @@ When installing the tool from GitHub Releases, this action will download the too
Additionally, this action will also verify SHA256 checksums for downloaded files in all tools installed from GitHub Releases. This is enabled by default and can be disabled by setting the `checksum` input option to `false`.
Additionally, we also verify signature if the tool distributes signed archives. Signature verification is done at the stage of getting the checksum, so disabling the checksum will also disable signature verification.
See the linked documentation for information on security when installed using [snap](https://snapcraft.io/docs) or [cargo-binstall](https://github.com/cargo-bins/cargo-binstall#faq).
## Compatibility
This action has been tested for GitHub-hosted runners (Ubuntu, macOS, Windows) and containers (Ubuntu, Debian, Alpine, Fedora, CentOS, Alma).
This action has been tested for GitHub-hosted runners (Ubuntu, macOS, Windows) and containers (Ubuntu, Debian, Alpine, Fedora, CentOS, Rocky).
To use this action in self-hosted runners or in containers, at least the following tools are required:
- bash

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

348
main.sh
View File

@@ -1,9 +1,8 @@
#!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0 OR MIT
set -euo pipefail
IFS=$'\n\t'
rx() {
x() {
local cmd="$1"
shift
(
@@ -58,16 +57,18 @@ download_and_extract() {
local checksum="$2"
local bin_dir="$3"
local bin_in_archive="$4" # path to bin in archive
if [[ "${bin_dir}" == "${install_action_dir}/bin" ]]; then
init_install_action_bin_dir
if [[ "${bin_dir}" == "/usr/"* ]]; then
if [[ ! -d "${bin_dir}" ]]; then
bin_dir="${HOME}/.install-action/bin"
if [[ ! -d "${bin_dir}" ]]; then
mkdir -p "${bin_dir}"
canonicalize_windows_path "${bin_dir}" >>"${GITHUB_PATH}"
export PATH="${PATH}:${bin_dir}"
fi
fi
fi
local installed_bin
# xbuild's binary name is "x", as opposed to the usual crate name
case "${tool}" in
xbuild) installed_bin="${bin_dir}/x" ;;
*) installed_bin="${bin_dir}/$(basename "${bin_in_archive}")" ;;
esac
installed_bin="${bin_dir}/$(basename "${bin_in_archive}")"
local tar_args=()
case "${url}" in
@@ -76,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
;;
@@ -88,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
;;
@@ -129,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}" ;;
@@ -150,17 +135,16 @@ read_manifest() {
local tool="$1"
local version="$2"
local manifest
rust_crate=$(call_jq -r ".rust_crate" "${manifest_dir}/${tool}.json")
manifest=$(call_jq -r ".\"${version}\"" "${manifest_dir}/${tool}.json")
manifest=$(jq -r ".\"${version}\"" "${manifest_dir}/${tool}.json")
if [[ "${manifest}" == "null" ]]; then
download_info="null"
return 0
fi
exact_version=$(call_jq <<<"${manifest}" -r '.version')
exact_version=$(jq <<<"${manifest}" -r '.version')
if [[ "${exact_version}" == "null" ]]; then
exact_version="${version}"
else
manifest=$(call_jq -r ".\"${exact_version}\"" "${manifest_dir}/${tool}.json")
manifest=$(jq -r ".\"${exact_version}\"" "${manifest_dir}/${tool}.json")
fi
case "${host_os}" in
linux)
@@ -168,24 +152,39 @@ read_manifest() {
# usually preferred over linux-gnu binaries because they can avoid glibc version issues.
# (rustc enables statically linking for linux-musl by default, except for mips.)
host_platform="${host_arch}_linux_musl"
download_info=$(call_jq <<<"${manifest}" -r ".${host_platform}")
download_info=$(jq <<<"${manifest}" -r ".${host_platform}")
if [[ "${download_info}" == "null" ]]; then
# Even if host_env is musl, we won't issue an error here because it seems that in
# some cases linux-gnu binaries will work on linux-musl hosts.
# https://wiki.alpinelinux.org/wiki/Running_glibc_programs
# TODO: However, a warning may make sense.
host_platform="${host_arch}_linux_gnu"
download_info=$(call_jq <<<"${manifest}" -r ".${host_platform}")
download_info=$(jq <<<"${manifest}" -r ".${host_platform}")
elif [[ "${host_env}" == "gnu" ]]; then
# TODO: don't hardcode tool name and use 'prefer_linux_gnu' field in base manifest.
case "${tool}" in
cargo-nextest | nextest)
# TODO: don't hardcode required glibc version
required_glibc_version=2.27
higher_glibc_version=$(sort <<<"${required_glibc_version}"$'\n'"${host_glibc_version}" -Vu | tail -1)
if [[ "${higher_glibc_version}" == "${host_glibc_version}" ]]; then
# musl build of nextest is slow, so use glibc build if host_env is gnu.
# https://github.com/taiki-e/install-action/issues/13
host_platform="${host_arch}_linux_gnu"
download_info=$(jq <<<"${manifest}" -r ".${host_platform}")
fi
;;
esac
fi
;;
macos | windows)
# Binaries compiled for x86_64 macOS will usually also work on aarch64 macOS.
# Binaries compiled for x86_64 Windows will usually also work on aarch64 Windows 11+.
host_platform="${host_arch}_${host_os}"
download_info=$(call_jq <<<"${manifest}" -r ".${host_platform}")
download_info=$(jq <<<"${manifest}" -r ".${host_platform}")
if [[ "${download_info}" == "null" ]] && [[ "${host_arch}" != "x86_64" ]]; then
host_platform="x86_64_${host_os}"
download_info=$(call_jq <<<"${manifest}" -r ".${host_platform}")
download_info=$(jq <<<"${manifest}" -r ".${host_platform}")
fi
;;
*) bail "unsupported OS type '${host_os}' for ${tool}" ;;
@@ -197,25 +196,22 @@ read_download_info() {
if [[ "${download_info}" == "null" ]]; then
bail "${tool}@${version} for '${host_os}' is not supported"
fi
checksum=$(call_jq <<<"${download_info}" -r '.checksum')
url=$(call_jq <<<"${download_info}" -r '.url')
checksum=$(jq <<<"${download_info}" -r '.checksum')
url=$(jq <<<"${download_info}" -r '.url')
if [[ "${url}" == "null" ]]; then
local template
template=$(call_jq -r ".template.${host_platform}" "${manifest_dir}/${tool}.json")
url=$(call_jq <<<"${template}" -r '.url')
template=$(jq -r ".template.${host_platform}" "${manifest_dir}/${tool}.json")
url=$(jq <<<"${template}" -r '.url')
url="${url//\$\{version\}/${exact_version}}"
bin_in_archive=$(call_jq <<<"${template}" -r '.bin')
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_in_archive=$(call_jq <<<"${download_info}" -r '.bin')
bin_dir=$(jq <<<"${download_info}" -r '.bin_dir')
bin_in_archive=$(jq <<<"${download_info}" -r '.bin')
fi
if [[ "${rust_crate}" == "null" ]]; then
if [[ "${host_os}" == "windows" ]] || [[ ! -e /usr/local/bin ]]; then
bin_dir="${install_action_dir}/bin"
else
bin_dir=/usr/local/bin
fi
else
if [[ "${bin_dir}" == "null" ]]; then
bin_dir="${cargo_bin}"
fi
if [[ "${bin_in_archive}" == "null" ]]; then
@@ -232,11 +228,10 @@ download_from_download_info() {
}
install_cargo_binstall() {
local binstall_version
binstall_version=$(call_jq -r '.latest.version' "${manifest_dir}/cargo-binstall.json")
binstall_version=$(jq -r '.latest.version' "${manifest_dir}/cargo-binstall.json")
local install_binstall='1'
_binstall_version=$("cargo-binstall${exe}" binstall -V 2>/dev/null || echo "")
if [[ -n "${_binstall_version}" ]]; then
if [[ "${_binstall_version}" == "${binstall_version}" ]]; then
if [[ -f "${cargo_bin}/cargo-binstall${exe}" ]]; then
if [[ "$(cargo binstall -V)" == "${binstall_version}" ]]; then
info "cargo-binstall already installed at ${cargo_bin}/cargo-binstall${exe}"
install_binstall=''
else
@@ -246,15 +241,10 @@ install_cargo_binstall() {
fi
if [[ -n "${install_binstall}" ]]; then
info "installing cargo-binstall@latest (${binstall_version})"
info "installing cargo-binstall"
download_from_manifest "cargo-binstall" "latest"
installed_at=$(type -P "cargo-binstall${exe}" || echo "")
if [[ -n "${installed_at}" ]]; then
info "cargo-binstall installed at ${installed_at}"
else
warn "cargo-binstall should be installed at ${bin_dir:-}/cargo-binstall${exe}; but cargo-binstall${exe} not found in path"
fi
rx "cargo-binstall${exe}" binstall -V
info "cargo-binstall installed at $(type -P "cargo-binstall${exe}")"
x cargo binstall -V
fi
}
apt_update() {
@@ -270,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() {
@@ -310,21 +300,9 @@ sys_install() {
fedora) dnf_install "$@" ;;
esac
}
init_install_action_bin_dir() {
if [[ -z "${init_install_action_bin:-}" ]]; then
init_install_action_bin=1
mkdir -p "${bin_dir}"
export PATH="${PATH}:${bin_dir}"
local _bin_dir
_bin_dir=$(canonicalize_windows_path "${bin_dir}")
# TODO: avoid this when already added
info "adding '${_bin_dir}' to PATH"
echo "${_bin_dir}" >>"${GITHUB_PATH}"
fi
}
canonicalize_windows_path() {
case "${host_os}" in
windows) sed <<<"$1" 's/^\/c\//C:\\/; s/\//\\/g' ;;
windows) sed <<<"$1" 's/^\/c\//C:\\/' ;;
*) echo "$1" ;;
esac
}
@@ -345,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"
@@ -369,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)
@@ -412,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).
@@ -422,107 +404,30 @@ case "$(uname -m)" in
# So we can assume x86_64 unless it is aarch64 or arm.
*) host_arch="x86_64" ;;
esac
info "host platform: ${host_arch}_${host_os}"
install_action_dir="${HOME}/.install-action"
tmp_dir="${install_action_dir}/tmp"
tmp_dir="${HOME}/.install-action/tmp"
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 $install_action_dir/bin.
if [[ ! -e "${cargo_bin}" ]] || [[ "$(type -P cargo || true)" != "${cargo_bin}/cargo"* ]]; then
if type -P cargo &>/dev/null; then
info "cargo is located at $(type -P cargo)"
fi
if [[ "${host_os}" == "windows" ]] || [[ ! -e /usr/local/bin ]]; then
cargo_bin="${install_action_dir}/bin"
else
cargo_bin=/usr/local/bin
fi
# /usr/local/bin or $HOME/.install-action/bin.
if [[ ! -d "${cargo_bin}" ]] || [[ "${host_os}" != "windows" ]] && [[ "$(type -P cargo || true)" != "${cargo_bin}/cargo${exe}" ]]; then
cargo_bin=/usr/local/bin
fi
jq_use_b=''
case "${host_os}" in
linux)
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
# On RHEL7-based distribution jq requires EPEL
if ! type -P jq &>/dev/null; then
sys_packages+=(epel-release)
sys_install "${sys_packages[@]}"
sys_install jq --enablerepo=epel
else
sys_install "${sys_packages[@]}"
fi
else
if ! type -P jq &>/dev/null; then
sys_packages+=(jq)
fi
sys_install "${sys_packages[@]}"
fi
echo "::endgroup::"
;;
*) warn "install-action requires at least jq and curl on non-Debian/Fedora/Alpine-based Linux" ;;
esac
fi
;;
macos)
if ! type -P jq &>/dev/null || ! type -P curl &>/dev/null; then
warn "install-action requires at least jq and curl on macOS"
fi
;;
windows)
if ! type -P curl &>/dev/null; then
warn "install-action requires at least curl on Windows"
fi
# https://github.com/jqlang/jq/issues/1854
jq_use_b=1
jq="${install_action_dir}/jq/bin/jq.exe"
if [[ ! -f "${jq}" ]]; then
jq_version=$(jq --version || echo "")
case "${jq_version}" in
jq-1.[7-9]* | jq-1.[1-9][0-9]*) jq='' ;;
*)
_tmp=$(jq <<<"{}" -r .a || echo "")
if [[ "${_tmp}" == "null" ]]; then
jq=''
jq_use_b=''
else
info "old jq (${jq_version}) has bug on Windows; downloading jq 1.7 (will not be added to PATH)"
mkdir -p "${install_action_dir}/jq/bin"
url='https://github.com/jqlang/jq/releases/download/jq-1.7/jq-windows-amd64.exe'
checksum='2e9cc54d0a5d098e2007decec1dbb3c555ca2f5aabded7aec907fe0ffe401aab'
(
cd "${install_action_dir}/jq/bin"
download_and_checksum "${url}" "${checksum}"
mv tmp jq.exe
)
echo
fi
;;
esac
fi
;;
*) bail "unsupported host OS '${host_os}'" ;;
esac
call_jq() {
# https://github.com/jqlang/jq/issues/1854
if [[ -n "${jq_use_b}" ]]; then
"${jq:-jq}" -b "$@"
else
"${jq:-jq}" "$@"
fi
}
if ! type -P jq &>/dev/null || ! type -P curl &>/dev/null || ! type -P tar &>/dev/null; then
case "${base_distro}" in
debian | alpine) sys_install ca-certificates curl jq tar ;;
fedora)
if [[ "${dnf}" == "yum" ]]; then
# On RHEL7-based distribution jq requires EPEL
sys_install ca-certificates curl tar epel-release
sys_install jq --enablerepo=epel
else
sys_install ca-certificates curl jq tar
fi
;;
esac
fi
unsupported_tools=()
for tool in "${tools[@]}"; do
@@ -533,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"
@@ -544,33 +449,31 @@ for tool in "${tools[@]}"; do
read_manifest "protoc" "${version}"
read_download_info "protoc" "${version}"
# Copying files to /usr/local/include requires sudo, so do not use it.
bin_dir="${install_action_dir}/bin"
include_dir="${install_action_dir}/include"
init_install_action_bin_dir
if [[ ! -e "${include_dir}" ]]; then
bin_dir="${HOME}/.install-action/bin"
include_dir="${HOME}/.install-action/include"
if [[ ! -d "${bin_dir}" ]]; then
mkdir -p "${bin_dir}"
mkdir -p "${include_dir}"
canonicalize_windows_path "${bin_dir}" >>"${GITHUB_PATH}"
export PATH="${PATH}:${bin_dir}"
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}/"
bin_dir=$(canonicalize_windows_path "${bin_dir}")
if [[ -z "${PROTOC:-}" ]]; then
_bin_dir=$(canonicalize_windows_path "${bin_dir}")
info "setting PROTOC environment variable to '${_bin_dir}/protoc${exe}'"
echo "PROTOC=${_bin_dir}/protoc${exe}" >>"${GITHUB_ENV}"
info "setting PROTOC environment variable"
echo "PROTOC=${bin_dir}/protoc${exe}" >>"${GITHUB_ENV}"
fi
)
rm -rf "${tmp_dir}"
@@ -593,6 +496,7 @@ for tool in "${tools[@]}"; do
snap_install valgrind --classic
;;
cargo-binstall)
info "installing ${tool}@${version}"
case "${version}" in
latest) ;;
*) warn "specifying the version of ${tool} is not supported by this action" ;;
@@ -619,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
@@ -649,50 +550,35 @@ for tool in "${tools[@]}"; do
;;
esac
info "${tool} installed at $(type -P "${tool}${exe}")"
case "${tool}" in
xbuild) tool_bin="x" ;;
*) tool_bin="${tool}" ;;
esac
installed_at=$(type -P "${tool_bin}${exe}" || echo "")
if [[ -n "${installed_at}" ]]; then
tool_bin="${tool_bin}${exe}"
else
installed_at=$(type -P "${tool_bin}" || echo "")
fi
if [[ -n "${installed_at}" ]]; then
info "${tool} installed at ${installed_at}"
else
warn "${tool} should be installed at ${bin_dir:+"${bin_dir}/"}${tool_bin}${exe}; but ${tool_bin}${exe} not found in path"
fi
# cargo-udeps 0.1.30 and wasm-pack 0.12.0 do not support --version option.
case "${tool}" in
cargo-careful | cargo-machete) ;; # cargo-careful 0.3.4 and cargo-machete 0.5.0 do not support neither --version nor --help option.
cargo-*)
case "${tool}" in
cargo-valgrind) rx "${tool_bin}" "${tool#cargo-}" --help ;; # cargo-valgrind 2.1.0's --version option just calls cargo's --version option
*)
if ! rx "${tool_bin}" "${tool#cargo-}" --version; then
rx "${tool_bin}" "${tool#cargo-}" --help
fi
;;
esac
;;
*)
if ! rx "${tool_bin}" --version; then
rx "${tool_bin}" --help
if type -P cargo &>/dev/null; then
case "${tool}" in
cargo-udeps) x cargo udeps --help | head -1 ;; # cargo-udeps v0.1.30 does not support --version option
cargo-valgrind) x cargo valgrind --help ;; # cargo-valgrind v2.1.0 does not support --version option
*) x cargo "${tool#cargo-}" --version ;;
esac
else
case "${tool}" in
cargo-udeps) x "${tool}" udeps --help | head -1 ;; # cargo-udeps v0.1.30 does not support --version option
cargo-valgrind) x "${tool}" valgrind --help ;; # cargo-valgrind v2.1.0 does not support --version option
*) x "${tool}" "${tool#cargo-}" --version ;;
esac
fi
;;
*) x "${tool}" --version ;;
esac
echo
done
if [[ ${#unsupported_tools[@]} -gt 0 ]]; then
IFS=','
IFS=$','
info "install-action does not support ${unsupported_tools[*]}; fallback to cargo-binstall"
IFS=$'\n\t'
install_cargo_binstall
# 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.4.2"
"version": "0.22.0"
},
"1.4.2": {
"0.22.0": {
"x86_64_linux_musl": {
"checksum": "d791f2000d934951003c483c2b147f32f09cd7def0e02a06fec51ffda9b9d8f6"
"checksum": "2238080e5e2c4eae5993de478341af6348e10fd9763a95a77e654e6f28268266"
},
"x86_64_macos": {
"checksum": "59f9d03d9028ea3c46a2fef5d72e6f2a1fa337669f7e0f5a4b4aec90043f2355"
"checksum": "3e87999ab63edf3cdd71a3839bd85661c5dea5d763718668b8b3b35b1ac5dbe0"
},
"x86_64_windows": {
"checksum": "81af3737320412d87a40b7ffa5e2087af3f5f47eae76572370d36e985e14c1eb"
"checksum": "f656718d44ca4a09ff2231970edc7878a1aa33b6e15790a4884a758144008e27"
},
"aarch64_linux_musl": {
"checksum": "e8bdd620ae8a2d97c516354d7df7ffc9eca893f4f840ef309ded90b633df29f3"
"checksum": "280fc36a0f565d76636aa3aff570c97d1e6fbd6aa08ef315af2cb968054e1d9b"
},
"aarch64_macos": {
"checksum": "71cbdee21425a2b77769f6a4ec4af6a00b0a62102c8d2931ed7d9dff43b1c900"
"checksum": "abb87cb2ef23b552c62dc463777debb31be4a817ef9366509abb245d346e4410"
},
"aarch64_windows": {
"checksum": "6d8cdc54dd9a37348418a389f3357f30c605c37abe4d36caa6cd6c1ba433a6d7"
"checksum": "50108bd891a0b6a0044f71d11e09e886a3eec44f4163d44f79a3eed049a484c2"
}
}
}

View File

@@ -1,56 +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.4.0"
},
"0.4": {
"version": "0.4.0"
},
"0.4.0": {
"x86_64_linux_musl": {
"checksum": "54cd7e1972e9faf085e3d0798c02054d064bc72de051a2636ece6f5b0ce0176d"
},
"x86_64_macos": {
"checksum": "70d92ad8adf84192caa2066ba981780df926c8aa6cbd398fe489f87af336fe61"
},
"x86_64_windows": {
"checksum": "01ebcae79d9ba0cbb56e5c6bb5757d9cd074a3635704d15b0ef62a000c5d03a8"
}
},
"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,83 +18,10 @@
}
},
"latest": {
"version": "0.14.2"
},
"0.14": {
"version": "0.14.2"
},
"0.14.2": {
"x86_64_linux_musl": {
"checksum": "5a4913ae3ce1298bd96d29b794ed245b0394f5ec0e2802f19d41fedc70bb5c3c"
},
"x86_64_macos": {
"checksum": "89c80839cfbb87bb8b0e4a1d55d638b79d0d9cac8fa53c0cbbe8fe271c8abcf4"
},
"x86_64_windows": {
"checksum": "25e59c4916a4e28d507185c6783051d0e0824d6e5af5737560be7bcfb1fc7af3"
},
"aarch64_macos": {
"checksum": "c1af65dac2330777744513430200d52cb615de9bef2fdb88cfec1a2e9f87c5f9"
}
},
"0.14.1": {
"x86_64_linux_musl": {
"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,305 +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.7"
},
"0.6": {
"version": "0.6.7"
},
"0.6.7": {
"x86_64_linux_musl": {
"checksum": "d5c4b78a4e660184fd32f017efbee65015ec86c041623b320c23bb87764e37e2"
},
"x86_64_macos": {
"checksum": "ffa03e78bdc71efd53c1fcbd16d92be0a79c1092de03fd43320db2a3b3800950"
}
},
"0.6.6": {
"x86_64_linux_musl": {
"checksum": "daffbfae6caf0e1c40b53cf33569074e4b1b80b8697e27f91eecd9a0a1f85809"
},
"x86_64_macos": {
"checksum": "ac0d058aab49ab751e072f1978972c22ffa195d68af43d04a9a801bffabbaa16"
}
},
"0.6.5": {
"x86_64_linux_musl": {
"checksum": "250a165b843022ee5e1a356a791f832bf2051a11ba97a9de531060bb98f7bdc0"
},
"x86_64_macos": {
"checksum": "6074cd8dd9ddf553f6915a0dd2c183bf7dd233bfd78322b8db2b421fb1a89a81"
}
},
"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,274 +1,10 @@
{
"rust_crate": "cargo-hack",
"template": null,
"latest": {
"version": "0.6.8"
},
"0.6": {
"version": "0.6.8"
},
"0.6.8": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.8/cargo-hack-x86_64-unknown-linux-musl.tar.gz",
"checksum": "0e99e6ecf6f04cfeb7bd126559f94c7d54c891cd6609fc2d5e6b327da9178069"
},
"x86_64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.8/cargo-hack-x86_64-apple-darwin.tar.gz",
"checksum": "f21d6c824bc9cac5c174fa61b8375df35f3c022a19eeefd7156dcaf99c18cb94"
},
"x86_64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.8/cargo-hack-x86_64-pc-windows-msvc.zip",
"checksum": "d3cedb628d4bebfbafd4ff83e47bc5185a0a907c721ab0013af0dcbf0cad7c53"
},
"aarch64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.8/cargo-hack-aarch64-unknown-linux-musl.tar.gz",
"checksum": "ea6e74180776d0908b21d938515e4a04fcdcb02d564bf08e397dc7191cbce524"
},
"aarch64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.8/cargo-hack-aarch64-apple-darwin.tar.gz",
"checksum": "9486a0e12919c667e17b9fd22e43c6449369ebeca0e705ed372090e87610e8fc"
},
"aarch64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.8/cargo-hack-aarch64-pc-windows-msvc.tar.gz",
"checksum": "946a28154a087ee4c1835327973e3e914d90d9e4840bf67b22422f2b634aa214"
}
},
"0.6.7": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.7/cargo-hack-x86_64-unknown-linux-musl.tar.gz",
"checksum": "af3f992ce3bc2f766e1dedd91777b00839760d2571abc3d85f6c6b8a8c743ef8"
},
"x86_64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.7/cargo-hack-x86_64-apple-darwin.tar.gz",
"checksum": "c92a155df6839a17e8b167c6a1d0e5adb55a21623186f9401a151b3b478c041b"
},
"x86_64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.7/cargo-hack-x86_64-pc-windows-msvc.zip",
"checksum": "3817eed7255cf9683cf9fa580e067584a062cb7029a73b7057de24c2938d1783"
},
"aarch64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.7/cargo-hack-aarch64-unknown-linux-musl.tar.gz",
"checksum": "decd3237e11fef4d4b30052405905d549d05b9b09c3efe87d45a6f96abbcd460"
},
"aarch64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.7/cargo-hack-aarch64-apple-darwin.tar.gz",
"checksum": "e36fdcdf6b5064f84837acf3616cac1f191ba7af8f4c6bb599d3eb541cc712fb"
},
"aarch64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.7/cargo-hack-aarch64-pc-windows-msvc.tar.gz",
"checksum": "0aac8f8cb2b3a0e6158f42318b429bd2720ae55f15ca05477e4268bd3a8c16ea"
}
},
"0.6.6": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.6/cargo-hack-x86_64-unknown-linux-musl.tar.gz",
"checksum": "c706770f61c4dcf3dfc0c87125b443306787032c50bf61d30724bac620846a48"
},
"x86_64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.6/cargo-hack-x86_64-apple-darwin.tar.gz",
"checksum": "d5a619778858d18d4ef3b291012b709b509a79ec66dad41590c692d5f35a30c8"
},
"x86_64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.6/cargo-hack-x86_64-pc-windows-msvc.zip",
"checksum": "eb56fab90b784fc668e9c25cece9967d296026a24c79db571f7420aca7bd956d"
},
"aarch64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.6/cargo-hack-aarch64-unknown-linux-musl.tar.gz",
"checksum": "a5d8a424c30bc3b3b6b9e44aa3810d5995dca7e648bfe2f139ef0af14ad8662e"
},
"aarch64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.6/cargo-hack-aarch64-apple-darwin.tar.gz",
"checksum": "aacf5cebfe7523ba1a610192bd76dcccfbea1b16aa8e8bd3ed8356abd5809980"
},
"aarch64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.6/cargo-hack-aarch64-pc-windows-msvc.tar.gz",
"checksum": "329f030f530bb65290150e4bf282065ecfe4f988aee6763fb87720e0dc60b4c9"
}
},
"0.6.5": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.5/cargo-hack-x86_64-unknown-linux-musl.tar.gz",
"checksum": "767c91d80cacf9568576d9263b8801d4c38a245c472ac3c58320b15824539a74"
},
"x86_64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.5/cargo-hack-x86_64-apple-darwin.tar.gz",
"checksum": "20530649af2bfa2620368b6a111e5538f9306c4f64a65a1e6dbbb32a7a291b8a"
},
"x86_64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.5/cargo-hack-x86_64-pc-windows-msvc.zip",
"checksum": "82731808c811daa55021e8a463884c3d1fa3ff4af67fdfd1b0f8db9936ec91df"
},
"aarch64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.5/cargo-hack-aarch64-unknown-linux-musl.tar.gz",
"checksum": "743fe76f2115bedf6f5a86784ea254c105f171aeeb75e5f2845d6aa83be7319c"
},
"aarch64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.5/cargo-hack-aarch64-apple-darwin.tar.gz",
"checksum": "3a9ab29db73449b779656199ae645d7b4a3e055e22ee6fa056c7ec61cd57cb87"
},
"aarch64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.5/cargo-hack-aarch64-pc-windows-msvc.tar.gz",
"checksum": "2bf9b10a41ce7585fa60b1be8424283433eb000c542652145d89d95be7a6fc99"
}
},
"0.6.4": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.4/cargo-hack-x86_64-unknown-linux-musl.tar.gz",
"checksum": "f50d28b566a270c49cd5d44fca3badfc0279bd681e9788872c875f81f2125ca0"
},
"x86_64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.4/cargo-hack-x86_64-apple-darwin.tar.gz",
"checksum": "09502a5e1e66457cc98f114e3ab80ace837c42ca20d12439b45ca09febeada05"
},
"x86_64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.4/cargo-hack-x86_64-pc-windows-msvc.zip",
"checksum": "5e5f61e74ae060b5ff1aeb0ee593a63762ad5e57fe9fbd56d214af96e8b79db6"
},
"aarch64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.4/cargo-hack-aarch64-unknown-linux-musl.tar.gz",
"checksum": "0b3cf069d1e433882f800129b288e76f8b0f4972e2f5d2746a43f5976b3f234d"
},
"aarch64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.4/cargo-hack-aarch64-apple-darwin.tar.gz",
"checksum": "01e237e764b098d1a482e4fc31c2aa1a64d6756e885421a95faa5578cfdd2a50"
},
"aarch64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.4/cargo-hack-aarch64-pc-windows-msvc.tar.gz",
"checksum": "af68ead95d98a18750da188259678ce53f8cecae8fb7109ae0c631161da8406e"
}
},
"0.6.3": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.3/cargo-hack-x86_64-unknown-linux-musl.tar.gz",
"checksum": "b9515accb2c8984841a152f860d6c7c827ab4f91c4e5012d86ef7c44f319bd41"
},
"x86_64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.3/cargo-hack-x86_64-apple-darwin.tar.gz",
"checksum": "c144b7912bbc9089c116d7c4610c4fc221705af93d6994c31314663bba47785f"
},
"x86_64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.3/cargo-hack-x86_64-pc-windows-msvc.zip",
"checksum": "a34b31594d58e3ca17e00e1e0837990461570b6382c3ac7e72fbb7c873b3e9f7"
},
"aarch64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.3/cargo-hack-aarch64-unknown-linux-musl.tar.gz",
"checksum": "c8ee443bb05cd8551b2d9d93befbe7a8f0994a128bc33125cf97da443077b579"
},
"aarch64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.3/cargo-hack-aarch64-apple-darwin.tar.gz",
"checksum": "279e5cbbcbbe607ac5c81f204f0ae83a62132476fa1ff53f0d8ec24d879bf7f2"
},
"aarch64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.3/cargo-hack-aarch64-pc-windows-msvc.tar.gz",
"checksum": "63a9df0cdad068b3124a858aa3d47c93513caaaea0efc61befdb0091efefb64d"
}
},
"0.6.2": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.2/cargo-hack-x86_64-unknown-linux-musl.tar.gz",
"checksum": "322d1a965c94656e7b766dbdf4f5726372fdd8ac3b98b7aa3fe0b50dd4892be9"
},
"x86_64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.2/cargo-hack-x86_64-apple-darwin.tar.gz",
"checksum": "a6713d40d955691b0efc48d77f42a9c58f740e9036eb052a4c5b8843477054d3"
},
"x86_64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.2/cargo-hack-x86_64-pc-windows-msvc.zip",
"checksum": "a3146a6454e02a41c56676ed96ddf5acab6ff97117a8a52c19432756dc268396"
},
"aarch64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.2/cargo-hack-aarch64-unknown-linux-musl.tar.gz",
"checksum": "305b59c9d89fa76ea91002894cea58e296c062da896a2784c04a39305221079b"
},
"aarch64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.2/cargo-hack-aarch64-apple-darwin.tar.gz",
"checksum": "860b867a047c8d89aa2b0adb12d6ff085190bde80516a49be6e2cad4cc298bc5"
},
"aarch64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.2/cargo-hack-aarch64-pc-windows-msvc.tar.gz",
"checksum": "73c04e1670b7d7d7696b81ccdc1ea27f7ddcc8028883cf5b5df8edcda61b899c"
}
},
"0.6.1": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.1/cargo-hack-x86_64-unknown-linux-musl.tar.gz",
"checksum": "85f79339499995238287591c86b9ddc9aedf6c4c03f771f9aa7ed0b97dc6da0e"
},
"x86_64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.1/cargo-hack-x86_64-apple-darwin.tar.gz",
"checksum": "c92fb2bd0351e4ac6ea087e5169b5fc56bc03c9afc3c8a299c21aae8ecda8067"
},
"x86_64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.1/cargo-hack-x86_64-pc-windows-msvc.zip",
"checksum": "532a25b327dd4fcd9529cc0b2e47caa7919f15d2e40a7477c34a39f40dfea54b"
},
"aarch64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.1/cargo-hack-aarch64-unknown-linux-musl.tar.gz",
"checksum": "4855ea417b54abca02d0fd076fa1cfffd2068ac2f4abbafc52261a7fa2a9ebfa"
},
"aarch64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.1/cargo-hack-aarch64-apple-darwin.tar.gz",
"checksum": "fe3c9126fa64f7ef60a9a4e78c77f9741f9848221cc44c43f9346a7f9b268bca"
},
"aarch64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.1/cargo-hack-aarch64-pc-windows-msvc.tar.gz",
"checksum": "0c6c21cc1e11c7f2794a4e7c800d2459148a7db33dc162af7c2ccd057ca38ee9"
}
},
"0.6.0": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.0/cargo-hack-x86_64-unknown-linux-musl.tar.gz",
"checksum": "c1a539de7f0890527d6ecd87c0ac73097921a0cf071ded9a3cf60e6c387ba69d"
},
"x86_64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.0/cargo-hack-x86_64-apple-darwin.tar.gz",
"checksum": "41fd4566cf743ab06a46ee556be251e8948b1ecc316b2e61bc25ecc818cfaf91"
},
"x86_64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.0/cargo-hack-x86_64-pc-windows-msvc.zip",
"checksum": "a29683e96871938cb7b63f8389f6a7f6b48b10b40999a5f6b6b3abb0988b3b9f"
},
"aarch64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.0/cargo-hack-aarch64-unknown-linux-musl.tar.gz",
"checksum": "f5156e8522abd9c2545425ed251da6411bf824b5d94cb0000e0a90153c78b8a2"
},
"aarch64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.0/cargo-hack-aarch64-apple-darwin.tar.gz",
"checksum": "c8292ab17351307d71fcbe68dad39e0019227b89c3a73dc4a0d6db8ca0b2663e"
},
"aarch64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.0/cargo-hack-aarch64-pc-windows-msvc.tar.gz",
"checksum": "9d7ca4e2c0530ad966662a56dd7b8b211cfe1067c4e46813ff82f18476dd24f8"
}
"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,384 +17,10 @@
}
},
"latest": {
"version": "0.5.33"
"version": "0.5.11"
},
"0.5": {
"version": "0.5.33"
},
"0.5.33": {
"x86_64_linux_musl": {
"checksum": "3274fb95c5d7ab7dd37db6b75e77b666c6fc06b0bd0172e7923af95fe77711da"
},
"x86_64_macos": {
"checksum": "e890a29534e8a10439bd8c8fccd39867d2cb016f82d7b51e615c60caf67491b7"
},
"x86_64_windows": {
"checksum": "332004d47ad0259fbc077c3dde2fe7f7b51dadcea859ccc33759bc149a38b777"
},
"aarch64_linux_musl": {
"checksum": "dd6deacc791de61dc31e45537bf2e7c9c8c652f51e06357d4a700ec7e81188c9"
},
"aarch64_macos": {
"checksum": "8bc5722370884500381eae586910b633f2a215cd5b5feed31d67682e90bd8412"
}
},
"0.5.32": {
"x86_64_linux_musl": {
"checksum": "2709f1c132eac8c3e1e98f658e2f8fd79f71f0a72b373491aad9e92df3b6684c"
},
"x86_64_macos": {
"checksum": "d56c7b8d5ea02196b8682d242440a400566583f724dee9c9832a99ed9734fa0e"
},
"x86_64_windows": {
"checksum": "194ec6f3657edab3c5f9a4d7a5bb2ab614084d7484f69274d02798fcd2dbea0c"
},
"aarch64_linux_musl": {
"checksum": "2274d691284e4de55fa0a0fd4e7b5003db21f7c62d72986586a81a169cafd7ee"
},
"aarch64_macos": {
"checksum": "7893b26db568ce0c606c0b07cad52659abf2ee488d385581e166fa20924168e5"
}
},
"0.5.31": {
"x86_64_linux_musl": {
"checksum": "f3814f9446f441c8b280ca93ba5aaf211295a6c8363d52e03d7e700808e6692c"
},
"x86_64_macos": {
"checksum": "9cd643daafc0e868c5c284a68cefb57fbc3bb2a11e8c59e54e738168bc691126"
},
"x86_64_windows": {
"checksum": "392cb5e11eaebd21f7ae865807837d0ab54df86e7ab5f98d3bf5b3cda65fea93"
},
"aarch64_linux_musl": {
"checksum": "0261bbfa0bd49964ca3dbd3041ec3fe5b23efd62b51e794bf516cc964af24079"
},
"aarch64_macos": {
"checksum": "9b7e2cb8fbc6694c2a0fd2abb7867108447c39350ca0fd3688a1b991877dff69"
}
},
"0.5.30": {
"x86_64_linux_musl": {
"checksum": "6731e8d7767145debb825095ab3ab7b9ab25cf7f5a10d22d17c1ef4566fbf249"
},
"x86_64_macos": {
"checksum": "9f634e2bed2dff89ec21177daf8abc1d55c1cca07e73d52f70b796f63a7a3d52"
},
"x86_64_windows": {
"checksum": "60dd774010ae493d17ca052f33d4976f5fe13e462d5b0f731a6c5e39de7475e8"
},
"aarch64_linux_musl": {
"checksum": "87718e164f6206fe4b2cf9b600bcafa1b582f22509820147f1060569e1d9217c"
},
"aarch64_macos": {
"checksum": "58d6295dffafdb920a1096635f9dd5334e5911d3e27cd7bccb0d2d9f99cc86b2"
}
},
"0.5.29": {
"x86_64_linux_musl": {
"checksum": "963ef54eca8296c4c112f0453b9bc36e5103ab1bee2b272abeb1e3474ae4aab8"
},
"x86_64_macos": {
"checksum": "be124539c0a1cc99124b28bda4fa916b5189a706fc975add13c4299f74d31237"
},
"x86_64_windows": {
"checksum": "ac70d70ac560a433276b6037f684044fb66627a8ddab38fe999599951d075845"
},
"aarch64_linux_musl": {
"checksum": "5865b9f03bbc6684731eaaa2ae512bf85dc11ee409e25e77882f4183af1ac03d"
},
"aarch64_macos": {
"checksum": "e05bf23c4d8b0af4b3127e10cf3484ca107e32a808e1cab48e417a14d3542edc"
}
},
"0.5.28": {
"x86_64_linux_musl": {
"checksum": "2e615725d904a4372f8613b8fc2012f392e22e8ce1190b3ad38a63ef25958f9e"
},
"x86_64_macos": {
"checksum": "56cc1e4c456b560608edea0871b7d5c0f6b61abe2eab6dcfdf66ef5dc32849c9"
},
"x86_64_windows": {
"checksum": "60d1c6253a6ac1d33127d22f9520237229422f9c91102e02134d9ec2f40d21fa"
},
"aarch64_linux_musl": {
"checksum": "a944fb36384a8baf9625c26f5232a82e344be38075be9175d50acf1128c418e3"
},
"aarch64_macos": {
"checksum": "035f1d632073d90d4b7986e9392b6659552d83759e154697d6032d2eb5fb7557"
}
},
"0.5.27": {
"x86_64_linux_musl": {
"checksum": "74e554fb069ee0410422158d293f91eddf1f126c59801df5474d79c39c6c63af"
},
"x86_64_macos": {
"checksum": "8f86128ef90534f1ccdb033ec05f37447e5861eceacb12871598a9f7b1097a1d"
},
"x86_64_windows": {
"checksum": "f9f0eadbe325594dc5b45cf226fa8c738635539a6a93fce39783876c0f6b4344"
},
"aarch64_linux_musl": {
"checksum": "20161f2a1f8322ec98281bd818219a9c9cb4744b2dbe95bf073af29b1e47cc83"
},
"aarch64_macos": {
"checksum": "43ad8e2bcd3a394f08c6e1582253ea759b611b0b94774933b7ebcc91a23f82e8"
}
},
"0.5.26": {
"x86_64_linux_musl": {
"checksum": "9284d4ff91e76a12186670a370ecd481e0ef430f077d5258b7c45560fdce2a1f"
},
"x86_64_macos": {
"checksum": "9972f993cab0668ee22c1b1cec6c84b00e810ba56c1479122751dd23a9fd71df"
},
"x86_64_windows": {
"checksum": "f60ad6861037cd98cc5f9ed640f5bc347188ca4053956dfdc544d4259518ee29"
},
"aarch64_linux_musl": {
"checksum": "0bc7aec3aa09c638c0bc153170ab1f60802057ce9037c6febd10941e5751dc07"
},
"aarch64_macos": {
"checksum": "99864fc0f04d337a9a77fd24b89a6e9325381b5f7fb4542ce5e4a2ad2c12363c"
}
},
"0.5.25": {
"x86_64_linux_musl": {
"checksum": "0567e6b651bcb819afcc2cc8f49f18a74c57ffba0aa9a2640b313c5f2568ea1c"
},
"x86_64_macos": {
"checksum": "7af62464a39cc9732567ba2b3213c19afe85b20f0ffd7e70ba56cd7bcc78e661"
},
"x86_64_windows": {
"checksum": "2b91db2b1b329f700337d5ec2323e969527644f3761cc1ae7a4a94a9faff2d0d"
},
"aarch64_linux_musl": {
"checksum": "a16b7950746dd8d764479289ac48cb06ebc156e2a750c595b95589a68342bccb"
},
"aarch64_macos": {
"checksum": "db6d159acf27ca7d6f148fc5604dd9f2ff39da163f94d9a1c37c3f063dd664fb"
}
},
"0.5.24": {
"x86_64_linux_musl": {
"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": {

View File

@@ -1,107 +0,0 @@
{
"rust_crate": "cargo-machete",
"template": null,
"latest": {
"version": "0.6.0"
},
"0.6": {
"version": "0.6.0"
},
"0.6.0": {
"x86_64_linux_musl": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.6.0/cargo-machete-v0.6.0-x86_64-unknown-linux-musl.tar.gz",
"checksum": "8f7f67f87c80d8ee331857e61c03762b71f9e68266a9193f4934cef1c8ccb449",
"bin": "cargo-machete-v0.6.0-x86_64-unknown-linux-musl/cargo-machete"
},
"x86_64_macos": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.6.0/cargo-machete-v0.6.0-x86_64-apple-darwin.tar.gz",
"checksum": "dab6a9127166b8889a1933864014664288e16a211a2e3de65585d69b18b84bbf",
"bin": "cargo-machete-v0.6.0-x86_64-apple-darwin/cargo-machete"
},
"x86_64_windows": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.6.0/cargo-machete-v0.6.0-x86_64-pc-windows-msvc.tar.gz",
"checksum": "4e3369fea5e87bdab2d4219dd07b69fa562a7b0081433464ead82dced36f3af1",
"bin": "cargo-machete-v0.6.0-x86_64-pc-windows-msvc/cargo-machete.exe"
},
"aarch64_macos": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.6.0/cargo-machete-v0.6.0-aarch64-apple-darwin.tar.gz",
"checksum": "c4957bade3109f147ebe1598fa8f0b555713bbe83310cd99c927fa25398ae847",
"bin": "cargo-machete-v0.6.0-aarch64-apple-darwin/cargo-machete"
}
},
"0.5": {
"version": "0.5.0"
},
"0.5.0": {
"x86_64_linux_musl": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.5.0/cargo-machete-v0.5.0-x86_64-unknown-linux-musl.tar.gz",
"checksum": "1ce5cf9fa24f6861a14318fb96db59011865d0adf979c2240d006407815ca174",
"bin": "cargo-machete-v0.5.0-x86_64-unknown-linux-musl/cargo-machete"
},
"x86_64_macos": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.5.0/cargo-machete-v0.5.0-x86_64-apple-darwin.tar.gz",
"checksum": "0550b85e43905fe8bfe0e83cb04d220a80f7aa898aaa3be0fe7a96f8ffd5e7f5",
"bin": "cargo-machete-v0.5.0-x86_64-apple-darwin/cargo-machete"
},
"x86_64_windows": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.5.0/cargo-machete-v0.5.0-x86_64-pc-windows-msvc.tar.gz",
"checksum": "fd5ebb959cc214e8dab2661c65562eb0ec3d1da72d5f5a746f6bb6111b1854f8",
"bin": "cargo-machete-v0.5.0-x86_64-pc-windows-msvc/cargo-machete.exe"
},
"aarch64_macos": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.5.0/cargo-machete-v0.5.0-aarch64-apple-darwin.tar.gz",
"checksum": "0386aa9ace17f6d96244b1315f8e996325ab81584a37fd3bc1d300a84455e55f",
"bin": "cargo-machete-v0.5.0-aarch64-apple-darwin/cargo-machete"
}
},
"0.4": {
"version": "0.4.0"
},
"0.4.0": {
"x86_64_linux_musl": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.4.0/cargo-machete-v0.4.0-x86_64-unknown-linux-musl.tar.gz",
"checksum": "92e77b38b91e30e9d7383779b71035c5eebd8d874e1683db19239062d0dd1000",
"bin": "cargo-machete-v0.4.0-x86_64-unknown-linux-musl/cargo-machete"
},
"x86_64_macos": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.4.0/cargo-machete-v0.4.0-x86_64-apple-darwin.tar.gz",
"checksum": "db1f036bafc424af7247aa27748c08b3174b85b414e774cad51689f3e01ec64e",
"bin": "cargo-machete-v0.4.0-x86_64-apple-darwin/cargo-machete"
},
"x86_64_windows": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.4.0/cargo-machete-v0.4.0-x86_64-pc-windows-msvc.tar.gz",
"checksum": "0c31b0b4d7a3092dc84375d3993947cbdbf9db7f4d81128aca8a13e268cfe49c",
"bin": "cargo-machete-v0.4.0-x86_64-pc-windows-msvc/cargo-machete.exe"
},
"aarch64_macos": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.4.0/cargo-machete-v0.4.0-aarch64-apple-darwin.tar.gz",
"checksum": "5f8a3004642535c78d2b7a49cb0e1fc6287643bc5c52d10e77ae3e79b558e190",
"bin": "cargo-machete-v0.4.0-aarch64-apple-darwin/cargo-machete"
}
},
"0.3": {
"version": "0.3.1"
},
"0.3.1": {
"x86_64_linux_musl": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.3.1/cargo-machete-0.3.1-x86_64-unknown-linux-musl.tar.gz",
"checksum": "d5e15a4c1926296746e0da4d52d8c7203acc1d453c8874c6b6f56a0ae52d4d87",
"bin": "cargo-machete-0.3.1-x86_64-unknown-linux-musl/cargo-machete"
},
"x86_64_macos": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.3.1/cargo-machete-0.3.1-x86_64-apple-darwin.tar.gz",
"checksum": "83431f27f24f59d47385497d1a19ebe7c6e32f36dd163d804aa5b1337ca1489b",
"bin": "cargo-machete-0.3.1-x86_64-apple-darwin/cargo-machete"
},
"x86_64_windows": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.3.1/cargo-machete-0.3.1-x86_64-pc-windows-msvc.tar.gz",
"checksum": "28aa111b283bc97f9259b0644b99e0109dde6414a5a672e00347d8cbb6e83804",
"bin": "cargo-machete-0.3.1-x86_64-pc-windows-msvc/cargo-machete.exe"
},
"aarch64_macos": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.3.1/cargo-machete-0.3.1-aarch64-apple-darwin.tar.gz",
"checksum": "3ac0cee2102d74c71c831af1c7b8e229b254d3318927baed340728ddc61a10a8",
"bin": "cargo-machete-0.3.1-aarch64-apple-darwin/cargo-machete"
}
}
}

1252
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,170 +20,10 @@
}
},
"latest": {
"version": "0.1.19"
"version": "0.1.11"
},
"0.1": {
"version": "0.1.19"
},
"0.1.19": {
"x86_64_linux_musl": {
"checksum": "ba393e37118a7f55c47cb14099c0554d5e5fcb3f4bfa422b608e00efb7bcefa2"
},
"x86_64_macos": {
"checksum": "dacffa0bf0b3e6fa1b587e82084bfbf8f74171240d50ecb3309a832f2e43f8e3"
},
"x86_64_windows": {
"checksum": "d6be0676301f3c6e6ba41f72a22e878b6e53a1a94cb6fd8a888cfa8fc8be4301"
},
"aarch64_linux_musl": {
"checksum": "fa5abed03b435bd6b70543f370fdc1c834611041b6b467d972bbec95aee1f9c1"
},
"aarch64_macos": {
"checksum": "376e4aa8f37ffacfd68b1f69fc0aa6ed7dc8f95bf5cc625fc054cc040e2ddd53"
},
"aarch64_windows": {
"checksum": "cde5b7a04a80e465e3ed677ecd75182f9d38e67db0b782d62caeb5f874c34f8b"
}
},
"0.1.18": {
"x86_64_linux_musl": {
"checksum": "d1cde56ac778d61f2179045d9f9f8086afabb1b5a371a35d82000a8cb7b9f150"
},
"x86_64_macos": {
"checksum": "307f516b0353132fa420e19eff3aae7f83ed84273eae5447752f886c23134bcc"
},
"x86_64_windows": {
"checksum": "bd4f276b0c115613992d9fa0ad8dd688828c5bf47c8b91a617638bb170549d7f"
},
"aarch64_linux_musl": {
"checksum": "efc430279c656b7c58965f41c82688ee10d84d4e5bfd193d3f7858d83db98982"
},
"aarch64_macos": {
"checksum": "b398d09d167b3fa253c835e56876151b59804ba083d9d6b4978d55bac767b692"
},
"aarch64_windows": {
"checksum": "a26eeef963905cc14de9dd1e11c8d6a7a1a7db812a040de37e3cdbef74cc546f"
}
},
"0.1.17": {
"x86_64_linux_musl": {
"checksum": "dbab6188ceca0396f80d6f6d931704568377fe5cb2985e3af54b73be721c1826"
},
"x86_64_macos": {
"checksum": "44134caa5b7a88bff8923c2616c4bc3e940b66539ec7d9bf47775f61873d4fc9"
},
"x86_64_windows": {
"checksum": "954948921af804f309368c587a38089a132225434be14d1f6a38f0140f39cb7b"
},
"aarch64_linux_musl": {
"checksum": "5317743fe7f1306f844062fe05c5777880219bd47a32047f5d9e7c5924b140ec"
},
"aarch64_macos": {
"checksum": "1550c655792cb18b03b6d3bec8ee74270eadb891c2f06b98c775134dd71b3801"
},
"aarch64_windows": {
"checksum": "fb81001414eea31810aa84943f2cf22d7f423b20170d1350534c04a3fc934344"
}
},
"0.1.16": {
"x86_64_linux_musl": {
"checksum": "30dc1bc067c6ac347bd0734a3117c0519e7ae715021d56952be3e207ed918447"
},
"x86_64_macos": {
"checksum": "7b81508be9bb73cef8caa8b1b09113eebd1897356aa371246572c4fa6d4b19b9"
},
"x86_64_windows": {
"checksum": "7d36c36b5069d1267ec5c485f904382db16c95b6a78288e3853687ec8691b013"
},
"aarch64_linux_musl": {
"checksum": "c42cba95957e6cea55800658367f59c709205d2888a0728817f15c95c6ed257f"
},
"aarch64_macos": {
"checksum": "27090dbcb9d3046eadc7add438748fdd0795b5caddb985614f5dbcc791902b27"
},
"aarch64_windows": {
"checksum": "0b727650f83886edf5ad8c97d2389273145e367df88f82f712de9b81f366c8e4"
}
},
"0.1.15": {
"x86_64_linux_musl": {
"checksum": "eac1436f7aa50bc34dd2675d97e9cfca6bbda1c9283be0185dae1e9c1c08cec6"
},
"x86_64_macos": {
"checksum": "658581d9ec6c82355c7472d25712eaa0acf048d5cd4a57382bd4a5ba73f212d3"
},
"x86_64_windows": {
"checksum": "b673c444480ca6f6fc983bda35953c2e15a40f484a682c805fbad963dbc02c41"
},
"aarch64_linux_musl": {
"checksum": "accbd49853bc706f9ab330342baf2ff0d2db8f66c26b76b9e6845b911511c2e4"
},
"aarch64_macos": {
"checksum": "4f9ae0aaddf0cda388461e246ac7eadbd0cc326eeb3a28d4ffaf1aa8b509d7d2"
},
"aarch64_windows": {
"checksum": "827c626f40bead527d6eaf7b48017cfd8f559938c370c893ab00c51d3668b37c"
}
},
"0.1.14": {
"x86_64_linux_musl": {
"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,110 +20,10 @@
}
},
"latest": {
"version": "0.2.7"
"version": "0.2.2"
},
"0.2": {
"version": "0.2.7"
},
"0.2.7": {
"x86_64_linux_musl": {
"checksum": "c513030b5c33de29c5d414801a61c64ceca9f58b3a021cd41339e13ef3335abc"
},
"x86_64_macos": {
"checksum": "88ce1a4a6fafbce491cb9037af499ee7dc85a6d3ac7f3c0592114a87782ab90f"
},
"x86_64_windows": {
"checksum": "ff6814dde2441a5c4ca60a5cf0571e907a5691fb4cbdc3dd0b32bb33966bafdb"
},
"aarch64_linux_musl": {
"checksum": "20b5a9e7936fe855877bb6d55090600f42bcf5ef2d86c720ef59e0a12864bd7b"
},
"aarch64_macos": {
"checksum": "8d408a5c9d8276e4e168b92b4a41c9e80bb352eabd431f93e8c147377b637328"
},
"aarch64_windows": {
"checksum": "2cbfa80772909a7195db75713c170f3b91afe8b37b7c7917ccb893b977545c24"
}
},
"0.2.6": {
"x86_64_linux_musl": {
"checksum": "95a00b9a7bac659c273422f68e6bb38e9e69fc0d1c163552ba7bebcf8c4915ee"
},
"x86_64_macos": {
"checksum": "412afe1fdc554ffdc155ba89e573b5c44cef8e5417440f29bf9ae4e9452bccb2"
},
"x86_64_windows": {
"checksum": "8d818e8d66bf5bfea09070377d7f7830d888cf45392734abecb18ab75c837060"
},
"aarch64_linux_musl": {
"checksum": "dcb7de74155818329078f4e0693e71c684e8088bd411bd9c310d40291540b60a"
},
"aarch64_macos": {
"checksum": "e45592ea2e8b9b1e8c00fea545543d5b62229e6159a32f1c11000c2cd680c693"
},
"aarch64_windows": {
"checksum": "7d35cbcf17b3114313f4cc19dbce84fcc51cb3949c0bc1f48110915a8aaac919"
}
},
"0.2.5": {
"x86_64_linux_musl": {
"checksum": "4c609f8d62669a8ecad8a83769e3a3adf5faab94820e69fd73473a37bfd39be4"
},
"x86_64_macos": {
"checksum": "82aea3272e74f49f10afd04f8e7451831408b006dc97a6d36b56bb81bfe862ec"
},
"x86_64_windows": {
"checksum": "a91f0c5f46b479c8e9ff84469a2e9dc5252301696db25900688b8180fb6436a5"
},
"aarch64_linux_musl": {
"checksum": "049696e69c9a1ed571dc93377e944c37e0c886517bc517a84de03a9591b0e013"
},
"aarch64_macos": {
"checksum": "125813b967068757faf1f9733ef018de0850a5e642e86d436b47b317202244ea"
},
"aarch64_windows": {
"checksum": "1cc8c6d9b2dc7619c45dd19fadc5f7465b8993d3242e402bdaac6eb5026bd500"
}
},
"0.2.4": {
"x86_64_linux_musl": {
"checksum": "5dfabc9d10e6eefb6c4847307c7b757a0c5ff20bbc55ba4c156e8ca941130122"
},
"x86_64_macos": {
"checksum": "1e3f1feed216477022ed2fcdff2019de896d6d179e432722009f507822028979"
},
"x86_64_windows": {
"checksum": "09ca80f82b52ed1cd312d5aa2901c4b12b25ad557c5e39e40566de62914cfc7c"
},
"aarch64_linux_musl": {
"checksum": "f358eb55bff29666df98b8b850f44c1dc47fd4f1c35c3f91bfe7173090afeaaf"
},
"aarch64_macos": {
"checksum": "b181d0ec01a93ba4909a8fefd9d4d533647448046fbae28fc81edd902d0658f1"
},
"aarch64_windows": {
"checksum": "a19cddb696f1bb0890c3d26cbe5cbdc12d3a489126941bb10b7fe4f48f6a4b64"
}
},
"0.2.3": {
"x86_64_linux_musl": {
"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,84 +17,10 @@
}
},
"latest": {
"version": "0.27.0"
},
"0.27": {
"version": "0.27.0"
},
"0.27.0": {
"x86_64_linux_musl": {
"checksum": "b0cfcb086131773fb8a6a2cf8090c9416a8f233c2ae4bb887500f4e17d39fe7b"
},
"x86_64_macos": {
"checksum": "84c77137ca762c0cda3d4e8330ef3312efe72220da6470e8d657e5e545a11d2b"
},
"x86_64_windows": {
"checksum": "0114eef8cdb3c8466861dd64d7e16fd430cc0380406f230e16aa9e9c32af45e4"
},
"aarch64_linux_musl": {
"checksum": "6e4f5bc5adafd1730c82ec816b89279d5cdb8255180488fc560e646bef624687"
},
"aarch64_macos": {
"checksum": "375e7969d10faf76ec2ec29d11cbfa266e268357514cd05ed2a24554df7a8183"
}
},
"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,116 +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.42"
"version": "0.1.35"
},
"0.1": {
"version": "0.1.42"
},
"0.1.42": {
"x86_64_linux_musl": {
"checksum": "87566d3ef73ab818f64b078de211772b488a536e502b0cadf52d0aa72c98df4e"
},
"x86_64_macos": {
"checksum": "2bb16d6f823e76bae2c80f19327d80defdbad94da56af215a113fdb1ca2a723b"
},
"x86_64_windows": {
"checksum": "2042993093509a11f4f630f4d3dc0a1d48694f15890d6d2fbe1a8c3b1e1662c7"
},
"aarch64_linux_musl": {
"checksum": "c9d93d0114dda2f4992c284ab61a3be57aee5e02cd9a1a9911cfe7c4a93441f8"
},
"aarch64_macos": {
"checksum": "6ba990fea6cafbb305f731c903903aeaa730dee35afd93b4e9ce0efac1fc5d92"
},
"aarch64_windows": {
"checksum": "9e8fda00a0e495a0ed38a327379076ab305041b2fba65649dcb7dd5821463680"
}
},
"0.1.41": {
"x86_64_linux_musl": {
"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"

278
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,283 +20,10 @@
}
},
"latest": {
"version": "0.41.0"
},
"0.41": {
"version": "0.41.0"
},
"0.41.0": {
"x86_64_linux_musl": {
"checksum": "a22a0b771327e14bcb2508303502fa325bc85b2ca1c099ec49324c736be37fad"
},
"x86_64_macos": {
"checksum": "28ef80b29135b428c4b87d0b6468b9280f2dea97fd4bada27cf247c7b8870f2f"
},
"x86_64_windows": {
"checksum": "f0416f1418d512066178c123daa5bf3dc061bcebd3e344906087762e3e6bc250"
},
"aarch64_linux_gnu": {
"checksum": "736bae33b5ed619eafbb5f6bdf65f5806f728a7b51e229ba6732afd3117b8f89"
},
"aarch64_macos": {
"checksum": "3edb4521887bae5afe5ced25b5a540fc0f889b61cd335b3b4aab80b4d391981f"
}
},
"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": {

255
manifests/protoc.json generated
View File

@@ -1,262 +1,13 @@
{
"rust_crate": null,
"template": null,
"latest": {
"version": "3.24.3"
"version": "3.22.2"
},
"3": {
"version": "3.24.3"
},
"3.24": {
"version": "3.24.3"
},
"3.24.3": {
"x86_64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-linux-x86_64.zip",
"checksum": "fc793561283d9ea6813fb757ae54f1afea6770afcd930904bdf3e590910420aa"
},
"x86_64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-osx-x86_64.zip",
"checksum": "13b45cdcde9b2101e982de897d5490cfd81dfa181605749c23982379ba0e3288"
},
"x86_64_windows": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-win64.zip",
"checksum": "c8f8c87e2eb6ba1e45f1f0b7b6c17f129309fff421c04290e272de1f7defd8f1"
},
"aarch64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-linux-aarch_64.zip",
"checksum": "77a5a41f3e9712af6a35de13143b9b2b77f075aa1ab18a63cca4483b30f6e3cd"
},
"aarch64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-osx-aarch_64.zip",
"checksum": "cca53adb73a6686dd60bb3b0da33961e6b9dab1f833c851b5e1bb7b5df02b36f"
}
},
"3.24.2": {
"x86_64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.2/protoc-24.2-linux-x86_64.zip",
"checksum": "1bfa935466cf902200cfba0e80d0ac60fec8e4c61aad3debc9fc97a135604b72"
},
"x86_64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.2/protoc-24.2-osx-x86_64.zip",
"checksum": "335d8623065234734d35b284f36326fbeded4bad88ca20a2df181761f67ca1a5"
},
"x86_64_windows": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.2/protoc-24.2-win64.zip",
"checksum": "e0cbca02e34aca5c76059f8b78000512a83c77409f7137ec6977fc554609f79f"
},
"aarch64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.2/protoc-24.2-linux-aarch_64.zip",
"checksum": "6593cf94c8d66f367e6526fda6c0ee0fdd442171a9e302c4625e6eb0958c06c1"
},
"aarch64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.2/protoc-24.2-osx-aarch_64.zip",
"checksum": "9624e53cd0c061afb5eab9e50fc0372383585dcc22bd2b1fb54fd5a4c3294989"
}
},
"3.24.1": {
"x86_64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.1/protoc-24.1-linux-x86_64.zip",
"checksum": "1b9d1467205530986d58d24d2b89b9db3c8a9e3c31ed40b2a223913480ca8987"
},
"x86_64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.1/protoc-24.1-osx-x86_64.zip",
"checksum": "476782d4220ff7b2d8b333a648a1f8a52c200211db85e76347e668d9d4c07515"
},
"x86_64_windows": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.1/protoc-24.1-win64.zip",
"checksum": "dad1efed75cb772a0c9e5d4646006bf87e1e051191473a2a30c9db66ee223cfd"
},
"aarch64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.1/protoc-24.1-linux-aarch_64.zip",
"checksum": "676a38ff5584c913bbab3991bb1a515b8cbd22a12c029e24c440d9b05c816f1c"
},
"aarch64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.1/protoc-24.1-osx-aarch_64.zip",
"checksum": "e7c622512ad2133f25bc6369e1330809daa7ae2742611bf596bbc904e18ca8d5"
}
},
"3.24.0": {
"x86_64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.0/protoc-24.0-linux-x86_64.zip",
"checksum": "4feef12d91c4e452eac8c45bd11f43d51541db7fc6c18b4ca7bdd38af52c9d15"
},
"x86_64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.0/protoc-24.0-osx-x86_64.zip",
"checksum": "c438ae68427aa848f4e2dbf7d6cbd4e6a13e30a6bcc61007fd95cfc90451264a"
},
"x86_64_windows": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.0/protoc-24.0-win64.zip",
"checksum": "8c84d3d36936424a99934a9e5034f8a573615bf7f1b4246d536f33c120af60cd"
},
"aarch64_linux_gnu": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.0/protoc-24.0-linux-aarch_64.zip",
"checksum": "d27f1479fc4707f275eaa952cef548f9fa0c8ef2d8cb5977f337d2ce61430682"
},
"aarch64_macos": {
"url": "https://github.com/protocolbuffers/protobuf/releases/download/v24.0/protoc-24.0-osx-aarch_64.zip",
"checksum": "e4cc0739f0f8ae31633fb11335f11e6fbe067ecda8fd1b4716e80cfe3661ee1d"
}
},
"3.23": {
"version": "3.23.4"
},
"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"

296
manifests/syft.json generated
View File

@@ -1,296 +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.92.0"
},
"0.92": {
"version": "0.92.0"
},
"0.92.0": {
"x86_64_linux_musl": {
"checksum": "42159b11660fba22a12f8acad87022987337c0725b99d9cf645b690163d5bfce"
},
"x86_64_macos": {
"checksum": "ac6097010cbba3e0300672868d54670ff514458c6784683172680c47ba1696de"
},
"x86_64_windows": {
"checksum": "071135f3ddff00edd7c21663a08d8c8e1a9d199f55bb0f3cd36aaeb1e186875d"
},
"aarch64_linux_musl": {
"checksum": "33f6636e54eb1731b137c43257d8de8025282ca3570f307f3249ba7d5757ce10"
},
"aarch64_macos": {
"checksum": "8518d8682b5fe287caaabf3584331074220ab3f588ed3d47badf8428af87c320"
}
},
"0.91": {
"version": "0.91.0"
},
"0.91.0": {
"x86_64_linux_musl": {
"checksum": "51188401eb2a2425db1155ba18cb64db8275491a1e1049690fe6e8a371ff222a"
},
"x86_64_macos": {
"checksum": "724e6864a356834d8f3a40a3db2216884fc2c4cf69b67baa03cd08466e80fca9"
},
"x86_64_windows": {
"checksum": "9189e2246b5b649f8f09eb6d7500ee5f698253e94ebb34fab06ea6910489bcdc"
},
"aarch64_linux_musl": {
"checksum": "e9d3eb8120438325b79a8bf2a994692a111e5a47c63bbdf7762f7e9fb5a12f4a"
},
"aarch64_macos": {
"checksum": "d53362e44322e81015c9fa17f2254f2fa3d55dc04f18c1e0bc8891705aaf4696"
}
},
"0.90": {
"version": "0.90.0"
},
"0.90.0": {
"x86_64_linux_musl": {
"checksum": "7368d65830fe90ad96edac8a1d548193a36e18853f30e11b9f97772a573eae2a"
},
"x86_64_macos": {
"checksum": "5b2c36edf5a317eb45691484ad6eea6ffc2aee45fb97612492b93099a9407578"
},
"x86_64_windows": {
"checksum": "eaffd994f6c90ce39e7753f1cb48f5e61f7828b83dc8f27364490f02813d3645"
},
"aarch64_linux_musl": {
"checksum": "06bc39ff9ff3a3a5ba7055a158eace7bf105c8baf9eecfa33fbb1387e9dab4ed"
},
"aarch64_macos": {
"checksum": "9d596ab903becd9061cb9919e6e626835978246adaaf0392c871fdf34b974c38"
}
},
"0.89": {
"version": "0.89.0"
},
"0.89.0": {
"x86_64_linux_musl": {
"checksum": "b7cc7c1fb588454947ca678df7ddd906620d399a05f92a550b1b2d312fb26764"
},
"x86_64_macos": {
"checksum": "fd8fc86772d44b4a93f6566a897f832923cc6aa3de9434772a4ac0966377f8be"
},
"x86_64_windows": {
"checksum": "1a512c97b3fa504ad0b6c8c62660cfe980786a433a1582b460bd35005b36ceb2"
},
"aarch64_linux_musl": {
"checksum": "1c1c8e53d7157c3e861116e24eb494da0b660b3757ea69d6e05038c6ed76c50f"
},
"aarch64_macos": {
"checksum": "7d6d848c4375d10c2ebd019120a835f3d4527bb78250efc47fd2ba010a6798ba"
}
},
"0.88": {
"version": "0.88.0"
},
"0.88.0": {
"x86_64_linux_musl": {
"checksum": "d22c5e840c1a9ba10aee264d8bd015aca9c745bfd23efdfe75fdd36eeaf75ea8"
},
"x86_64_macos": {
"checksum": "f27232e327bf7f533dcffb2275250d325f45b69f5a0bd723c33f40f733e89e15"
},
"x86_64_windows": {
"checksum": "3c4bbcfee4c885e2b344c0de3dc77987057b27079cccb1b15435fd2399f92cfa"
},
"aarch64_linux_musl": {
"checksum": "2c5550833c9c958f29e0f0cd13fd962b1805b97c8775db73c44e274da42a7b39"
},
"aarch64_macos": {
"checksum": "8e822e53eb3f779e446466a93863a75da9e78cefdbcf1fa575b0645a45dcc868"
}
},
"0.87": {
"version": "0.87.1"
},
"0.87.1": {
"x86_64_linux_musl": {
"checksum": "1f6f5aa0bb5682f8db74cb5adf00fac9bddec40f6fcde808b71c43d3593e3cf5"
},
"x86_64_macos": {
"checksum": "c24990a01127bfe512351bb65694460629a6c83828e02aef9f8e7ece5d0b3c8a"
},
"x86_64_windows": {
"checksum": "ec89bf68571238a67b83c26a32371b67efa6daeaa819d67a9f281a69cb2e0cd0"
},
"aarch64_linux_musl": {
"checksum": "5570eb42a9a2b696d4d8398a9733f7f2dda0e4a243413960aeab44a1183a6f47"
},
"aarch64_macos": {
"checksum": "eeae4d4ed97f9519697027d658deab72fcdc94a6f2c4d77354a82085fb8db1f4"
}
},
"0.87.0": {
"x86_64_linux_musl": {
"checksum": "9567007466ae6c5c893abd680258f8781b0709188fb0aab59eb1eb35c64ea6b6"
},
"x86_64_macos": {
"checksum": "60137a14c6a1340e7405baa07876b5e442e756b208fd9b5b3cb2f9a14a410e19"
},
"x86_64_windows": {
"checksum": "2fe288c607b1d2febac30b5997b76aa83b40694b8af7af6690d9f64385212f3c"
},
"aarch64_linux_musl": {
"checksum": "14f5876c6543d084fa0f91ec928af8bd0dba7ea09f5848528c6402b20ff72041"
},
"aarch64_macos": {
"checksum": "2b68cefc0b51781fdf2669ef3633904fe057740b6752d2704db34ba380238387"
}
},
"0.86": {
"version": "0.86.1"
},
"0.86.1": {
"x86_64_linux_musl": {
"checksum": "6316bff6b9a40c893422ec4df12c7da6a200f7ca08842cccc39bf94cd69f28c8"
},
"x86_64_macos": {
"checksum": "5e506e96ac2ae01e9d2598e66dcc9375d0d4018031e54725e25b26bc0ed9f177"
},
"x86_64_windows": {
"checksum": "b0a8141b46de13ccf82dd12fd8eddb77888aef770ef210ee35f9c68a61122b93"
},
"aarch64_linux_musl": {
"checksum": "ed143b563c231ab3acdf805ff4b68d808d4ccf2ed35ec829aa5c377de0cc02ee"
},
"aarch64_macos": {
"checksum": "e538cc1881d9b2446d4d20ea19f650e567cb729c38ad05c268c712450bcf7ecf"
}
},
"0.86.0": {
"x86_64_linux_musl": {
"checksum": "f05da10cbf60cb5f9edcd8da79762bc5b4a495d828bad23b301632ffc18ddfb1"
},
"x86_64_macos": {
"checksum": "d8c7169086347427bc1317ce484d21049331f34c516f209e01335b6c4ba89648"
},
"x86_64_windows": {
"checksum": "ffb447ca43ac4761796f9463b88b2bdca5f45169ac5ace86413c70394cefdc3e"
},
"aarch64_linux_musl": {
"checksum": "c6aa2fe68101b349b8426c0fb119b98d24a361e3bdac0554f477c5a943bb288d"
},
"aarch64_macos": {
"checksum": "e083dbf018cfa5bffd2904a1c4c9277cface05bdfdd2ec6b46b171091c3e6a91"
}
},
"0.85": {
"version": "0.85.0"
},
"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": {

1527
manifests/wasmtime.json generated

File diff suppressed because it is too large Load Diff

34
manifests/xbuild.json generated
View File

@@ -1,34 +0,0 @@
{
"rust_crate": "xbuild",
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/rust-mobile/xbuild/releases/download/v${version}/xbuild-linux-x64",
"bin": "xbuild-linux-x64"
},
"x86_64_macos": {
"url": "https://github.com/rust-mobile/xbuild/releases/download/v${version}/xbuild-macos-x64",
"bin": "xbuild-macos-x64"
},
"x86_64_windows": {
"url": "https://github.com/rust-mobile/xbuild/releases/download/v${version}/xbuild-windows-x64.exe",
"bin": "xbuild-windows-x64.exe"
}
},
"latest": {
"version": "0.2.0"
},
"0.2": {
"version": "0.2.0"
},
"0.2.0": {
"x86_64_linux_gnu": {
"checksum": "9c294809ec3cb314b34e9f644b5bbf6ed262c25c1eeb78a3691836a95bc58e0d"
},
"x86_64_macos": {
"checksum": "e357205fde5262d77b8b1dc1cb066a4f7b4edd0a83b71b3513ae466b08343305"
},
"x86_64_windows": {
"checksum": "ce503cd64e6449d1c3e3bc2bfb621e9dd3ebfc775e99c97f98c2ab145e533946"
}
}
}

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

View File

@@ -1,148 +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_34_incompat=(
xbuild
)
glibc_pre_2_31_incompat=(
"${glibc_pre_2_34_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.34"$'\n'"${host_glibc_version}" -Vu | tail -1)
if [[ "${higher_glibc_version}" != "${host_glibc_version}" ]]; then
higher_glibc_version=$(sort <<<"2.31"$'\n'"${host_glibc_version}" -Vu | tail -1)
if [[ "${higher_glibc_version}" != "${host_glibc_version}" ]]; then
higher_glibc_version=$(sort <<<"2.27"$'\n'"${host_glibc_version}" -Vu | tail -1)
if [[ "${higher_glibc_version}" == "${host_glibc_version}" ]]; then
incompat_tools+=("${glibc_pre_2_31_incompat[@]}")
else
incompat_tools+=("${glibc_pre_2_27_incompat[@]}")
fi
else
incompat_tools+=("${glibc_pre_2_34_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%.*}")
# cross -V requires rustc
if [[ "${tool_name}" == "cross" ]] && ! type -P rustc &>/dev/null; then
continue
fi
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-binstall requires cargo
if type -P cargo &>/dev/null; then
# 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
fi
# 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

@@ -6,13 +6,9 @@ publish = false
[dependencies]
anyhow = "1"
flate2 = "1"
fs-err = "2"
minisign-verify = "0.2"
semver = { version = "1", features = ["serde"] }
semver = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
sha2 = "0.10"
tar = "0.4"
toml = "0.8"
ureq = { version = "2", features = ["json"] }

View File

@@ -1,12 +1,8 @@
{
"repository": "https://github.com/cargo-bins/cargo-binstall",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.tgz",
"version_range": "latest",
"signing": {
"kind": "minisign-binstall"
},
"platform": {
"x86_64_linux_musl": {},
"x86_64_macos": {

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,13 +0,0 @@
{
"repository": "https://github.com/bnjbvr/cargo-machete",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-v${version}-${rust_target}.tar.gz",
"bin": "${package}-v${version}-${rust_target}/${package}${exe}",
"platform": {
"x86_64_linux_musl": {},
"x86_64_macos": {},
"x86_64_windows": {},
"aarch64_macos": {}
}
}

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,13 +0,0 @@
{
"repository": "https://github.com/rust-mobile/xbuild",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${os_name}-x64${exe}",
"bin": "${package}-${os_name}-x64${exe}",
"version_range": ">= 0.2.0",
"platform": {
"x86_64_linux_gnu": {},
"x86_64_macos": {},
"x86_64_windows": {}
}
}

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

@@ -1,13 +1,11 @@
// SPDX-License-Identifier: Apache-2.0 OR MIT
#![allow(clippy::single_match)]
use anyhow::{bail, Context as _, Result};
use fs_err as fs;
use serde::{Deserialize, Serialize};
use sha2::{Digest, Sha256};
use std::{
cmp::Reverse,
collections::{BTreeMap, BTreeSet},
env,
ffi::OsStr,
fmt,
env, fmt,
io::Read,
path::{Path, PathBuf},
slice,
@@ -15,11 +13,6 @@ use std::{
time::Duration,
};
use anyhow::{bail, Context as _, Result};
use fs_err as fs;
use serde::{Deserialize, Serialize};
use sha2::{Digest, Sha256};
fn main() -> Result<()> {
let args: Vec<_> = env::args().skip(1).collect();
if args.is_empty() || args.iter().any(|arg| arg.starts_with('-')) {
@@ -31,13 +24,17 @@ fn main() -> Result<()> {
let package = &args[0];
let workspace_root = &workspace_root();
let manifest_path = &workspace_root.join("manifests").join(format!("{package}.json"));
let manifest_path = &workspace_root
.join("manifests")
.join(format!("{package}.json"));
let download_cache_dir = &workspace_root.join("tools/codegen/tmp/cache").join(package);
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(
workspace_root.join("tools/codegen/base").join(format!("{package}.json")),
let base_info: BaseManifest = serde_json::from_slice(&fs::read(
workspace_root
.join("tools/codegen/base")
.join(format!("{package}.json")),
)?)?;
let repo = base_info
.repository
@@ -77,17 +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,15 +89,20 @@ 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 = template.bin.as_ref().map(|s| s.replace("${version}", version));
d.bin_dir = template
.bin_dir
.as_ref()
.map(|s| s.replace("${version}", version));
d.bin = template
.bin
.as_ref()
.map(|s| s.replace("${version}", version));
}
}
}
@@ -122,6 +113,19 @@ fn main() -> Result<()> {
}
let version_req: Option<semver::VersionReq> = match args.get(1) {
_ if latest_only => {
if args.get(1).map(String::as_str) == Some("latest") {
if let Some(m) = manifests.map.first_key_value() {
let version = match m.1 {
ManifestRef::Ref { version } => version,
ManifestRef::Real(_) => &m.0 .0,
};
if !manifests.map.is_empty()
&& *version >= releases.first_key_value().unwrap().0 .0.clone().into()
{
return Ok(());
}
}
}
let req = format!("={}", releases.first_key_value().unwrap().0 .0).parse()?;
eprintln!("update manifest for versions '{req}'");
Some(req)
@@ -145,7 +149,7 @@ fn main() -> Result<()> {
if manifests.map.is_empty() {
format!("={}", releases.first_key_value().unwrap().0 .0).parse()?
} else {
format!(">={}", semver_versions.last().unwrap()).parse()?
format!(">{}", semver_versions.last().unwrap()).parse()?
}
} else {
version_req.parse()?
@@ -156,21 +160,13 @@ fn main() -> Result<()> {
};
let mut buf = vec![];
let mut buf2 = vec![];
for (Reverse(semver_version), (version, release)) in &releases {
if let Some(version_req) = &version_req {
if !version_req.matches(semver_version) {
continue;
}
}
// Specifically skip versions of xbuild with build metadata.
if base_info.rust_crate.as_deref() == Some("xbuild") && !semver_version.build.is_empty() {
continue;
}
let mut download_info = BTreeMap::new();
let mut pubkey = None;
for (&platform, base_download_info) in &base_info.platform {
let asset_names = base_download_info
.asset_name
@@ -179,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
@@ -197,136 +193,60 @@ fn main() -> Result<()> {
}
};
eprint!("downloading {url} for checksum ... ");
let download_cache = &download_cache_dir.join(format!(
eprintln!("downloading {url} for checksum...");
let download_cache = download_cache_dir.join(format!(
"{version}-{platform:?}-{}",
Path::new(&url).file_name().unwrap().to_str().unwrap()
));
if download_cache.is_file() {
eprintln!("already downloaded");
eprintln!(" already downloaded");
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}");
let hash = Sha256::digest(&buf);
let hash = format!("{hash:x}");
eprintln!("{hash} *{asset_name}");
let bin_url = &url;
match base_info.signing {
Some(Signing { kind: SigningKind::MinisignBinstall }) => {
let url = url.clone() + ".sig";
let sig_download_cache = &download_cache.with_extension(format!(
"{}.sig",
download_cache.extension().unwrap_or_default().to_str().unwrap()
));
eprint!("downloading {url} for signature validation ... ");
let sig = if sig_download_cache.is_file() {
eprintln!("already downloaded");
minisign_verify::Signature::from_file(sig_download_cache)?
} else {
let buf = download(&url)?.into_string()?;
eprintln!("download complete");
fs::write(sig_download_cache, &buf)?;
minisign_verify::Signature::decode(&buf)?
};
let Some(crates_io_info) = &crates_io_info else {
bail!("signing kind minisign-binstall is supported only for rust crate");
};
let v =
crates_io_info.versions.iter().find(|v| v.num == *semver_version).unwrap();
let url = format!("https://crates.io{}", v.dl_path);
let crate_download_cache =
&download_cache_dir.join(format!("{version}-Cargo.toml"));
eprint!("downloading {url} for signature verification ... ");
if crate_download_cache.is_file() {
eprintln!("already downloaded");
} else {
download(&url)?.into_reader().read_to_end(&mut buf2)?;
let hash = Sha256::digest(&buf2);
if format!("{hash:x}") != v.checksum {
bail!("checksum mismatch for {url}");
}
let decoder = flate2::read::GzDecoder::new(&*buf2);
let mut archive = tar::Archive::new(decoder);
for entry in archive.entries()? {
let mut entry = entry?;
let path = entry.path()?;
if path.file_name() == Some(OsStr::new("Cargo.toml")) {
entry.unpack(crate_download_cache)?;
break;
}
}
buf2.clear();
eprintln!("download complete");
}
if pubkey.is_none() {
let cargo_manifest = toml::from_str::<cargo_manifest::Manifest>(
&fs::read_to_string(crate_download_cache)?,
)?;
eprintln!(
"algorithm: {}",
cargo_manifest.package.metadata.binstall.signing.algorithm
);
eprintln!(
"pubkey: {}",
cargo_manifest.package.metadata.binstall.signing.pubkey
);
assert_eq!(
cargo_manifest.package.metadata.binstall.signing.algorithm,
"minisign"
);
pubkey = Some(minisign_verify::PublicKey::from_base64(
&cargo_manifest.package.metadata.binstall.signing.pubkey,
)?);
}
let pubkey = pubkey.as_ref().unwrap();
eprint!("verifying signature for {bin_url} ... ");
let allow_legacy = false;
pubkey.verify(&buf, &sig, allow_legacy)?;
eprintln!("done");
}
None => {}
}
download_info.insert(platform, ManifestDownloadInfo {
url: Some(url),
checksum: hash,
bin: base_download_info
.bin
.as_ref()
.or(base_info.bin.as_ref())
.map(|s| replace_vars(s, package, Some(version), Some(platform)))
.transpose()?,
});
download_info.insert(
platform,
ManifestDownloadInfo {
url: Some(url),
checksum: hash,
bin_dir: base_download_info
.bin_dir
.as_ref()
.or(base_info.bin_dir.as_ref())
.cloned(),
bin: base_download_info
.bin
.as_ref()
.or(base_info.bin.as_ref())
.map(|s| replace_vars(s, package, version, platform))
.transpose()?,
},
);
buf.clear();
}
if download_info.is_empty() {
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() {
@@ -344,58 +264,58 @@ 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))),
ManifestRef::Ref { version: version.clone().into() },
ManifestRef::Ref {
version: version.clone().into(),
},
);
}
if version.major != 0 {
manifests
.map
.insert(Reverse(Version::omitted(version.major, None)), ManifestRef::Ref {
manifests.map.insert(
Reverse(Version::omitted(version.major, None)),
ManifestRef::Ref {
version: version.clone().into(),
});
},
);
}
prev_version = version;
}
manifests.map.insert(Reverse(Version::latest()), ManifestRef::Ref {
version: prev_version.clone().into(),
});
manifests.map.insert(
Reverse(Version::latest()),
ManifestRef::Ref {
version: prev_version.clone().into(),
},
);
}
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);
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:?}, \
@@ -404,26 +324,31 @@ fn main() -> Result<()> {
}
let original_manifests = manifests.clone();
let mut template = Some(ManifestTemplate { download_info: BTreeMap::new() });
let mut template = Some(ManifestTemplate {
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;
}
} else {
t.download_info.insert(*platform, ManifestTemplateDownloadInfo {
url: template_url,
bin: template_bin,
});
t.download_info.insert(
*platform,
ManifestTemplateDownloadInfo {
url: template_url,
bin_dir: template_bin_dir,
bin: template_bin,
},
);
}
}
}
@@ -433,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)?;
@@ -449,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}'");
}
@@ -472,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 {
@@ -628,13 +551,14 @@ impl<'de> Deserialize<'de> for Version {
D: serde::Deserializer<'de>,
{
use serde::de::Error as _;
String::deserialize(deserializer)?.parse().map_err(D::Error::custom)
String::deserialize(deserializer)?
.parse()
.map_err(D::Error::custom)
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
struct Manifests {
rust_crate: Option<String>,
template: Option<ManifestTemplate>,
#[serde(flatten)]
map: BTreeMap<Reverse<Version>, ManifestRef>,
@@ -658,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>,
@@ -672,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>,
@@ -684,39 +614,27 @@ 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>,
signing: Option<Signing>,
platform: BTreeMap<HostPlatform, BaseManifestPlatformInfo>,
/// Use glibc build if host_env is gnu.
#[serde(default)]
prefer_linux_gnu: bool,
version_range: Option<String>,
}
#[derive(Debug, Deserialize)]
#[serde(deny_unknown_fields)]
struct Signing {
kind: SigningKind,
}
#[derive(Debug, Deserialize, PartialEq, Eq)]
#[serde(rename_all = "kebab-case")]
#[serde(deny_unknown_fields)]
enum SigningKind {
/// algorithm: minisign
/// public key: package.metadata.binstall.signing.pubkey at Cargo.toml
/// <https://github.com/cargo-bins/cargo-binstall/blob/HEAD/SIGNING.md>
MinisignBinstall,
}
#[derive(Debug, Deserialize)]
#[serde(deny_unknown_fields)]
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>,
}
@@ -780,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",
@@ -819,51 +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 checksum: String,
pub dl_path: String,
pub num: semver::Version,
pub yanked: bool,
}
}
mod cargo_manifest {
use serde::Deserialize;
#[derive(Debug, Deserialize)]
pub struct Manifest {
pub package: Package,
}
#[derive(Debug, Deserialize)]
pub struct Package {
pub metadata: Metadata,
}
#[derive(Debug, Deserialize)]
pub struct Metadata {
pub binstall: Binstall,
}
#[derive(Debug, Deserialize)]
pub struct Binstall {
pub signing: BinstallSigning,
}
#[derive(Debug, Deserialize)]
pub struct BinstallSigning {
pub algorithm: String,
pub pubkey: String,
}
}

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,83 +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
# Make sure that public Rust crates don't contain executables.
failed_files=''
metadata=$(cargo metadata --format-version=1 --all-features --no-deps)
has_public_crate=''
for id in $(jq <<<"${metadata}" '.workspace_members[]'); do
pkg=$(jq <<<"${metadata}" ".packages[] | select(.id == ${id})")
publish=$(jq <<<"${pkg}" -r '.publish')
# Publishing is unrestricted if null, and forbidden if an empty array.
if [[ "${publish}" == "[]" ]]; then
continue
fi
has_public_crate='1'
done
if [[ -n "${has_public_crate}" ]]; then
info "checking file permissions"
if [[ -f Cargo.toml ]] && grep -Eq '^\[package\]' Cargo.toml && ! grep -Eq '^publish = false' Cargo.toml; then
if ! grep -Eq '^exclude = \[.*\.\*.*\]' Cargo.toml; then
error "top-level Cargo.toml of real manifest should have exclude field with \"/.*\" and \"/tools\""
elif ! grep -Eq '^exclude = \[.*/tools.*\]' Cargo.toml; then
error "top-level Cargo.toml of real manifest should have exclude field with \"/.*\" and \"/tools\""
fi
fi
for p in $(git ls-files); do
# Skip directories.
if [[ -d "${p}" ]]; then
continue
fi
# Top-level hidden files/directories and tools/* are excluded from crates.io (ensured by the above check).
# TODO: fully respect exclude field in Cargo.toml.
case "${p}" in
.* | tools/*) continue ;;
esac
if [[ -x "${p}" ]]; then
failed_files+="${p}"$'\n'
fi
done
if [[ -n "${failed_files}" ]]; then
error "file-permissions-check failed: executable should be in tools/ directory"
echo "======================================="
echo -n "${failed_files}"
echo "======================================="
fi
fi
fi
# C/C++ (if exists)
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
@@ -174,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')
@@ -184,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
@@ -205,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
@@ -215,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')
@@ -244,55 +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
case "$(basename "${p}")" in
*.stderr | *.expanded.rs) continue ;; # generated files
*.sh | *.py | *.rb | *Dockerfile) prefix=("# ") ;;
*.rs | *.c | *.h | *.cpp | *.hpp | *.s | *.S | *.js) prefix=("// " "/* ") ;;
*.ld | *.x) prefix=("/* ") ;;
# TODO: More file types?
*) continue ;;
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"
if IFS= LC_ALL=C read -rn3 -d '' shebang <"${p}" && [[ "${shebang}" == '#!/' ]]; then
line="2"
elif [[ "${p}" == *"Dockerfile" ]] && IFS= LC_ALL=C read -rn9 -d '' syntax <"${p}" && [[ "${syntax}" == '# syntax=' ]]; then
line="2"
fi
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
@@ -300,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
@@ -328,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