Compare commits

...

28 Commits

Author SHA1 Message Date
Taiki Endo
396587837c Release 2.4.2 2023-02-14 12:11:39 +09:00
Taiki Endo
dac579fb5b Update mdbook@latest to 0.4.27 2023-02-14 12:07:02 +09:00
Taiki Endo
4dbb2933f9 Update dprint@latest to 0.34.5 2023-02-14 12:07:02 +09:00
Taiki Endo
7e43915f05 Release 2.4.1 2023-02-13 11:25:43 +09:00
Taiki Endo
fe6fb3761a Update cargo-binstall@latest to 0.20.1 2023-02-13 11:24:23 +09:00
Taiki Endo
05829426d5 Release 2.4.0 2023-02-11 21:07:55 +09:00
Taiki Endo
e27c460000 Update changelog 2023-02-11 21:07:41 +09:00
Marcin Puc
0184bd9177 Add support for zola (#71) 2023-02-11 20:30:05 +09:00
Taiki Endo
cb5553fad7 codegen: Handle prerelease 2023-02-11 04:08:40 +09:00
Taiki Endo
15af814db4 Use cargo-binstall fallback also if tool is available but specified version not available 2023-02-11 04:08:40 +09:00
Taiki Endo
d4ce367860 Update mdbook@latest to 0.4.26 2023-02-09 12:09:06 +09:00
Taiki Endo
416fcad992 Mark .github/.cspell/rust-dependencies.txt linguist-generated 2023-02-09 05:17:26 +09:00
Taiki Endo
9e1de916ab Fix install failures in edge cases 2023-02-08 15:28:23 +09:00
Taiki Endo
0340abb8d7 Update cspell dictionary 2023-02-08 02:05:43 +09:00
Orhun Parmaksız
b3c9f573b2 Add cargo-tarpaulin support (#65) 2023-02-08 02:03:46 +09:00
Taiki Endo
e1d5d01924 Pass --no-cache to apk even in CI 2023-02-07 22:16:25 +09:00
Taiki Endo
c5ba83b5c8 Exclude known words from "rust-dependencies" cspell dictionary 2023-02-07 21:53:59 +09:00
Taiki Endo
5737265abf Release 2.3.5 2023-02-05 02:43:48 +09:00
Taiki Endo
c889a9389c Update cross@latest to 0.2.5 2023-02-05 02:37:32 +09:00
Taiki Endo
979f068989 codegen: Tweak log message 2023-01-27 23:48:46 +09:00
Taiki Endo
d5486e05e3 Update cspell dictionary 2023-01-27 22:54:46 +09:00
Taiki Endo
5b93b202c8 Release 2.3.4 2023-01-26 11:13:25 +09:00
Taiki Endo
802862016d Update just@latest to 1.13.0 2023-01-26 11:12:06 +09:00
Taiki Endo
03a49bbd5a Update cargo-hack@latest to 0.5.27 2023-01-26 11:12:06 +09:00
Taiki Endo
52ecdcde33 Update cargo-no-dev-deps@latest to 0.2.1 2023-01-25 11:14:37 +09:00
Taiki Endo
e7e214ab4a Update cargo-minimal-versions@latest to 0.1.11 2023-01-25 11:14:37 +09:00
Taiki Endo
d1cb794dda Release 2.3.3 2023-01-21 12:06:39 +09:00
Taiki Endo
24a55875dc Update wasmtime@latest to 5.0.0 2023-01-21 11:03:50 +09:00
24 changed files with 746 additions and 188 deletions

2
.gitattributes vendored
View File

@@ -1 +1,3 @@
* text=auto eol=lf
manifests/** linguist-generated
.github/.cspell/rust-dependencies.txt linguist-generated

View File

@@ -51,6 +51,7 @@ gnuspe
gnux
illumos
imac
loongarch
macabi
mipsel
mipsisa
@@ -78,6 +79,7 @@ watchos
xous
// Rust other
acqrel
alloc
bools
builtins
@@ -91,6 +93,7 @@ inlateout
intrinsics
lateout
msrv
nand
nomem
nostack
peekable
@@ -99,9 +102,12 @@ repr
rfind
rfold
rsplit
rustlib
seqcst
splitn
supertrait
supertraits
sysroot
toolchains
uninit
unsized
@@ -117,7 +123,9 @@ noninteractive
noprofile
norc
nproc
objdump
pipefail
powerset
proto
readelf
tlsv

View File

@@ -18,6 +18,7 @@ nextest
protobuf
protoc
protocolbuffers
pwsh
quickinstall
rockylinux
rustwasm

View File

@@ -1,8 +1,4 @@
// This file is @generated by tidy.sh.
// It is not intended for manual editing.
anyhow
json
semver
serde
ureq

View File

@@ -40,19 +40,19 @@ jobs:
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-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
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
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
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
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
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
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
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:
@@ -64,6 +64,21 @@ jobs:
- uses: ./
with:
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
shell: bash
- name: Test sh
run: just --version; shfmt --version; protoc --version
shell: sh
if: startsWith(matrix.os, 'ubuntu') || startsWith(matrix.os, 'macos')
- name: Test pwsh
run: just --version; shfmt --version; protoc --version
shell: pwsh
- name: Test powershell
run: just --version; shfmt --version; protoc --version
shell: powershell
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
@@ -86,20 +101,20 @@ jobs:
- 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-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
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
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 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-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 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-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 }}
@@ -129,7 +144,7 @@ jobs:
- name: Install requirements (alpine)
run: |
set -eux
apk add bash cargo
apk --no-cache add bash cargo
shell: sh
if: startsWith(matrix.container, 'alpine')
- uses: actions/checkout@v3

View File

@@ -10,6 +10,50 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
## [Unreleased]
## [2.4.2] - 2023-02-14
- Update `mdbook@latest` to 0.4.27.
- Update `dprint@latest` to 0.34.5.
## [2.4.1] - 2023-02-13
- Update `cargo-binstall@latest` to 0.20.1.
## [2.4.0] - 2023-02-11
- Support `cargo-tarpaulin`. ([#65](https://github.com/taiki-e/install-action/pull/65), thanks @orhun)
- Support `zola`. ([#71](https://github.com/taiki-e/install-action/pull/71), thanks @tranzystorek-io)
- Update `mdbook@latest` to 0.4.26.
- Allow installing cargo subcommands without `cargo`.
- Fix issue where installed non-Rust related binaries cannot be found from PowerShell on Windows. Rust-related binaries, Unix shells such as bash, and non-Windows OS are not affected by this issue.
- Fix install failure of Rust-related binaries when `$CARGO_HOME/bin` exists, but is not included in the `$PATH`. This failure occurred in slightly odd cases, such as multiple installations of rust in different directories.
- Use cargo-binstall fallback also if tool is available but the specified version not available. ([#68](https://github.com/taiki-e/install-action/pull/68))
## [2.3.5] - 2023-02-04
- Update `cross@latest` to 0.2.5.
## [2.3.4] - 2023-01-26
- Update `just@latest` to 1.13.0.
- Update `cargo-hack@latest` to 0.5.27.
- Update `cargo-no-dev-deps@latest` to 0.2.1.
- Update `cargo-minimal-versions@latest` to 0.1.11.
## [2.3.3] - 2023-01-21
- Update `wasmtime@latest` to 5.0.0.
## [2.3.2] - 2023-01-20
- Update `just@latest` to 1.12.0.
@@ -577,7 +621,13 @@ Note: This release is considered a breaking change because installing on version
Initial release
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.3.2...HEAD
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.4.2...HEAD
[2.4.2]: https://github.com/taiki-e/install-action/compare/v2.4.1...v2.4.2
[2.4.1]: https://github.com/taiki-e/install-action/compare/v2.4.0...v2.4.1
[2.4.0]: https://github.com/taiki-e/install-action/compare/v2.3.5...v2.4.0
[2.3.5]: https://github.com/taiki-e/install-action/compare/v2.3.4...v2.3.5
[2.3.4]: https://github.com/taiki-e/install-action/compare/v2.3.3...v2.3.4
[2.3.3]: https://github.com/taiki-e/install-action/compare/v2.3.2...v2.3.3
[2.3.2]: https://github.com/taiki-e/install-action/compare/v2.3.1...v2.3.2
[2.3.1]: https://github.com/taiki-e/install-action/compare/v2.3.0...v2.3.1
[2.3.0]: https://github.com/taiki-e/install-action/compare/v2.2.3...v2.3.0

View File

@@ -85,6 +85,7 @@ https://spdx.org/licenses
| [**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-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-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-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) |
@@ -102,6 +103,7 @@ https://spdx.org/licenses
| [**valgrind**](https://valgrind.org) | `/snap/bin` | [snap](https://snapcraft.io/install/valgrind/ubuntu) | Linux | [GPL-2.0-or-later](https://valgrind.org/docs/manual/license.gpl.html) |
| [**wasm-pack**](https://github.com/rustwasm/wasm-pack) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rustwasm/wasm-pack/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/rustwasm/wasm-pack/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/rustwasm/wasm-pack/blob/HEAD/LICENSE-MIT) |
| [**wasmtime**](https://github.com/bytecodealliance/wasmtime) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/bytecodealliance/wasmtime/releases) | Linux, macOS, Windows | [Apache-2.0 WITH LLVM-exception](https://github.com/bytecodealliance/wasmtime/blob/HEAD/LICENSE) |
| [**zola**](https://github.com/getzola/zola) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/getzola/zola/releases) | Linux, macOS, Windows | [MIT](https://github.com/getzola/zola/blob/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>
@@ -123,7 +125,7 @@ This action has been tested for GitHub-hosted runners (Ubuntu, macOS, Windows) a
To use this action in self-hosted runners or in containers, at least the following tools are required:
- bash
- cargo (if you install cargo subcommands or use cargo-binstall fallback)
- cargo (if you use cargo-binstall fallback)
## Related Projects

69
main.sh
View File

@@ -62,7 +62,7 @@ download_and_extract() {
bin_dir="${HOME}/.install-action/bin"
if [[ ! -d "${bin_dir}" ]]; then
mkdir -p "${bin_dir}"
echo "${bin_dir}" >>"${GITHUB_PATH}"
canonicalize_windows_path "${bin_dir}" >>"${GITHUB_PATH}"
export PATH="${PATH}:${bin_dir}"
fi
fi
@@ -137,17 +137,15 @@ read_manifest() {
local manifest
manifest=$(jq -r ".\"${version}\"" "${manifest_dir}/${tool}.json")
if [[ "${manifest}" == "null" ]]; then
bail "version '${version}' for ${tool} is not supported"
download_info="null"
return 0
fi
local exact_version
exact_version=$(jq <<<"${manifest}" -r '.version')
if [[ "${exact_version}" == "null" ]]; then
exact_version="${version}"
else
manifest=$(jq -r ".\"${exact_version}\"" "${manifest_dir}/${tool}.json")
fi
local download_info
local host_platform
case "${host_os}" in
linux)
# Static-linked binaries compiled for linux-musl will also work on linux-gnu systems and are
@@ -191,6 +189,10 @@ read_manifest() {
;;
*) bail "unsupported OS type '${host_os}' for ${tool}" ;;
esac
}
read_download_info() {
local tool="$1"
local version="$2"
if [[ "${download_info}" == "null" ]]; then
bail "${tool}@${version} for '${host_os}' is not supported"
fi
@@ -218,6 +220,10 @@ read_manifest() {
}
download_from_manifest() {
read_manifest "$@"
download_from_download_info "$@"
}
download_from_download_info() {
read_download_info "$@"
download_and_extract "${url}" "${checksum}" "${bin_dir}" "${bin_in_archive}"
}
install_cargo_binstall() {
@@ -275,9 +281,9 @@ snap_install() {
}
apk_install() {
if type -P doas &>/dev/null; then
doas apk add --no-cache "$@"
doas apk --no-cache add "$@"
else
apk add --no-cache "$@"
apk --no-cache add "$@"
fi
}
dnf_install() {
@@ -294,6 +300,12 @@ sys_install() {
fedora) dnf_install "$@" ;;
esac
}
canonicalize_windows_path() {
case "${host_os}" in
windows) sed <<<"$1" 's/^\/c\//C:\\/' ;;
*) echo "$1" ;;
esac
}
# cargo-binstall may call `cargo install` on their fallback: https://github.com/taiki-e/install-action/pull/54#issuecomment-1383140833
# cross calls rustup on `cross --version` if the current directly is cargo workspace.
@@ -395,7 +407,10 @@ esac
tmp_dir="${HOME}/.install-action/tmp"
cargo_bin="${CARGO_HOME:-"${HOME}/.cargo"}/bin"
if [[ ! -d "${cargo_bin}" ]]; then
# If $CARGO_HOME does not exist, or cargo installed outside of $CARGO_HOME/bin
# is used ($CARGO_HOME/bin is most likely not included in the PATH), fallback to
# /usr/local/bin or $HOME/.install-action/bin.
if [[ ! -d "${cargo_bin}" ]] || [[ "${host_os}" != "windows" ]] && [[ "$(type -P cargo || true)" != "${cargo_bin}/cargo${exe}" ]]; then
cargo_bin=/usr/local/bin
fi
@@ -432,13 +447,14 @@ for tool in "${tools[@]}"; do
protoc)
info "installing ${tool}@${version}"
read_manifest "protoc" "${version}"
read_download_info "protoc" "${version}"
# Copying files to /usr/local/include requires sudo, so do not use it.
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}"
echo "${bin_dir}" >>"${GITHUB_PATH}"
canonicalize_windows_path "${bin_dir}" >>"${GITHUB_PATH}"
export PATH="${PATH}:${bin_dir}"
fi
if ! type -P unzip &>/dev/null; then
@@ -454,9 +470,7 @@ for tool in "${tools[@]}"; do
mv "bin/protoc${exe}" "${bin_dir}/"
mkdir -p "${include_dir}/"
cp -r include/. "${include_dir}/"
case "${host_os}" in
windows) bin_dir=$(sed <<<"${bin_dir}" 's/^\/c\//C:\\/') ;;
esac
bin_dir=$(canonicalize_windows_path "${bin_dir}")
if [[ -z "${PROTOC:-}" ]]; then
info "setting PROTOC environment variable"
echo "PROTOC=${bin_dir}/protoc${exe}" >>"${GITHUB_ENV}"
@@ -506,6 +520,17 @@ for tool in "${tools[@]}"; do
continue
fi
# Use cargo-binstall fallback if tool is available but the specified version not available.
read_manifest "${tool}" "${version}"
if [[ "${download_info}" == "null" ]]; then
warn "${tool}@${version} for '${host_os}' is not supported; fallback to cargo-binstall"
case "${version}" in
latest) unsupported_tools+=("${tool}") ;;
*) unsupported_tools+=("${tool}@${version}") ;;
esac
continue
fi
info "installing ${tool}@${version}"
# Pre-install
@@ -521,15 +546,27 @@ for tool in "${tools[@]}"; do
;;
esac
download_from_manifest "${tool}" "${version}"
download_from_download_info "${tool}" "${version}"
;;
esac
info "${tool} installed at $(type -P "${tool}${exe}")"
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
cargo-*) x cargo "${tool#cargo-}" --version ;;
cargo-*)
if type -P cargo &>/dev/null; then
case "${tool}" in
cargo-udeps) x cargo udeps --help | head -1 ;; # cargo-udeps v0.1.30 does not support --version option
cargo-valgrind) x cargo valgrind --help ;; # cargo-valgrind v2.1.0 does not support --version option
*) x cargo "${tool#cargo-}" --version ;;
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

View File

@@ -20,26 +20,26 @@
}
},
"latest": {
"version": "0.19.3"
"version": "0.20.1"
},
"0.19.3": {
"0.20.1": {
"x86_64_linux_musl": {
"checksum": "da46fac978af7d86820d1b6bbd14cfd10187bc25ac14c0236d3de8da7d92a183"
"checksum": "4729eea4277f0cfb72dd983984ef7b3938f0af5f0e256ca6e6b90c6177decbb2"
},
"x86_64_macos": {
"checksum": "237a702ac2ee3130bff3624a7296ec471c6b6ff45cc29af30216b50f2124af5d"
"checksum": "8b057687f4e367bd51c2feb7f9473d2fe50fa54273ec9ae61e4e0238044f4761"
},
"x86_64_windows": {
"checksum": "053a32c20f44439366fdff80f5106097d6c3d128cb436cb0f425f32ed608d78b"
"checksum": "467b0abcabe9c0456f721d108c90b53ea050d121f7c9ae8b23a048d0f55bad16"
},
"aarch64_linux_musl": {
"checksum": "be6c2542f093f393aa72734c96b12a353ec94232afba86fa6e93f25ed6d0669e"
"checksum": "8f7b6f899de74110bf7426ca9d579d4981c67a13ada64907e7095a0cd1b3f116"
},
"aarch64_macos": {
"checksum": "ba01100fbd810977b4e12deddfaab0516acc96cded05e00ccb4acfcab7d67f7c"
"checksum": "05a1cb0a1c779263f0173e351cc5e6aab0dfc49a7c1fa5152422c4e9d16b13c0"
},
"aarch64_windows": {
"checksum": "22aa13d36cba7d1aee1a531bed53374c6ed3d02daf542fd65eee3c5dad700bc8"
"checksum": "39e011c1e13b0f510c8c729de4bc4c93984f88c4d30cfa975e9672320ac7bd8a"
}
}
}

View File

@@ -1,10 +1,36 @@
{
"template": null,
"latest": {
"version": "0.5.26"
"version": "0.5.27"
},
"0.5": {
"version": "0.5.26"
"version": "0.5.27"
},
"0.5.27": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.5.27/cargo-hack-x86_64-unknown-linux-musl.tar.gz",
"checksum": "a57248a36e5f95b88eda8fbbfd1f1170992abe7d126c7778aa2bd0508625592f"
},
"x86_64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.5.27/cargo-hack-x86_64-apple-darwin.tar.gz",
"checksum": "8c3f574813316c74f8f6871eea60af1e9f161ffe598e5ee49029929eb48dadd2"
},
"x86_64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.5.27/cargo-hack-x86_64-pc-windows-msvc.zip",
"checksum": "94c9f1e6c4d50fbf059f81e41c950583a108e78653ad0ec7a63fb7f1e213287b"
},
"aarch64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.5.27/cargo-hack-aarch64-unknown-linux-musl.tar.gz",
"checksum": "14deb7e0772fd0090ca3b04117f70cc10b20a370edf56b9255d24e84e755f7ac"
},
"aarch64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.5.27/cargo-hack-aarch64-apple-darwin.tar.gz",
"checksum": "c16b74d87ad26f5d8147bf3c0b17bd04c77b0bdeff836c7ae2c0a02959e761ed"
},
"aarch64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.5.27/cargo-hack-aarch64-pc-windows-msvc.tar.gz",
"checksum": "d2694b937d0c8fed71c1a0d3aabd9d9923a808d7196b15fd6d2eacde6755d57c"
}
},
"0.5.26": {
"x86_64_linux_musl": {

View File

@@ -20,10 +20,30 @@
}
},
"latest": {
"version": "0.1.10"
"version": "0.1.11"
},
"0.1": {
"version": "0.1.10"
"version": "0.1.11"
},
"0.1.11": {
"x86_64_linux_musl": {
"checksum": "a7d3f6ba4cff8643b06e5a17f7967043f49a9144b7ae8d24d9542fc29ef1d4f2"
},
"x86_64_macos": {
"checksum": "466a1542dd5050009f11c976018738f38f4a5a481ff9b6b81f45d498eaa7efd0"
},
"x86_64_windows": {
"checksum": "59bd40b9562a7717b3746d1558de7f4751b8eac111d5850738ed1756e86cd414"
},
"aarch64_linux_musl": {
"checksum": "8e05290054d8554550c859f4f617245aa282d5c03c98b41ab00e19008a4cb081"
},
"aarch64_macos": {
"checksum": "181a142f2134775c9fb0fe9e465467a2f231893d26193972e312a968f0cf6588"
},
"aarch64_windows": {
"checksum": "d16116fc1a7472cef8ca2497c35559271653e76f6c8c2e8ff99e17dbab43fedf"
}
},
"0.1.10": {
"x86_64_linux_musl": {

View File

@@ -20,10 +20,30 @@
}
},
"latest": {
"version": "0.2.0"
"version": "0.2.1"
},
"0.2": {
"version": "0.2.0"
"version": "0.2.1"
},
"0.2.1": {
"x86_64_linux_musl": {
"checksum": "decd3116739cb5bc956ea467864e18742b012e1b5368ef30e748bb23fba11d53"
},
"x86_64_macos": {
"checksum": "51972e477141bb41c88d1764ab8508611dec48cf8696377fcf934f65f10974bc"
},
"x86_64_windows": {
"checksum": "ab0292fd031d9b5c56c9a286164a142c3102c91c6ed60ad384d47179c79dc671"
},
"aarch64_linux_musl": {
"checksum": "3f79f885377e24d1adcb809fa1b134d9061ae84c6e8dd6541687fe24d508244b"
},
"aarch64_macos": {
"checksum": "8c1c7791a8aebe5250dc47a6a893ffcfef3e1f0248f78e82a5f072d49b6682c9"
},
"aarch64_windows": {
"checksum": "9325a564ff1db835449081feec4160d35e1c9793bebdb74b5175de6542988db8"
}
},
"0.2.0": {
"x86_64_linux_musl": {

62
manifests/cargo-tarpaulin.json generated Normal file
View File

@@ -0,0 +1,62 @@
{
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/xd009642/tarpaulin/releases/download/${version}/cargo-tarpaulin-x86_64-unknown-linux-musl.tar.gz"
},
"x86_64_macos": {
"url": "https://github.com/xd009642/tarpaulin/releases/download/${version}/cargo-tarpaulin-x86_64-apple-darwin.tar.gz"
},
"x86_64_windows": {
"url": "https://github.com/xd009642/tarpaulin/releases/download/${version}/cargo-tarpaulin-x86_64-pc-windows-msvc.zip"
},
"aarch64_linux_musl": {
"url": "https://github.com/xd009642/tarpaulin/releases/download/${version}/cargo-tarpaulin-aarch64-unknown-linux-musl.tar.gz"
},
"aarch64_macos": {
"url": "https://github.com/xd009642/tarpaulin/releases/download/${version}/cargo-tarpaulin-aarch64-apple-darwin.tar.gz"
}
},
"latest": {
"version": "0.25.0"
},
"0.25": {
"version": "0.25.0"
},
"0.25.0": {
"x86_64_linux_musl": {
"checksum": "e6ae2d11e684ee20f3860b1833de6fcb6ac44db5fc49a82a179bb969924870f3"
},
"x86_64_macos": {
"checksum": "94039bab671b054781df301191673c651bbe03cdf04d2f5cb4b7ff0055c0d08e"
},
"x86_64_windows": {
"checksum": "a3eb302b531a4b4efd3456e54b4a2f3c921aabcb9d54d81334fdef96f00170aa"
},
"aarch64_linux_musl": {
"checksum": "59d55dc3070ac2b297ad3695f9a73398392c2446678c616688635e0c4bec6574"
},
"aarch64_macos": {
"checksum": "65d03b2414b12f4fbfb1e1014ac42fa1deb9d91e69b29cd68952ae97722a1165"
}
},
"0.24": {
"version": "0.24.0"
},
"0.24.0": {
"x86_64_linux_musl": {
"checksum": "34969bccced3bdd7c34672011b7088beb3258bb27554294709171c394b04b40f"
},
"x86_64_macos": {
"checksum": "82f8dae075b18a2783616f35f03a999986ea6a7e0b581c7df97d74a68d172e76"
},
"x86_64_windows": {
"checksum": "26f639abbacf829a1e1c1ee966828c97c92606a132cd32b4e7e2c4406f6a5a36"
},
"aarch64_linux_musl": {
"checksum": "c06411dd38a095e3ce8f085aeaa6adc802094ea0a2c88fcf89a59e17f2a21597"
},
"aarch64_macos": {
"checksum": "e7ea6ff1c427ab262df5490eb15b49dfecf11ec557d90609de0898f94baba3b2"
}
}
}

18
manifests/cross.json generated
View File

@@ -1,10 +1,24 @@
{
"template": null,
"latest": {
"version": "0.2.4"
"version": "0.2.5"
},
"0.2": {
"version": "0.2.4"
"version": "0.2.5"
},
"0.2.5": {
"x86_64_linux_musl": {
"url": "https://github.com/cross-rs/cross/releases/download/v0.2.5/cross-x86_64-unknown-linux-musl.tar.gz",
"checksum": "a486cefa6cb486971b97be321ea9dfc2e90c1979550295314a368f53fab6d588"
},
"x86_64_macos": {
"url": "https://github.com/cross-rs/cross/releases/download/v0.2.5/cross-x86_64-apple-darwin.tar.gz",
"checksum": "84a664edbd5405efc985e9423804cc63d12e55691b9c7e9729355fdf7b9af015"
},
"x86_64_windows": {
"url": "https://github.com/cross-rs/cross/releases/download/v0.2.5/cross-x86_64-pc-windows-msvc.tar.gz",
"checksum": "3d4d6dbebf448b1f6856c662b2b342db0a7f6827e91ed88e2bf0e5ca00a30a81"
}
},
"0.2.4": {
"x86_64_linux_musl": {

21
manifests/dprint.json generated
View File

@@ -20,10 +20,27 @@
}
},
"latest": {
"version": "0.34.4"
"version": "0.34.5"
},
"0.34": {
"version": "0.34.4"
"version": "0.34.5"
},
"0.34.5": {
"x86_64_linux_musl": {
"checksum": "ad0296a8f4614a57e107df57e4f1f0f25ac32aeebdc201396160b5d046c26f55"
},
"x86_64_macos": {
"checksum": "1b23e31fe318115bfcecc4b8025b8146d2c1e160092629c930feeffd02d7e802"
},
"x86_64_windows": {
"checksum": "c98ecc413a40fd275d3d0aaaa245169926cdab27de17d732a9709dad9491fb3c"
},
"aarch64_linux_gnu": {
"checksum": "21dd3aa277e35184fb6c4ebca899b7c4ddbb2a25035edee75d0c927443d5f7e3"
},
"aarch64_macos": {
"checksum": "42bd63c2436bbcd058d7fb38bb540a4cdc576e109ce90f607103159dc5bbe1bf"
}
},
"0.34.4": {
"x86_64_linux_musl": {

24
manifests/just.json generated
View File

@@ -17,10 +17,30 @@
}
},
"latest": {
"version": "1.12.0"
"version": "1.13.0"
},
"1": {
"version": "1.12.0"
"version": "1.13.0"
},
"1.13": {
"version": "1.13.0"
},
"1.13.0": {
"x86_64_linux_musl": {
"checksum": "f76fce93a71686f6aa6b2db1a39184e736f9ac8248c0489e003c617b49eb2676"
},
"x86_64_macos": {
"checksum": "fb14ec72f0900789b3452ec6bd90becef6de1420c8bb4abc0686e7e0efa99d83"
},
"x86_64_windows": {
"checksum": "cbb956c59b3b2d48011630fed626f13340b5692aba45833301bdf696dccb51c8"
},
"aarch64_linux_musl": {
"checksum": "1afff4cc864a31c0e167c8b4ea5f68c4f358c6d3a19d764276cbdaa2c1575a52"
},
"aarch64_macos": {
"checksum": "b6c7489f103e154f1ec99e648b70323aff7173e16f18ea2e22d3d21e52283851"
}
},
"1.12": {
"version": "1.12.0"

50
manifests/mdbook.json generated
View File

@@ -17,10 +17,38 @@
}
},
"latest": {
"version": "0.4.25"
"version": "0.4.27"
},
"0.4": {
"version": "0.4.25"
"version": "0.4.27"
},
"0.4.27": {
"x86_64_linux_musl": {
"checksum": "44ee34f8a6a1e0788f870c0bfd890dfce112c70f63e7254c5d8f20525600bc7b"
},
"x86_64_macos": {
"checksum": "107461b477c512c9c9deeed051abf9bbb25858867dc2f0f493fc7c2fadfc3532"
},
"x86_64_windows": {
"checksum": "18c7eea09bee53f539a11ec965547147afc2083c4cac22563b724aecf57b57bb"
},
"aarch64_linux_musl": {
"checksum": "4b7a489f1ba35b0b95dfb026b2e46d7e11fb593f2074afb2be10db0f56530dd2"
}
},
"0.4.26": {
"x86_64_linux_musl": {
"checksum": "8a6334a932f2adf05c2647e86e9ef028714717c0a8e57b1e2d9c85f251f1a734"
},
"x86_64_macos": {
"checksum": "14b9d933d5bbc7a4ef4ba476d7fb8ec5d3c4b42a33c0883e6d1ff3b2ef51738d"
},
"x86_64_windows": {
"checksum": "60c3fa5cd51383dd4e4bc22ded1cca92c5f9b97540ac458cad62b660f9c9a43c"
},
"aarch64_linux_musl": {
"checksum": "4461322990ab3b3e65005fdf3b28c4e083cd8504834babf2ad726701596197bf"
}
},
"0.4.25": {
"x86_64_linux_musl": {
@@ -425,23 +453,7 @@
}
},
"0.1": {
"version": "0.1.10"
},
"0.1.10": {
"x86_64_linux_gnu": {
"checksum": "b6b2bb3b95ab4ff02c2f1bbaa1b55c2e51805655432e35e4c3cdb30a2c4acdcf"
},
"x86_64_windows": {
"checksum": "a85dc3a8ad10dacf8d01f427e8935cb4247e45b31b98e2ac2fa5e0f49ff9ce97"
}
},
"0.1.9": {
"x86_64_linux_gnu": {
"checksum": "cfb1a52d0fa649529b0498600bd9b3d0aa8050bbc7847f8095dc9293b8fa2c4c"
},
"x86_64_windows": {
"checksum": "bf1a977de7dd5ff6da2985c3051d6e0f8d410fbd32c2095a00896db192c32cd8"
}
"version": "0.1.8"
},
"0.1.8": {
"x86_64_linux_gnu": {

84
manifests/shfmt.json generated
View File

@@ -562,89 +562,5 @@
"x86_64_windows": {
"checksum": "ee3361b6acf5c72ca82a917aeceacd06fdcd46c527ad9747408159afd9227a29"
}
},
"0.6": {
"version": "0.6.0"
},
"0.6.0": {
"x86_64_linux_gnu": {
"checksum": "7128d4740d90757582447c0b844734f90090ef25bc332627d40952dd06a069c2"
},
"x86_64_macos": {
"checksum": "74144cafbde2cbfd154750010b317e5c2c235c45378436f2d52706dc7b7031c6"
},
"x86_64_windows": {
"checksum": "9001f87e18da4d8b8bbb26a59a49d6680ce0e2622dc9da85bd952819352bef66"
}
},
"0.5": {
"version": "0.5.0"
},
"0.5.0": {
"x86_64_linux_gnu": {
"checksum": "10978caae768eb5d2fff232365d5e20bb0120e0ca158b9b3683f805c904453b6"
},
"x86_64_macos": {
"checksum": "28dbc9bf5f5e1b5ac335f3f0989cc6fd4eb75e22c8a399cde50b06ce2b499fd7"
},
"x86_64_windows": {
"checksum": "82fc820eeb35a0d46514fb780e13b6a21b841d7c13b8c8cede8bf20598a11f6f"
}
},
"0.4": {
"version": "0.4.0"
},
"0.4.0": {
"x86_64_linux_gnu": {
"checksum": "8b889ee066e52b6f85da7c2f435feec5f2d28c47c5465909ecd9b2075451b50c"
},
"x86_64_macos": {
"checksum": "e1c949d88e4bd2b56568195ed437d282d9112b02b32b9d6a11871d5a4b85c670"
},
"x86_64_windows": {
"checksum": "baa162439b5218c4fcf161e8ed366cf1327eff8919b73469410c77f3b20b07ea"
}
},
"0.3": {
"version": "0.3.0"
},
"0.3.0": {
"x86_64_linux_gnu": {
"checksum": "9a87d9580f9700c3d8add881a2786b122b83aa31fcf8342f8929c0a93934ba7b"
},
"x86_64_macos": {
"checksum": "45a05100ce9747281b028fddea59a29a42b9ddda075ec5f57558c1fd5fb732cc"
},
"x86_64_windows": {
"checksum": "af087f9f7b88290118e8d4595b6f663414f2af131996d4241929ee3c733961af"
}
},
"0.2": {
"version": "0.2.0"
},
"0.2.0": {
"x86_64_linux_gnu": {
"checksum": "224569dd672129ed52865783cd010a5f6e389bd006cce9343bf517506491358e"
},
"x86_64_macos": {
"checksum": "3d7e8f541ae882c2a78594f89124fb101e50e3b974b6d02b091b4ba901644e51"
},
"x86_64_windows": {
"checksum": "c9fa54aaf72bb08fa44981919e3d1e365a7528e5f393fb8679c4ac2292cfa583"
}
},
"0.1": {
"version": "0.1.0"
},
"0.1.0": {
"x86_64_linux_gnu": {
"checksum": "9275582a78ed270142ea9aa37cb28f7f274494c603a5db8d90792a2e06ccfaa0"
},
"x86_64_macos": {
"checksum": "715d64e1f918b8a17e04ee5ed9e392720f9fa9255a45c9fdbbee50c57ee7bafc"
},
"x86_64_windows": {
"checksum": "24f38f71a9d39e800a104b63b1b60b6b0bbd313bc01c15c218f8ff6fada90148"
}
}
}

View File

@@ -22,7 +22,30 @@
}
},
"latest": {
"version": "4.0.0"
"version": "5.0.0"
},
"5": {
"version": "5.0.0"
},
"5.0": {
"version": "5.0.0"
},
"5.0.0": {
"x86_64_linux_gnu": {
"checksum": "a627a0391c52f3543bb48bb3052038291b4bd94e1dee8e520afb7ad2d7dabbbb"
},
"x86_64_macos": {
"checksum": "f504550ef67ae66472b301477fb6218c1b4e2c8bf6ed343c928f070cadd11609"
},
"x86_64_windows": {
"checksum": "0275aa5632e8714222e85b7b04e186c2c354df148c04d37fe41b13e15fbf4bed"
},
"aarch64_linux_gnu": {
"checksum": "ca319db21d252a7bdcb81bd3c1def5d57a0e3951e1b747661e68c86b562786ff"
},
"aarch64_macos": {
"checksum": "1dfe45ea469a790528a10ddc4251673ce167a4c845d71e248b37d425d8d706dc"
}
},
"4": {
"version": "4.0.0"
@@ -870,19 +893,5 @@
"x86_64_windows": {
"checksum": "1038ed20f40cdddd50144ee3ad7ab3fc9381f4eb32b48507e154458f14c1e702"
}
},
"0.3": {
"version": "0.3.0"
},
"0.3.0": {
"x86_64_linux_gnu": {
"checksum": "10055761c5d347d7307e829d4932b9b400318399a5b067d9b2d4ce9327575915"
},
"x86_64_macos": {
"checksum": "0b29e2132fcd57ba82fe231284861b6d0c3924454c7907474549450958b6664e"
},
"x86_64_windows": {
"checksum": "ed9f565ba2851a2eac6497bdb91933b426f936ce3b6e525fdacd5c6c1053167f"
}
}
}

283
manifests/zola.json generated Normal file
View File

@@ -0,0 +1,283 @@
{
"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"
},
"x86_64_macos": {
"url": "https://github.com/getzola/zola/releases/download/v${version}/zola-v${version}-x86_64-apple-darwin.tar.gz"
},
"x86_64_windows": {
"url": "https://github.com/getzola/zola/releases/download/v${version}/zola-v${version}-x86_64-pc-windows-msvc.zip"
}
},
"latest": {
"version": "0.16.1"
},
"0.16": {
"version": "0.16.1"
},
"0.16.1": {
"x86_64_linux_gnu": {
"checksum": "a8a4205b7fdd817d9866d1a4b4b8d53c206177bd7e95b37e35cb5f830b0e6234"
},
"x86_64_macos": {
"checksum": "cb14676dfbfbf3252315196515ab386a63d3a336b18bdcc632d8e31c0a4c791b"
},
"x86_64_windows": {
"checksum": "b19b8317a9a0d53339df8a5d910af0682abad5c65f593d58fcc35c6d00ab8732"
}
},
"0.16.0": {
"x86_64_linux_gnu": {
"checksum": "88cde8f1edfe609a9ae8a7a95226d3ae9bb62279c5c5254d9f5984ab843529a1"
},
"x86_64_macos": {
"checksum": "e31e0fcce6da8777b8a3c2475d55fa98c513224dabefb4274da2cd0094f441fc"
},
"x86_64_windows": {
"checksum": "38a6b2ddeac3c32aff948ad4b07d7479d89115dce3f07adde6d5a53844f23c95"
}
},
"0.15": {
"version": "0.15.3"
},
"0.15.3": {
"x86_64_linux_gnu": {
"checksum": "7952bf166f29caeec595a299d94bc7da6ad5ba9ae71ea8bae142e2322faf821d"
},
"x86_64_macos": {
"checksum": "3a8a9b137b87fdee546ab5f12c9eb7b2e33a554349c95c4a9ae4c1599e06538f"
},
"x86_64_windows": {
"checksum": "d806e1e2e954369f350b6de9d755374fb57f8e820bf8e8df18e6c2db9daf9443"
}
},
"0.15.2": {
"x86_64_linux_gnu": {
"checksum": "d067e8261f0a9121ea0388616f74fcba4b1ed87df8ea78ca20a577424c15fa20"
},
"x86_64_macos": {
"checksum": "e39c94158bb8f0dd0af3c1fcf1b52845a49ed6ab87721f2dd3bf0ba05294327a"
},
"x86_64_windows": {
"checksum": "c265ac94c33caf89d900963994568440e200a0620e4d6a1092fc35a1fca17b33"
}
},
"0.15.1": {
"x86_64_linux_gnu": {
"checksum": "57c69a4f651567a9507b73ced6ec3c04f3ec20487877657502a04be93748f204"
},
"x86_64_macos": {
"checksum": "847a24fe21676aa4ded670dd6850444792bd98d4713677067c472450a72b3d9c"
},
"x86_64_windows": {
"checksum": "3da07da833704265e5751435fbafc64eb58326f3b9069f4bc1fed9dfb75f7226"
}
},
"0.15.0": {
"x86_64_linux_gnu": {
"checksum": "901a330100d5f265c7a00821bef564dd7353b2b0884b80996ba4592b635a7ad3"
},
"x86_64_macos": {
"checksum": "8461c39034c2606a9a7b65f6f1c964f322707d262ec83fd271cb468ae71389f9"
},
"x86_64_windows": {
"checksum": "eb248641acdb341d457c9a3d2560c7877f9d528a061582fa9636a69dea9d9dac"
}
},
"0.14": {
"version": "0.14.1"
},
"0.14.1": {
"x86_64_linux_gnu": {
"checksum": "4223f57d9b60ad7217c44a815fa975b2229f692b7ef3de4b7ce61f1634e8dc33"
},
"x86_64_macos": {
"checksum": "754d5e1b4ca67a13c6cb4741dbff5b248075f4f4a0353d6673aa4f5afb7ec0bf"
},
"x86_64_windows": {
"checksum": "62bf50a6e2b606faf80cdf9112deca945fe89f67863fb06f793c27a26c968a91"
}
},
"0.14.0": {
"x86_64_linux_gnu": {
"checksum": "4b68ec636b858178095873c038f21d24640220295f70b7a9f2e82109aa451926"
},
"x86_64_macos": {
"checksum": "23b91e138ca6d16ad7560ca2d13dcf80ecdf382bed1548297791f4920bfc10c4"
},
"x86_64_windows": {
"checksum": "fad6516c9b9ecf294d047dd24195f521a8ece662249bc937f380fa154a30a43d"
}
},
"0.13": {
"version": "0.13.0"
},
"0.13.0": {
"x86_64_linux_gnu": {
"checksum": "1a919e00cce61e30c31cd8d0979349ecd3f7c1666d32fa77314cbfbb89447adb"
},
"x86_64_macos": {
"checksum": "2b3f5f2d7b2368ba128344170e5ca0dc0e1e46f322baf1048d3e206c35258975"
},
"x86_64_windows": {
"checksum": "7e603c8b0da95a4f01f833d7d4664209b4ec3ad72fca5e59be99020f99086c12"
}
},
"0.12": {
"version": "0.12.2"
},
"0.12.2": {
"x86_64_linux_gnu": {
"checksum": "572e34c4c2b874f9704fb8512abea84532623f7567996bac456291a21c1b2595"
},
"x86_64_macos": {
"checksum": "f9e2018c5f4989ee38055c9c876438f83988e574e8acfe68780e13a1b466713a"
},
"x86_64_windows": {
"checksum": "b6d731a9abd2364bcf1d4e0d5390c3dbf4ac8044bf06df124806420115e2d74b"
}
},
"0.12.1": {
"x86_64_linux_gnu": {
"checksum": "fdca646be87e05213b7306d04247c4226c1d514aee96ef390935545aee84a074"
},
"x86_64_macos": {
"checksum": "095d6844af1fcda969ec656d44b0b21c2952472319c12285630883ce73633ca8"
},
"x86_64_windows": {
"checksum": "370871760201d29c7fd4f492b716dbf501aed9ba1992c282f3eedf672443b548"
}
},
"0.12.0": {
"x86_64_linux_gnu": {
"checksum": "c955228d468b9233bd66417b0f39c078f510f8adf1a6138bbe7e80423198224b"
},
"x86_64_macos": {
"checksum": "5c1d6dc3978970f33beea3ac252a9303ca5d179fce988de4e55a4cb99ee74237"
},
"x86_64_windows": {
"checksum": "ea07d70d62f573cf51f8f5ba89c9fab0cff15f2cbdd5e39d897f6ee3d9855897"
}
},
"0.11": {
"version": "0.11.0"
},
"0.11.0": {
"x86_64_linux_gnu": {
"checksum": "8afe40edff5e995afdc132e02442d24eb633ef4b6e81913d69cf97f17905b9c3"
},
"x86_64_macos": {
"checksum": "346d14a914de0d33adc25e7fb70abc02aca9e2cf808283538d4bb5b3cebfcb56"
},
"x86_64_windows": {
"checksum": "d95ed0d652e8ce2d904eaafc369c796bea9b593d5808e10b033e14edea93534a"
}
},
"0.10": {
"version": "0.10.1"
},
"0.10.1": {
"x86_64_linux_gnu": {
"checksum": "7bce21ad56d0cab213b5b9188076b93d9d130b9b046cd118305dc2b9b43b84b8"
},
"x86_64_macos": {
"checksum": "b1a5583421bb370a2e345ebef9a549fe44d58aecfbb67b1e619f5dd6990fcd44"
},
"x86_64_windows": {
"checksum": "459f358b4210a8d53a440f957a4c69b12c663dd4c4939c02d0d91ebc685ade2a"
}
},
"0.10.0": {
"x86_64_linux_gnu": {
"checksum": "5ae166ff105359c87f3d6c57ef6f1a3dd14b266b68dc8059dee88f8916818d6c"
},
"x86_64_macos": {
"checksum": "aeabf5b6477fa2884d21e6c6ccf30269ac98c33680510752786876dac0e85ed0"
},
"x86_64_windows": {
"checksum": "bff5de453883a429cef8ea4823f8dccead21d97f38a287841a073c7c97a2fefb"
}
},
"0.9": {
"version": "0.9.0"
},
"0.9.0": {
"x86_64_linux_gnu": {
"checksum": "c06b5406fd6cddf346fac448e95780e5b161f3d560a7df86a202d7f6c20d3f72"
},
"x86_64_macos": {
"checksum": "e961f3cde3a9b995dc0227fb7de8c01a4c6618cdd196e2622f3ba1e7c8370035"
},
"x86_64_windows": {
"checksum": "1a69861f6602579ac0391e63cdd14f143b1f1e373b34ca8a3a4bd98c22151df5"
}
},
"0.8": {
"version": "0.8.0"
},
"0.8.0": {
"x86_64_linux_gnu": {
"checksum": "bcdb334b47c34b0b35ffbba8400ca29df0d85377020c6468d2657a74dbef117e"
},
"x86_64_macos": {
"checksum": "1afb06d2187c039c750821cb2bc682af97f71ff3d7853e00b8298a54b7a695bd"
},
"x86_64_windows": {
"checksum": "71563aefdc28d6094891d9d2860f8dfe6e4685581b4bf7216342b84e07648a07"
}
},
"0.7": {
"version": "0.7.0"
},
"0.7.0": {
"x86_64_linux_gnu": {
"checksum": "fd9bb11a80a4246bc3415d2ce7e09029f4b1a609f89ba82d23d61971f54d1c2d"
},
"x86_64_macos": {
"checksum": "becbb39f28e65af72186ba11d476dcaf4ab22153ce7c4f267278dc3958575850"
},
"x86_64_windows": {
"checksum": "173da6285aa9e2fedc4fe7a64c0c930f5306d8a95ff31625a71659ddfd3c819f"
}
},
"0.6": {
"version": "0.6.0"
},
"0.6.0": {
"x86_64_linux_gnu": {
"checksum": "7f8837cd354aa16a334d3877fe0dfb6e0d063e5a268f6e6c21422f4ce6566ec5"
},
"x86_64_macos": {
"checksum": "57ddf70519f69f3d7bfa6761aa416154d1b5afc14444c25d516d3f82519dcf52"
},
"x86_64_windows": {
"checksum": "7312197b8dc6f6c6b5413e3dbccf5cb8a3061e5da3b1451ff17980c59a972601"
}
},
"0.5": {
"version": "0.5.1"
},
"0.5.1": {
"x86_64_linux_gnu": {
"checksum": "f0c6a433f217d123da7d89b744c0cdf277a3ef5c3973f424c784f33a74c535a9"
},
"x86_64_macos": {
"checksum": "a945d371fd5266ae1b50e9abc9837df780d94c2f5262f1cccfa381ae833a011e"
},
"x86_64_windows": {
"checksum": "9f36cdd62bec6e16a7dd0bfaf89addc9362bd9280e26971f45b8c141ecf195f9"
}
},
"0.5.0": {
"x86_64_linux_gnu": {
"checksum": "f7ab37b542461357862b6e91459a211a8cbeb872f84c6de227076e3d6db7eff7"
},
"x86_64_macos": {
"checksum": "86ce9babce8c7398c00c21383eda59895ede6be5e7ab688cfef6b5a11050fcc8"
},
"x86_64_windows": {
"checksum": "492ccea9c52cf8026352488b6064b02ca91ae93a9e70f34d09928868b2f0f011"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"repository": "https://github.com/xd009642/tarpaulin",
"tag_prefix": "",
"asset_name": "${package}-${rust_target}.tar.gz",
"version_range": "> 0.22.0",
"platform": {
"x86_64_linux_gnu": {},
"x86_64_linux_musl": {},
"aarch64_linux_gnu": {},
"aarch64_linux_musl": {},
"x86_64_macos": {},
"aarch64_macos": {},
"x86_64_windows": {
"asset_name": "${package}-${rust_target}.zip"
}
}
}

View File

@@ -0,0 +1,12 @@
{
"repository": "https://github.com/getzola/zola",
"tag_prefix": "v",
"asset_name": "${package}-v${version}-${rust_target}.tar.gz",
"platform": {
"x86_64_linux_gnu": {},
"x86_64_macos": {},
"x86_64_windows": {
"asset_name": "${package}-v${version}-${rust_target}.zip"
}
}
}

View File

@@ -28,6 +28,7 @@ fn main() -> Result<()> {
.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 base_info: BaseManifest = serde_json::from_slice(&fs::read(
@@ -59,6 +60,9 @@ fn main() -> Result<()> {
let releases: BTreeMap<_, _> = releases
.iter()
.filter_map(|release| {
if release.prerelease {
return None;
}
let version = release.tag_name.strip_prefix(&base_info.tag_prefix)?;
let mut semver_version = version.parse::<semver::Version>();
if semver_version.is_err() {
@@ -189,17 +193,17 @@ fn main() -> Result<()> {
}
};
eprintln!("downloading {url} for checksum");
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!("{url} is 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!("downloaded complete");
eprintln!(" downloaded complete");
fs::write(download_cache, &buf)?;
}
eprintln!("getting sha256 hash for {url}");

View File

@@ -145,23 +145,38 @@ fi
# Spell check (if config exists)
if [[ -f .cspell.json ]]; then
if type -P npm &>/dev/null; then
if [[ -f Cargo.toml ]]; then
metadata=$(cargo metadata --format-version=1 --all-features --no-deps)
if [[ -n "$(git ls-files '*Cargo.toml')" ]]; then
dependencies=''
for id in $(jq <<<"${metadata}" '.workspace_members[]'); do
dependencies+=$'\n'
dependencies+=$(jq <<<"${metadata}" ".packages[] | select(.id == ${id})" | jq -r '.dependencies[].name')
for manifest_path in $(git ls-files '*Cargo.toml'); do
if [[ "${manifest_path}" != "Cargo.toml" ]] && ! grep -Eq '\[workspace\]' "${manifest_path}"; then
continue
fi
metadata=$(cargo metadata --format-version=1 --all-features --no-deps --manifest-path "${manifest_path}")
for id in $(jq <<<"${metadata}" '.workspace_members[]'); do
dependencies+=$'\n'
dependencies+=$(jq <<<"${metadata}" ".packages[] | select(.id == ${id})" | jq -r '.dependencies[].name')
done
done
cat >.github/.cspell/rust-dependencies.txt <<EOF
words=''
# shellcheck disable=SC2001
for word in $(sed <<<"${dependencies}" 's/[0-9_-]/\n/g' | LC_ALL=C sort -f -u | (grep -E '.{4,}' || true)); do
# Skip if the word is contained in other dictionaries.
if ! npx cspell trace "${word}" 2>/dev/null | (grep -v -E '/(project-dictionary|rust-dependencies)\.txt' || true) | grep -Eq "^${word} \* [0-9A-Za-z_-]+\* "; then
words+=$'\n'
words+="${word}"
fi
done
fi
cat >.github/.cspell/rust-dependencies.txt <<EOF
// This file is @generated by $(basename "$0").
// It is not intended for manual editing.
EOF
# shellcheck disable=SC2001
sed <<<"${dependencies}" 's/[0-9_-]/\n/g' | LC_ALL=C sort -f -u | (grep -E '.{4,}' || true) >>.github/.cspell/rust-dependencies.txt
check_diff .github/.cspell/rust-dependencies.txt
else
touch .github/.cspell/rust-dependencies.txt
if [[ -n "${words:-}" ]]; then
echo "${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
echo "warning: you may want to mark .github/.cspell/rust-dependencies.txt linguist-generated"
fi
echo "+ npx cspell --no-progress \$(git ls-files)"