Compare commits

...
37 Commits
Author SHA1 Message Date
Taiki Endo f192b3b68d protoc 2026-11-02 19:55:54 +00:00
Taiki Endo 682ce6c3c6 Release 2.89.1 2026-11-02 19:55:53 +00:00
Taiki Endo 0d9077fcb6 Update changelog 2026-11-03 04:29:00 +09:00
FirelightFlagboy ad358d449d Add missing bin ld.mold (#2050)
Missing the file `ld.mold` comming from the linux assets.

NB.1: `ld.mold` is a symlink to `mold`.

NB.2: Window platform only provide `mold.exe`.
2026-11-03 04:26:26 +09:00
Taiki Endo 353b306589 Update vacuum manifest 2026-11-03 03:58:31 +09:00
Taiki Endo e1a0ce81ae Update syft manifest 2026-11-03 03:58:31 +09:00
Taiki Endo 2a3464cd4b Update release-plz manifest 2026-11-03 03:58:31 +09:00
Taiki Endo 5f1e428a2a Update parse-dockerfile@latest to 0.1.9 2026-11-03 03:58:31 +09:00
Taiki Endo 96f9ee39b0 Update parse-changelog@latest to 0.6.18 2026-11-03 03:58:31 +09:00
Taiki Endo 75d961f4a7 Update kache manifest 2026-11-03 03:58:31 +09:00
Taiki Endo 202fd96ad6 Update cargo-minimal-versions@latest to 0.1.38 2026-11-03 03:58:31 +09:00
Taiki Endo df5c3c0999 Update cargo-hack@latest to 0.6.46 2026-11-03 03:58:31 +09:00
Taiki Endo f371bdc125 Update bpf-linker manifest 2026-11-03 03:58:31 +09:00
Taiki Endo e9605306a6 codegen: Clean up error handling
Follow-up to 525387f706.
2026-11-03 03:15:30 +09:00
Taiki Endo 8bf69897ab Update changelog 2026-11-02 05:16:40 +09:00
Taiki Endo 1919c4a959 Release 2.89.0 2026-11-01 20:12:44 +00:00
Taiki Endo 010423f11f Update changelog 2026-11-02 04:56:05 +09:00
FirelightFlagboyandTaiki Endo cb869a6319 Support yq (#2036)
Co-authored-by: Taiki Endo <te316e89@gmail.com>
2026-11-02 04:54:42 +09:00
Taiki Endo eacbab5a1f Do not assume that existing cargo-binstall is installed at ${cargo_bin} 2026-11-02 04:08:28 +09:00
Taiki Endo e49373f863 ci: Add test for issue 2047 2026-11-02 04:08:28 +09:00
FirelightFlagboy f4fa742f6b Support mold (#2044) 2026-11-02 02:14:09 +09:00
Taiki Endo dfff5d3068 tools: Update tidy.sh 2026-11-02 01:56:49 +09:00
Taiki Endo 4d0d80988f ci: Test alpine:3.24 2026-11-02 01:56:49 +09:00
Taiki Endo c6d3cd41d7 ci: Update taiki-e/github-actions workflows 2026-11-02 01:56:49 +09:00
Taiki Endo 032e621c16 ci: Mark wasm-bindgen as glibc_pre_2_39_incompat
```
  info: installing wasm-bindgen@latest
  info: downloading https://github.com/wasm-bindgen/wasm-bindgen/releases/download/0.2.130/wasm-bindgen-0.2.130-aarch64-unknown-linux-gnu.tar.gz
  info: verifying sha256 checksum for wasm-bindgen-0.2.130-aarch64-unknown-linux-gnu.tar.gz
  info: wasm-bindgen-test-runner installed at /home/runner/.cargo/bin/wasm-bindgen-test-runner
  info: wasm-bindgen installed at /home/runner/.cargo/bin/wasm-bindgen
  info: wasm2es6js installed at /home/runner/.cargo/bin/wasm2es6js
  + wasm-bindgen --version
  wasm-bindgen: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by wasm-bindgen)
  + wasm-bindgen --help
  wasm-bindgen: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by wasm-bindgen)
```
2026-11-02 01:56:30 +09:00
Taiki Endo 470c21314f Update wasm-tools@latest to 1.263.0 2026-11-02 01:56:30 +09:00
Taiki Endo 8c7037479d Update wasm-pack@latest to 0.15.1 2026-11-02 01:56:30 +09:00
Taiki Endo 8b46b007ca Update wasm-bindgen@latest to 0.2.130 2026-11-02 01:56:30 +09:00
Taiki Endo 391b6443b3 Update vacuum@latest to 0.36.1 2026-11-02 01:56:30 +09:00
Taiki Endo 360efeb051 Update prek@latest to 0.5.9 2026-11-02 01:56:30 +09:00
Taiki Endo 027ec7ff78 Update parse-dockerfile manifest 2026-11-02 01:56:30 +09:00
Taiki Endo dc8cc14624 Update parse-changelog manifest 2026-11-02 01:56:30 +09:00
Taiki Endo cea0a6c8cc Update mise@latest to 2026.10.25 2026-11-02 01:56:30 +09:00
Taiki Endo 8d71265a90 Update kingfisher@latest to 2.16.0 2026-11-02 01:56:30 +09:00
Taiki Endo d534a45621 Update cargo-minimal-versions manifest 2026-11-02 01:56:30 +09:00
Taiki Endo 7b0036431f Update cargo-hack manifest 2026-11-02 01:56:30 +09:00
Taiki Endo 4e57362ed4 Update cargo-binstall@latest to 1.26.2 2026-11-02 01:56:30 +09:00
32 changed files with 761 additions and 129 deletions
+27 -9
View File
@@ -32,12 +32,12 @@ concurrency:
jobs:
tidy:
uses: taiki-e/github-actions/.github/workflows/tidy.yml@04a42ca09aaeb9b6c0bce43c23fb9e13eb197d85 # 2026.9.9
uses: taiki-e/github-actions/.github/workflows/tidy.yml@07c8b42e7ad077d40127201ac62770c6eb31893e # 2026.11.1
permissions:
security-events: write # for github/codeql-action/*
test-manifest-schema:
needs: tidy
uses: taiki-e/github-actions/.github/workflows/rust-test.yml@04a42ca09aaeb9b6c0bce43c23fb9e13eb197d85 # 2026.9.9
uses: taiki-e/github-actions/.github/workflows/rust-test.yml@07c8b42e7ad077d40127201ac62770c6eb31893e # 2026.11.1
with:
test-args: --exclude install-action-internal-codegen
no-std: false
@@ -122,10 +122,11 @@ jobs:
- container: opensuse/leap:latest # glibc
# --------------------------------------------------------------------
# apk
- container: alpine:3.24 # musl 1.2.6
- container: alpine:3.23 # musl 1.2.5
- container: alpine:3.22 # musl 1.2.5
- container: alpine:3.21 # musl 1.2.5
# Skip intermediate versions that have reached EoL by default.
# - container: alpine:3.21 # musl 1.2.5, EoL
# - container: alpine:3.20 # musl 1.2.5, EoL
# - container: alpine:3.19 # musl 1.2.4, EoL
# - container: alpine:3.18 # musl 1.2.4, EoL
@@ -223,7 +224,7 @@ jobs:
- run: apk --no-cache del bash
shell: sh
if: startsWith(matrix.container, 'alpine')
- uses: ./
- uses: $/
with:
tool: ${{ steps.tool-list.outputs.tool }}
# Test all shells listed in https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell
@@ -262,9 +263,7 @@ jobs:
# check it with CI. (e.g., 0.14.0->0.16.0 update change it
# from "cargo-binstall <version>" to "<version>")
- run: |
if [[ "$(cargo-binstall binstall -V)" != "$(jq -r '.latest.version' manifests/cargo-binstall.json)" ]]; then
exit 1
fi
[[ "$(cargo-binstall binstall -V)" == "$(jq -r '.latest.version' manifests/cargo-binstall.json)" ]] || exit 1
if: matrix.bash != 'cygwin' && matrix.os != 'windows-11-arm' && !startsWith(matrix.container, 'opensuse')
test-alias:
@@ -276,7 +275,7 @@ jobs:
# cross attempts to install rust-src when Cargo.toml is available even if `cross --version`
- run: rm -- Cargo.toml
- run: env
- uses: ./
- uses: $/
with:
# NB: Update alias list in tools/ci/release-post-commit.sh, case for aliases in main.sh,
# and match for alias for tools/codegen/src/tools-markdown.rs.
@@ -312,7 +311,22 @@ jobs:
# cross attempts to install rust-src when Cargo.toml is available even if `cross --version`
- run: rm -- Cargo.toml
- run: env
- uses: ./
- name: Set up an incompatible cargo-binstall outside the install directory
run: |
mkdir -p -- "${RUNNER_TEMP}/binstall/bin"
cat >"${RUNNER_TEMP}/binstall/bin/cargo-binstall" <<'EOF'
#!/usr/bin/env bash
if [[ "$*" == 'binstall -V' ]]; then
printf '%s\n' '0.0.0'
else
printf >&2 '%s\n' 'incompatible cargo-binstall was called'
exit 1
fi
EOF
chmod +x "${RUNNER_TEMP}/binstall/bin/cargo-binstall"
printf '%s\n' "${RUNNER_TEMP}/binstall/bin" >>"${GITHUB_PATH}"
if: matrix.fallback == 'cargo-binstall'
- uses: $/
id: install
continue-on-error: ${{ matrix.fallback == 'none' }}
with:
@@ -320,6 +334,10 @@ jobs:
fallback: ${{ matrix.fallback }}
- run: exit 1
if: matrix.fallback == 'none' && steps.install.outcome != 'failure'
- run: |
[[ "$("${RUNNER_TEMP}/binstall/bin/cargo-binstall" binstall -V)" == '0.0.0' ]] || exit 1
[[ "$(cargo-binstall binstall -V)" == "$(jq -r '.latest.version' manifests/cargo-binstall.json)" ]] || exit 1
if: matrix.fallback == 'cargo-binstall'
- name: Test bash
run: parse-changelog --version
shell: bash
+2 -1
View File
@@ -19,9 +19,10 @@ concurrency:
jobs:
manifest:
uses: taiki-e/github-actions/.github/workflows/gen.yml@04a42ca09aaeb9b6c0bce43c23fb9e13eb197d85 # 2026.9.9
uses: taiki-e/github-actions/.github/workflows/gen.yml@07c8b42e7ad077d40127201ac62770c6eb31893e # 2026.11.1
permissions:
contents: write # for creating branch for pr
pull-requests: read # for gh pr list
secrets:
PR_TOKEN_APP_PRIVATE_KEY: ${{ secrets.PR_TOKEN_APP_PRIVATE_KEY }}
with:
+2 -2
View File
@@ -28,7 +28,7 @@ concurrency:
jobs:
release:
if: github.repository_owner == 'taiki-e' && inputs.target == 'install-action'
uses: taiki-e/github-actions/.github/workflows/action-release.yml@04a42ca09aaeb9b6c0bce43c23fb9e13eb197d85 # 2026.9.9
uses: taiki-e/github-actions/.github/workflows/action-release.yml@07c8b42e7ad077d40127201ac62770c6eb31893e # 2026.11.1
permissions:
contents: write # for taiki-e/create-gh-release-action
secrets:
@@ -40,7 +40,7 @@ jobs:
release-manifest-schema:
if: github.repository_owner == 'taiki-e' && inputs.target == 'install-action-manifest-schema'
uses: taiki-e/github-actions/.github/workflows/rust-release.yml@04a42ca09aaeb9b6c0bce43c23fb9e13eb197d85 # 2026.9.9
uses: taiki-e/github-actions/.github/workflows/rust-release.yml@07c8b42e7ad077d40127201ac62770c6eb31893e # 2026.11.1
permissions:
contents: write # for taiki-e/create-gh-release-action
id-token: write # for rust-lang/crates-io-auth-action
+39 -1
View File
@@ -10,6 +10,42 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
## [Unreleased]
## [2.89.1] - 2026-11-02
- Install `ld.mold` symlink when installing `mold` on Linux. Previously, only `mold` binary was installed. ([#2050](https://github.com/taiki-e/install-action/pull/2050), thanks @FirelightFlagboy)
- Update `parse-dockerfile@latest` to 0.1.9.
- Update `parse-changelog@latest` to 0.6.18.
- Update `cargo-minimal-versions@latest` to 0.1.38.
- Update `cargo-hack@latest` to 0.6.46.
## [2.89.0] - 2026-11-01
- Support `yq`. ([#2036](https://github.com/taiki-e/install-action/pull/2036), thanks @FirelightFlagboy)
- Support `mold`. ([#2044](https://github.com/taiki-e/install-action/pull/2044), thanks @FirelightFlagboy)
- Fix an error when old cargo-binstall had already been installed at non-standard location. ([#2048](https://github.com/taiki-e/install-action/pull/2048))
- Update `wasm-tools@latest` to 1.263.0.
- Update `wasm-pack@latest` to 0.15.1.
- Update `wasm-bindgen@latest` to 0.2.130.
- Update `vacuum@latest` to 0.36.1.
- Update `prek@latest` to 0.5.9.
- Update `mise@latest` to 2026.10.25.
- Update `kingfisher@latest` to 2.16.0.
- Update `cargo-binstall@latest` to 1.26.2.
## [2.88.1] - 2026-10-30
- Update `wasmtime@latest` to 50.0.1.
@@ -7976,7 +8012,9 @@ Note: This release is considered a breaking change because installing on version
Initial release
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.88.1...HEAD
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.89.1...HEAD
[2.89.1]: https://github.com/taiki-e/install-action/compare/v2.89.0...v2.89.1
[2.89.0]: https://github.com/taiki-e/install-action/compare/v2.88.1...v2.89.0
[2.88.1]: https://github.com/taiki-e/install-action/compare/v2.88.0...v2.88.1
[2.88.0]: https://github.com/taiki-e/install-action/compare/v2.87.33...v2.88.0
[2.87.33]: https://github.com/taiki-e/install-action/compare/v2.87.32...v2.87.33
+3
View File
@@ -84,7 +84,9 @@ See the [Supported tools section in README.md](README.md#supported-tools) for ho
| [**mdbook-mermaid**](https://github.com/badboy/mdbook-mermaid) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/badboy/mdbook-mermaid/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/badboy/mdbook-mermaid/blob/main/LICENSE) | |
| [**mdbook-mermaid-ssr**](https://github.com/CommanderStorm/mdbook-mermaid-ssr) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/CommanderStorm/mdbook-mermaid-ssr/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/CommanderStorm/mdbook-mermaid-ssr/blob/main/LICENSE) | |
| [**mise**](https://github.com/jdx/mise) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/jdx/mise/releases) | Linux, macOS, Windows | [MIT](https://github.com/jdx/mise/blob/main/LICENSE) | |
| [**mold**](https://github.com/rui314/mold) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/rui314/mold/releases) | Linux, Windows | [MIT](https://github.com/rui314/mold/blob/main/LICENSE) | |
| [**osv-scanner**](https://github.com/google/osv-scanner) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/google/osv-scanner/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/google/osv-scanner/blob/main/LICENSE) | |
| [**oxfmt**](https://github.com/oxc-project/oxc) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/oxc-project/oxc/releases) | Linux, macOS, Windows | [MIT](https://github.com/oxc-project/oxc/blob/main/LICENSE) | |
| [**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/main/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/parse-changelog/blob/main/LICENSE-MIT) | |
| [**parse-dockerfile**](https://github.com/taiki-e/parse-dockerfile) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/parse-dockerfile/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/parse-dockerfile/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/parse-dockerfile/blob/main/LICENSE-MIT) | |
| [**prek**](https://github.com/j178/prek) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/j178/prek/releases) | Linux, macOS, Windows | [MIT](https://github.com/j178/prek/blob/master/LICENSE) | |
@@ -117,6 +119,7 @@ See the [Supported tools section in README.md](README.md#supported-tools) for ho
| [**wild**](https://github.com/wild-linker/wild) (alias: `wild-linker`) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/wild-linker/wild/releases) | Linux | [Apache-2.0](https://github.com/wild-linker/wild/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/wild-linker/wild/blob/main/LICENSE-MIT) | |
| [**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](https://github.com/rust-mobile/xbuild/blob/v0.2.0/xbuild/Cargo.toml#L7) | |
| [**xh**](https://github.com/ducaale/xh) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/ducaale/xh/releases) | Linux, macOS, Windows | [MIT](https://github.com/ducaale/xh/blob/master/LICENSE) | |
| [**yq**](https://github.com/mikefarah/yq) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/mikefarah/yq/releases) | Linux, macOS, Windows | [MIT](https://github.com/mikefarah/yq/blob/master/LICENSE) | |
| [**zizmor**](https://github.com/zizmorcore/zizmor) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/zizmorcore/zizmor/releases) | Linux, macOS, Windows | [MIT](https://github.com/zizmorcore/zizmor/blob/main/LICENSE) | |
| [**zola**](https://github.com/getzola/zola) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/getzola/zola/releases) | Linux, macOS, Windows | [MIT](https://github.com/getzola/zola/blob/master/LICENSE) | |
+2 -2
View File
@@ -4,8 +4,8 @@ description: GitHub Action for installing development tools
inputs:
tool:
description: Tools to install (whitespace or comma separated list)
required: true
# default: #publish:tool
required: false
default: protoc
checksum:
description: Whether to enable checksums (strongly discouraged to disable)
required: false
+13 -6
View File
@@ -96,7 +96,7 @@ download_and_extract() {
# xbuild's binary name is "x", as opposed to the usual crate name
xbuild) installed_bin=("${bin_dir}/x${exe}") ;;
# Their binary names are renamed below.
editorconfig-checker | oxfmt) installed_bin=("${bin_dir}/${tool}${exe}") ;;
editorconfig-checker | oxfmt | yq) installed_bin=("${bin_dir}/${tool}${exe}") ;;
*)
for tmp in "${bin_in_archive[@]}"; do
installed_bin+=("${bin_dir}/$(basename -- "${tmp}")")
@@ -205,7 +205,7 @@ download_and_extract() {
esac
for tmp in "${bin_in_archive[@]}"; do
case "${tool}" in
editorconfig-checker | oxfmt) mv -- "${tmp}" "${bin_dir}/${tool}${exe}" ;;
editorconfig-checker | oxfmt | yq) mv -- "${tmp}" "${bin_dir}/${tool}${exe}" ;;
*) mv -- "${tmp}" "${bin_dir}/" ;;
esac
done
@@ -215,7 +215,7 @@ download_and_extract() {
unzip -q tmp
for tmp in "${bin_in_archive[@]}"; do
case "${tool}" in
editorconfig-checker | oxfmt) mv -- "${tmp}" "${bin_dir}/${tool}${exe}" ;;
editorconfig-checker | oxfmt | yq) mv -- "${tmp}" "${bin_dir}/${tool}${exe}" ;;
*) mv -- "${tmp}" "${bin_dir}/" ;;
esac
done
@@ -371,6 +371,7 @@ download_from_manifest() {
download_from_download_info "$@"
}
download_from_download_info() {
local tool="$1"
read_download_info "$@"
download_and_extract "${url}" "${checksum}" "${bin_dir}" "${bin_in_archive[@]}"
}
@@ -378,20 +379,26 @@ install_cargo_binstall() {
local binstall_version
binstall_version=$(jq -r '.latest.version' "${manifest_dir}/cargo-binstall.json")
local install_binstall=1
local installed_at
installed_at=$(type -P "cargo-binstall${exe}" || true)
_binstall_version=$("cargo-binstall${exe}" binstall -V 2>/dev/null || true)
if [[ -n "${_binstall_version}" ]]; then
if [[ "${_binstall_version}" == "${binstall_version}" ]]; then
info "cargo-binstall already installed at ${cargo_bin}/cargo-binstall${exe}"
info "cargo-binstall already installed at ${installed_at}"
install_binstall=''
else
info "cargo-binstall already installed at ${cargo_bin}/cargo-binstall${exe}, but is not compatible version with this action, upgrading"
rm -- "${cargo_bin}/cargo-binstall${exe}"
info "cargo-binstall already installed at ${installed_at}, but is not compatible version with this action, upgrading"
fi
fi
if [[ -n "${install_binstall}" ]]; then
info "installing cargo-binstall@latest (${binstall_version})"
download_from_manifest "cargo-binstall" "latest"
# Prefer the downloaded binary over an incompatible version elsewhere in PATH.
export PATH="${bin_dir}:${PATH}"
local _bin_dir
_bin_dir=$(canonicalize_windows_path "${bin_dir}")
printf '%s\n' "${_bin_dir}" >>"${GITHUB_PATH}"
installed_at=$(type -P "cargo-binstall${exe}" || true)
if [[ -n "${installed_at}" ]]; then
info "cargo-binstall installed at ${installed_at}"
+26
View File
@@ -23,6 +23,32 @@
"latest": {
"version": "0.12.0"
},
"0.13.0": {
"x86_64_linux_musl": {
"etag": "0x8DF38C509F31796",
"hash": "0e9b2b30f68898177f1cb6f0ecbfa909a82479473a49a0ef66529fd088e3e410"
},
"x86_64_macos": {
"etag": "0x8DF38C5070813E1",
"hash": "4f33e0aac922606522fe5e4a3a23a5ed8083c3af50a05108301315e50b995502"
},
"x86_64_windows": {
"etag": "0x8DF38C5085F5899",
"hash": "74ee42748b969027ce3ab0a1f07c28316e3583f0e2597e0207bdd0f812bf71ad"
},
"aarch64_linux_musl": {
"etag": "0x8DF38C504C8AA07",
"hash": "248e25f5c6a7242b054bd8f705470abb7a5a79b2b7c07df347c5d7049b783452"
},
"aarch64_macos": {
"etag": "0x8DF38C503997128",
"hash": "a4882533f5d423f8397ba431256d1cef45a3e13dbfc359decafee3800ee90e55"
},
"aarch64_windows": {
"etag": "0x8DF38C503BB78FA",
"hash": "105355bb079bd80bb9067a546dbb6f70e7b5df6eed1ef55f100ceaef019ee4c6"
}
},
"0.12": {
"version": "0.12.0"
},
+16 -16
View File
@@ -24,36 +24,36 @@
}
},
"latest": {
"version": "1.26.1"
"version": "1.26.2"
},
"1.26.1": {
"1.26.2": {
"x86_64_linux_musl": {
"etag": "0x8DF31D4BCBA55A8",
"hash": "43d379fef8cb450961a14ff113e7bce7b5e1e52db709c776d186f928d8a20a40"
"etag": "0x8DF3752FFA6EB3D",
"hash": "9e0e064f189a9abb9f8df5fb93c3c810ef5cc19e7212d998c7a64c9e4d3527d5"
},
"x86_64_macos": {
"etag": "0x8DF31D4C4A5FF83",
"hash": "9460fb1b3c465f1bc979425ee637e4958c5a0a550cb0c83cb429604893c9cb7e"
"etag": "0x8DF375307617B30",
"hash": "a114e207a9cd116f97708f175ba5e4f0a37836ff9c4d1ea63c8364436decf70f"
},
"x86_64_windows": {
"etag": "0x8DF31D4C23E5795",
"hash": "b6d110d4911bc77c6dcf53f7ba0322ba826e487684adf1d468cdaf30607cad2b"
"etag": "0x8DF375304F8196B",
"hash": "c377a4977ffdbdcbf58dd263055b2f1d56ba873c69fbd6bfc60bef98256183a3"
},
"aarch64_linux_musl": {
"etag": "0x8DF31D4D1B5672E",
"hash": "243dbea9976495f0a5640f856283b5b3d934113381c9a1fba347c9e4b1fea142"
"etag": "0x8DF375315979D9C",
"hash": "a235250cd684af9bf1e3a1e4c216b1d36e6c553553d5d789744f27689d81c2d6"
},
"aarch64_macos": {
"etag": "0x8DF31D4DB77518D",
"hash": "f98f9e19ba97b483d4058d8388a8ec9ee8ffdba487f4c07aa4516f0edd44b152"
"etag": "0x8DF37531EFE0A3E",
"hash": "0f9ddd602d439ea64f03a5c188c59656d5ef389ecdcbff044c8d373e51c0e2b3"
},
"aarch64_windows": {
"etag": "0x8DF31D4D83773DF",
"hash": "4806a9f038dd040a1845d18e10efa7985c61f2d31e75a88c11b2935219337797"
"etag": "0x8DF37531C1F8D7D",
"hash": "3736cca189d958ae80bd5770e77cce9bbc5653bb2e9561e5002e766f2a185804"
},
"riscv64_linux_musl": {
"etag": "0x8DF31D4C9C4AA5A",
"hash": "4532498bde89d776dcfc66e6daa0e8771e56f57ce3d850cce015b44efa11c80c"
"etag": "0x8DF37530CD6EC77",
"hash": "cd7f10c8945ddf4186481a86a0c8778ecce613f14dd03c39a91c285df3ef7c18"
}
}
}
+49 -2
View File
@@ -2,10 +2,57 @@
"rust_crate": "cargo-hack",
"template": null,
"latest": {
"version": "0.6.45"
"version": "0.6.46"
},
"0.6": {
"version": "0.6.45"
"version": "0.6.46"
},
"0.6.46": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.46/cargo-hack-x86_64-unknown-linux-musl.tar.gz",
"etag": "0x8DF382196F972F3",
"hash": "82875b396319288894d4c213389a107039756e37f0f7eb299ed15f5d4ad269cf"
},
"x86_64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.46/cargo-hack-x86_64-apple-darwin.tar.gz",
"etag": "0x8DF38219C1C7D6E",
"hash": "d59a46947429dfa58e1c2f9b644e878580f85c3001b0f26854eeaa9da5b00fc4"
},
"x86_64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.46/cargo-hack-x86_64-pc-windows-msvc.tar.gz",
"etag": "0x8DF3821B1934133",
"hash": "b110e19a6382e7e276cef21babca7acb4705cede1a84345bc3d8df50f40a3507"
},
"aarch64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.46/cargo-hack-aarch64-unknown-linux-musl.tar.gz",
"etag": "0x8DF382190419EDC",
"hash": "2d6f3b8f73c53214195255a89a3dfd91520ad35254c7621fd5e9254e5751625d"
},
"aarch64_macos": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.46/cargo-hack-aarch64-apple-darwin.tar.gz",
"etag": "0x8DF38219759C444",
"hash": "9ad9fae78158671df8161b1803bb6b9f6a8b0081adc70a5c2bb91dff5ec4044d"
},
"aarch64_windows": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.46/cargo-hack-aarch64-pc-windows-msvc.tar.gz",
"etag": "0x8DF3821B5686BD3",
"hash": "690cdfddd6d1be4e69a91a32e434361c0dfd77aa1f159e8f06ae75fb588c9b64"
},
"powerpc64le_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.46/cargo-hack-powerpc64le-unknown-linux-musl.tar.gz",
"etag": "0x8DF382195552D96",
"hash": "0372f44156556b8358ae5c0f2efbda959a870e26458f2507defa714a6d2e5931"
},
"riscv64_linux_musl": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.46/cargo-hack-riscv64gc-unknown-linux-musl.tar.gz",
"etag": "0x8DF382199D591D8",
"hash": "ff14e36d82157a3a165986a2e81485eeb63b6fe9d3552f0d82e34bbd5c562ba2"
},
"s390x_linux_gnu": {
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.46/cargo-hack-s390x-unknown-linux-gnu.tar.gz",
"etag": "0x8DF382196585DBB",
"hash": "a91f9433e1981df58ce5bd8b79f2daba52b2b63aea0e1c5494f49b68290c153a"
}
},
"0.6.45": {
"x86_64_linux_musl": {
+40 -2
View File
@@ -30,10 +30,48 @@
}
},
"latest": {
"version": "0.1.37"
"version": "0.1.38"
},
"0.1": {
"version": "0.1.37"
"version": "0.1.38"
},
"0.1.38": {
"x86_64_linux_musl": {
"etag": "0x8DF382060DE44F6",
"hash": "b4b5479ba5cfcf79b7478cffec8f73db88e07a50b301deebdc65eb8f34ed5607"
},
"x86_64_macos": {
"etag": "0x8DF38205D474341",
"hash": "2c4f401584f81c8ce67b6f7a62d6c4296137de03439efd77bf5d84783d93c39c"
},
"x86_64_windows": {
"etag": "0x8DF38206A9EB150",
"hash": "4bc395f025063310d7175b17bdbd461250b57994b7e8412d0ee951ec01a25dd0"
},
"aarch64_linux_musl": {
"etag": "0x8DF38205D160A5B",
"hash": "f4a891075d85464c1577da647f042dc27c4bac9ddecf819ec270458afea8d3e1"
},
"aarch64_macos": {
"etag": "0x8DF38205996ADA7",
"hash": "7a019676c0d44dc21040782cf82c85e14398e87b5d6dd986da11900d3490c0b0"
},
"aarch64_windows": {
"etag": "0x8DF382070D0F49D",
"hash": "8f44292bc5eb96769b4dbce99c3223af1a12067a1ac4f2d4b774f77902b1694a"
},
"powerpc64le_linux_musl": {
"etag": "0x8DF382060264B75",
"hash": "4be61fa4124fa741dc7d5dbc447035d2139643b8796ea332a9588d1d0bd520c8"
},
"riscv64_linux_musl": {
"etag": "0x8DF38206192C9E9",
"hash": "bde8bda447965eab9482362717421b6771d1a2f76e35a4f4ddcaa59f5912e09e"
},
"s390x_linux_gnu": {
"etag": "0x8DF382062050B50",
"hash": "1fbcc0d33e75331cd05d48a56914d989540f27d957c41ede8f353e8d2bad674c"
}
},
"0.1.37": {
"x86_64_linux_musl": {
+26
View File
@@ -23,6 +23,32 @@
"latest": {
"version": "1.2.2"
},
"2.0.0": {
"x86_64_linux_musl": {
"etag": "0x8DF38FCF3DD13D8",
"hash": "6c59665faf1b14d0944391e6f2a1b510195e6be92c63060a9d1770ed00676824"
},
"x86_64_macos": {
"etag": "0x8DF38FCF35490F8",
"hash": "0ab8b29f659d159de78f70376c6ffa7730879f18fcde397567b683796eb5fd73"
},
"x86_64_windows": {
"etag": "0x8DF38FCF3CEB5D7",
"hash": "e4d974025ffb64c8017ab3dfca9b37023e607fb5a720cb65b441b834e269546f"
},
"aarch64_linux_musl": {
"etag": "0x8DF38FCF25652BB",
"hash": "8c5ca4d1d4b6fc66e5175c8a1150e1daa85099080646322058d9083c72986bba"
},
"aarch64_macos": {
"etag": "0x8DF38FCF26A606B",
"hash": "b46139f7d42895c62962450886dd35f4554c17531209ea69b2db053d2a142bcb"
},
"aarch64_windows": {
"etag": "0x8DF38FCF2537DAB",
"hash": "dd6b3135f7949cb3132697b6ae4affcc50b15ca04f566872b576377394bfaccd"
}
},
"1": {
"version": "1.2.2"
},
+5 -2
View File
@@ -27,10 +27,13 @@
}
},
"latest": {
"version": "2.15.0"
"version": "2.16.0"
},
"2": {
"version": "2.15.0"
"version": "2.16.0"
},
"2.16": {
"version": "2.16.0"
},
"2.16.0": {
"x86_64_linux_musl": {
+29 -3
View File
@@ -27,13 +27,39 @@
}
},
"latest": {
"version": "2026.10.23"
"version": "2026.10.25"
},
"2026": {
"version": "2026.10.23"
"version": "2026.10.25"
},
"2026.10": {
"version": "2026.10.23"
"version": "2026.10.25"
},
"2026.10.25": {
"x86_64_linux_musl": {
"etag": "0x8DF37385A023E7C",
"hash": "1bcb291396a002cb61d9094dbb0d06474abc3df4d1ab4e1fdf59dc669ca73506"
},
"x86_64_macos": {
"etag": "0x8DF373863CA7D24",
"hash": "2b31afc1ef77c46bf9cb0837dba9366ad744f452343a0f8b00d3df1eef892f84"
},
"x86_64_windows": {
"etag": "0x8DF373869798C75",
"hash": "2cef90c1dc058489daf4f81fec8354c4ec3354608154397c7c86618eab0dd88e"
},
"aarch64_linux_musl": {
"etag": "0x8DF373850687C01",
"hash": "8584bd9a7e80ab46f20abcfaf6d0b9a1bd216fbaa8ba00c58a8814b47a565346"
},
"aarch64_macos": {
"etag": "0x8DF37385F2A1887",
"hash": "774236e3247e48d78078c0bce79e5327d4e4479f1a94c8487827f178197ee39b"
},
"aarch64_windows": {
"etag": "0x8DF37386AAC1938",
"hash": "386ac6aba31f91f9644823a04fe645d5e71a37da1f495950820c98e55339dd08"
}
},
"2026.10.24": {
"x86_64_linux_musl": {
+66
View File
@@ -0,0 +1,66 @@
{
"rust_crate": null,
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/rui314/mold/releases/download/v${version}/mold-${version}-x86_64-linux.tar.gz",
"bin": [
"mold-${version}-x86_64-linux/bin/mold",
"mold-${version}-x86_64-linux/bin/ld.mold"
]
},
"x86_64_windows": {
"url": "https://github.com/rui314/mold/releases/download/v${version}/mold-${version}-x86_64-windows.zip",
"bin": "bin/mold"
},
"aarch64_linux_gnu": {
"url": "https://github.com/rui314/mold/releases/download/v${version}/mold-${version}-aarch64-linux.tar.gz",
"bin": [
"mold-${version}-aarch64-linux/bin/mold",
"mold-${version}-aarch64-linux/bin/ld.mold"
]
}
},
"latest": {
"version": "3.0.0"
},
"3": {
"version": "3.0.0"
},
"3.0": {
"version": "3.0.0"
},
"3.0.0": {
"x86_64_linux_gnu": {
"etag": "0x8DF22C41E044096",
"hash": "6c90d4a474c7c0409dfb575be03a5345878ac14fdba18de8b40fa58c60121189"
},
"x86_64_windows": {
"etag": "0x8DF22C41E000DEA",
"hash": "1421fccaf7efee77e53f1dc365f90acb791bedff6be486aed0c0313393e6b8ec"
},
"aarch64_linux_gnu": {
"etag": "0x8DF22C41D48BDBA",
"hash": "52c759d3689babaea4c42af2f31062a74ab83e17ffb5a8090232534c67b70577"
}
},
"2": {
"version": "2.42.1"
},
"2.42": {
"version": "2.42.1"
},
"2.42.1": {
"x86_64_linux_gnu": {
"etag": "0x8DF0FF0371FA9AF",
"hash": "6ff270c9bf07d2bec5c98aa324eb7c4daf6a1a4d815c05ff1708049616047855"
},
"x86_64_windows": {
"etag": "0x8DF0FF037239CE2",
"hash": "ce38c5d5d6a5169e05883d598592b367976a9575abfafcdc49889fcc788b51c0"
},
"aarch64_linux_gnu": {
"etag": "0x8DF0FF03693F3E6",
"hash": "16b025652d3d7456689e6025a77e1903bb2a15e7630877c26cc133f5df95b9c6"
}
}
}
+49 -2
View File
@@ -2,10 +2,57 @@
"rust_crate": "parse-changelog",
"template": null,
"latest": {
"version": "0.6.17"
"version": "0.6.18"
},
"0.6": {
"version": "0.6.17"
"version": "0.6.18"
},
"0.6.18": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/parse-changelog/releases/download/v0.6.18/parse-changelog-x86_64-unknown-linux-musl.tar.gz",
"etag": "0x8DF381BF3C1358B",
"hash": "e0f0aa87a94501111052dbb7f3c79b28b61ab421427641ba9ac4e4ae61d6eee9"
},
"x86_64_macos": {
"url": "https://github.com/taiki-e/parse-changelog/releases/download/v0.6.18/parse-changelog-x86_64-apple-darwin.tar.gz",
"etag": "0x8DF381BF581C05A",
"hash": "af5b9bf13e26ab93492592fb3d86d591398a7ac921f54f3d0086dae109639d70"
},
"x86_64_windows": {
"url": "https://github.com/taiki-e/parse-changelog/releases/download/v0.6.18/parse-changelog-x86_64-pc-windows-msvc.tar.gz",
"etag": "0x8DF381C19F4634D",
"hash": "f01ef8cd853f27541ca0de36efb45fd61515fdefa61eca789cea1f3684ef4250"
},
"aarch64_linux_musl": {
"url": "https://github.com/taiki-e/parse-changelog/releases/download/v0.6.18/parse-changelog-aarch64-unknown-linux-musl.tar.gz",
"etag": "0x8DF381BF52FB6BD",
"hash": "ca1e216f84999487a73edff60f4df735584d5b5cae31617ac81450c4b6f2879a"
},
"aarch64_macos": {
"url": "https://github.com/taiki-e/parse-changelog/releases/download/v0.6.18/parse-changelog-aarch64-apple-darwin.tar.gz",
"etag": "0x8DF381BEFF5706A",
"hash": "56158c595174012c2116562de282bdbc35b4388856007db2aa991cb3a35debb4"
},
"aarch64_windows": {
"url": "https://github.com/taiki-e/parse-changelog/releases/download/v0.6.18/parse-changelog-aarch64-pc-windows-msvc.tar.gz",
"etag": "0x8DF381C00FC6541",
"hash": "fbe3be7fe3b6c66e7dbfb687633bfa9bd31b71d1feedced6b5d9080c56773895"
},
"powerpc64le_linux_musl": {
"url": "https://github.com/taiki-e/parse-changelog/releases/download/v0.6.18/parse-changelog-powerpc64le-unknown-linux-musl.tar.gz",
"etag": "0x8DF381BF1DF92AC",
"hash": "bce814051189225b1f3410b3cf75bdf98fd482f831d401b7edb86dbfbb7b28dd"
},
"riscv64_linux_musl": {
"url": "https://github.com/taiki-e/parse-changelog/releases/download/v0.6.18/parse-changelog-riscv64gc-unknown-linux-musl.tar.gz",
"etag": "0x8DF381BFA53424B",
"hash": "b4dec46f5ed9afc0e66357d669bbfc17a85ac1456047234f20667bcef4687c44"
},
"s390x_linux_gnu": {
"url": "https://github.com/taiki-e/parse-changelog/releases/download/v0.6.18/parse-changelog-s390x-unknown-linux-gnu.tar.gz",
"etag": "0x8DF381BFE33E2A0",
"hash": "70e2cf19bb3491a177fe900aca7f7de0e7bbe809162e6430c1165c6413a060bc"
}
},
"0.6.17": {
"x86_64_linux_musl": {
+40 -2
View File
@@ -30,10 +30,48 @@
}
},
"latest": {
"version": "0.1.8"
"version": "0.1.9"
},
"0.1": {
"version": "0.1.8"
"version": "0.1.9"
},
"0.1.9": {
"x86_64_linux_musl": {
"etag": "0x8DF38151A5B1ADC",
"hash": "d79668eb77e1fed724f25f3b8e88b56b6bcc922350a3143c45776aea743c8887"
},
"x86_64_macos": {
"etag": "0x8DF381517A68282",
"hash": "0e776274195ac57b748d4f6ca4c405d268e1cee57f579fe143b03c0426376f90"
},
"x86_64_windows": {
"etag": "0x8DF38152776C6BA",
"hash": "0edeed2fde602a1cb12afb6f63d91b51f05f3d2e5a6ce1566a4c3fb89a850c0c"
},
"aarch64_linux_musl": {
"etag": "0x8DF38151C9C0E28",
"hash": "272492226b5ef239c330b4fdea6847fb3626bf503d8910b6fa09b8be329c9c77"
},
"aarch64_macos": {
"etag": "0x8DF381510F7537A",
"hash": "d61640989be19cd2b2c0c7d9909468fd9890974abe2bfe5f47f4c4b25a0406f5"
},
"aarch64_windows": {
"etag": "0x8DF38152963F653",
"hash": "85510264931757a51d7a9c2c87363017023e0b1fc24572e61a9daa38e673bf9b"
},
"powerpc64le_linux_musl": {
"etag": "0x8DF38151F47551F",
"hash": "86927ca3b66f3ec9410de62521136b8850a749343b55e67a8593d79ca06dc70f"
},
"riscv64_linux_musl": {
"etag": "0x8DF381516FBA68B",
"hash": "b5d24364ea995a410361dd5a8ff522af3d423ab3c08045ee28491a7b20e7879b"
},
"s390x_linux_gnu": {
"etag": "0x8DF381521B7A066",
"hash": "32ef4a51b9689e0aafae8e7d5f794ef69b72c051f1353a126b776e666fa27e2a"
}
},
"0.1.8": {
"x86_64_linux_musl": {
+2 -2
View File
@@ -39,10 +39,10 @@
}
},
"latest": {
"version": "0.5.7"
"version": "0.5.9"
},
"0.5": {
"version": "0.5.7"
"version": "0.5.9"
},
"0.5.9": {
"x86_64_linux_musl": {
+22
View File
@@ -26,6 +26,28 @@
"0.4": {
"version": "0.4.2"
},
"0.4.3": {
"x86_64_linux_musl": {
"etag": "0x8DF38C42FA20D71",
"hash": "4a4cfa92ea2abaee02b40daa596a95ca2725816a6a32cb03a8f48ddead287681"
},
"x86_64_windows": {
"etag": "0x8DF38C4B1783498",
"hash": "a8597928a5d9e326b3ebfc4b85ed2016ae9765347bc77f12a07ffd267de13eeb"
},
"aarch64_linux_musl": {
"etag": "0x8DF38C42AEBC2E3",
"hash": "f9968983da816f30ad8423b5ce7ac93e1e305f913bab6c164b88fbeab434d7cb"
},
"aarch64_macos": {
"etag": "0x8DF38C43E9873EF",
"hash": "b2c6e636199c7fa9dae8838fbebb49cb99933908eb7dd67f25ec831bb38e1c52"
},
"aarch64_windows": {
"etag": "0x8DF38C4D37A6A1E",
"hash": "9177fa5651df1dd13f1825d9d051c426348e176b21357bfd308149dabd4321b1"
}
},
"0.4.2": {
"x86_64_linux_musl": {
"etag": "0x8DF34007C56F413",
+34
View File
@@ -40,6 +40,40 @@
"1": {
"version": "1.55.0"
},
"1.56.0": {
"x86_64_linux_musl": {
"etag": "0x8DF3901D6994151",
"hash": "1c2493cfcf52d3367d6cb25780d9190c111c2219c34c820574c43e8bae15c528"
},
"x86_64_macos": {
"etag": "0x8DF3901D6B61EBF",
"hash": "ff37fb20e8d072e193cb659ecb932994ba2add772cbf86909c368fb95a630c50"
},
"x86_64_windows": {
"etag": "0x8DF3901D6B8B3D4",
"hash": "c4cd2846dc0128e29a947bc6f56e1e5ef01707275b0e58590fbe48105198661d"
},
"aarch64_linux_musl": {
"etag": "0x8DF3901D6C59F52",
"hash": "ace61b9397ae28189c674ae332d67a8074dafd71e87724dfb8b22412d8253bb5"
},
"aarch64_macos": {
"etag": "0x8DF3901D6A3BCD7",
"hash": "c19b97a8c175ac7bd8105b8c8240ce740bf078333b12cc62ea49002c1b33e6e0"
},
"aarch64_windows": {
"etag": "0x8DF3901D6998F29",
"hash": "c235b06385f8b588ddc66b20a80117716ba0f8e584d59a7c186a3c6c8491b6fe"
},
"powerpc64le_linux_musl": {
"etag": "0x8DF3901D6B1690C",
"hash": "4f73890254bcb14c3ed082b372be839e27d52c08bfd950f82644c7aaf125c146"
},
"s390x_linux_musl": {
"etag": "0x8DF3901D6AED3ED",
"hash": "9f5a1cc59ecc6fd67cd919bf40d310d01012431c03b304be0ab077d0a8ca4b4d"
}
},
"1.55": {
"version": "1.55.0"
},
+54 -2
View File
@@ -21,10 +21,62 @@
}
},
"latest": {
"version": "0.36.0"
"version": "0.36.1"
},
"0.36": {
"version": "0.36.0"
"version": "0.36.1"
},
"0.36.2": {
"x86_64_linux_musl": {
"etag": "0x8DF386231B44435",
"hash": "5736f27a806888f7ed89fba6bb8a3a00e5da895f1ad870f699b3018b7c8bcb0d"
},
"x86_64_macos": {
"etag": "0x8DF386230ADB71F",
"hash": "879cbc99179aebfa6c569e5e6672b60ed19647c15a9e948e3a644c97df69625a"
},
"x86_64_windows": {
"etag": "0x8DF386231B09ED0",
"hash": "758578f69b265955e17d5288959b4d96f76c1eb96374841f7627c54b573e0377"
},
"aarch64_linux_musl": {
"etag": "0x8DF386231EF7540",
"hash": "751f3c6b8f1978deda3c1cec47cdafeeb150c29a9970267df8de26289a1c21c8"
},
"aarch64_macos": {
"etag": "0x8DF3862309E85F7",
"hash": "7fb1666195a8fe2075fd4fb4076831f1152ef8257dfe087d343e71f17a389688"
},
"aarch64_windows": {
"etag": "0x8DF386230AA866C",
"hash": "ae55bbfefd06c2be5b35f8732693e3e6604d55a5dc281bd61b47e8bb1d68ffa1"
}
},
"0.36.1": {
"x86_64_linux_musl": {
"etag": "0x8DF36DBCA96DA32",
"hash": "4001b21cf12bd9e6b64f8d29fe6bdc473e34edbeff084e87f81e9af2c13e033f"
},
"x86_64_macos": {
"etag": "0x8DF36DBC99ACE06",
"hash": "1454515846468a0b1fe1efbdb2250e3f08b46b01af96c1a234d4adcd5e0f108b"
},
"x86_64_windows": {
"etag": "0x8DF36DBCA9051D9",
"hash": "8c197a82f765cbef2c0c86c46e9d75811c3b5d1a56c61b1c1fdf8cc4eaf47765"
},
"aarch64_linux_musl": {
"etag": "0x8DF36DBCA8A3E38",
"hash": "a26dec8e4cc96a574f37825bbd49ea906de0c923de0fd0d7b7c7b4b87b092f84"
},
"aarch64_macos": {
"etag": "0x8DF36DBC98F6929",
"hash": "789a6b7dab6258ba3ce31a561aa9e3e200f72364a6a4234f254086dbeca17b91"
},
"aarch64_windows": {
"etag": "0x8DF36DBC98F4243",
"hash": "515ae1a33929812bb2961c6bbbb01f6628f89d3dce1224f644352e0a6397139f"
}
},
"0.36.0": {
"x86_64_linux_musl": {
+2 -2
View File
@@ -43,10 +43,10 @@
}
},
"latest": {
"version": "0.2.129"
"version": "0.2.130"
},
"0.2": {
"version": "0.2.129"
"version": "0.2.130"
},
"0.2.130": {
"x86_64_linux_musl": {
+2 -2
View File
@@ -23,10 +23,10 @@
}
},
"latest": {
"version": "0.15.0"
"version": "0.15.1"
},
"0.15": {
"version": "0.15.0"
"version": "0.15.1"
},
"0.15.1": {
"x86_64_linux_musl": {
+27 -2
View File
@@ -23,10 +23,35 @@
}
},
"latest": {
"version": "1.262.0"
"version": "1.263.0"
},
"1": {
"version": "1.262.0"
"version": "1.263.0"
},
"1.263": {
"version": "1.263.0"
},
"1.263.0": {
"x86_64_linux_gnu": {
"etag": "0x8DF36C4A48E0FA0",
"hash": "21c036c1740a0552124c79c6e2170cb61c5b016005671a6d5bc06cf642165431"
},
"x86_64_macos": {
"etag": "0x8DF36C4A49FEA20",
"hash": "909061aba8c069aeed8cb0933e50973a9c8e869bbd6a7819176b49871a338424"
},
"x86_64_windows": {
"etag": "0x8DF36C4A496CCA4",
"hash": "0803df158b4dbea6b029d11f4206c414f432f0447af91542817061e4f0bd912e"
},
"aarch64_linux_gnu": {
"etag": "0x8DF36C4A3F9EFB0",
"hash": "773b5e6bf957f0d93a9a337c9c5fc4c35509706301a80799f57a76fa367fd1ca"
},
"aarch64_macos": {
"etag": "0x8DF36C4A3EEFF82",
"hash": "b568f04746a699c4068b8d751779b60b501cf2cab6d259a3bc973eb5eeb1f62b"
}
},
"1.262": {
"version": "1.262.0"
+64
View File
@@ -0,0 +1,64 @@
{
"rust_crate": null,
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/mikefarah/yq/releases/download/v${version}/yq_linux_amd64.tar.gz",
"bin": "yq_linux_amd64"
},
"x86_64_macos": {
"url": "https://github.com/mikefarah/yq/releases/download/v${version}/yq_darwin_amd64.tar.gz",
"bin": "yq_darwin_amd64"
},
"x86_64_windows": {
"url": "https://github.com/mikefarah/yq/releases/download/v${version}/yq_windows_amd64.zip",
"bin": "yq_windows_amd64.exe"
},
"aarch64_linux_musl": {
"url": "https://github.com/mikefarah/yq/releases/download/v${version}/yq_linux_arm64.tar.gz",
"bin": "yq_linux_arm64"
},
"aarch64_macos": {
"url": "https://github.com/mikefarah/yq/releases/download/v${version}/yq_darwin_arm64.tar.gz",
"bin": "yq_darwin_arm64"
},
"aarch64_windows": {
"url": "https://github.com/mikefarah/yq/releases/download/v${version}/yq_windows_arm64.zip",
"bin": "yq_windows_arm64.exe"
}
},
"latest": {
"version": "4.54.1"
},
"4": {
"version": "4.54.1"
},
"4.54": {
"version": "4.54.1"
},
"4.54.1": {
"x86_64_linux_musl": {
"etag": "0x8DF1DE03114DF05",
"hash": "e68a456f90c577af3fe4960184b3a3cf5c461e0348407c10f107da3a5fec8972"
},
"x86_64_macos": {
"etag": "0x8DF1DE03109A104",
"hash": "b2cc367e9f5491b3b9b191aa19ba3a3163daf99d84f90bc7bd8918010a66e69a"
},
"x86_64_windows": {
"etag": "0x8DF1DE0310C362C",
"hash": "c2fb1234e58a3b80e358a0a8baeaf7ec51bfa698bbe40e2fcab0ed37d590c107"
},
"aarch64_linux_musl": {
"etag": "0x8DF1DE030F6F15A",
"hash": "8c27f6e7476fb5acefb9352e3d30f6bc2dc93f1956eb92e8da727173fb7ec6d3"
},
"aarch64_macos": {
"etag": "0x8DF1DE030FDEE5A",
"hash": "60d0c91aa8bf4030d38e80bb05f84c20be2e955f24d62b2e55d15ad643fa7afa"
},
"aarch64_windows": {
"etag": "0x8DF1DE030F0DDB6",
"hash": "2b2d1bc0db6d9801f6579aa2946871f1e6a598737a5ffcc6b043ea8c704e8991"
}
}
}
+34 -34
View File
@@ -12,6 +12,7 @@ glibc_pre_2_39_incompat=(
cargo-deb
cargo-mutants
cargo-spellcheck
wasm-bindgen
zizmor
)
# version `GLIBC_2.35' not found
@@ -50,9 +51,14 @@ glibc_pre_2_27_incompat=(
protoc
valgrind
)
# version `GLIBC_2.18' not found
glibc_pre_2_18_incompat=(
"${glibc_pre_2_27_incompat[@]}"
mold
)
# version `GLIBC_2.17' not found
glibc_pre_2_17_incompat=(
"${glibc_pre_2_27_incompat[@]}"
"${glibc_pre_2_18_incompat[@]}"
deepsource # https://github.com/DeepSourceCorp/cli/issues/245
rafn # built on ubuntu-24.04, requires GLIBC_2.17+
rust
@@ -77,6 +83,17 @@ esac
runner="${2:-}"
case "$(uname -s)" in
Linux)
function libc_version_lower_than {
local host_version=$1
local version=$2
if [[ "$(LC_ALL=C sort -Vu <<<"${version}"$'\n'"${host_version}" | tail -1)" != "${host_version}" ]]; then
return 0
else
return 1
fi
}
host_os=linux
ldd_version=$(ldd --version 2>&1 || true)
if [[ "${ldd_version}" == *'musl'* ]]; then
@@ -84,39 +101,22 @@ case "$(uname -s)" in
else
host_glibc_version=$(grep -E "GLIBC|GNU libc" <<<"${ldd_version}")
host_glibc_version="${host_glibc_version##* }"
higher_glibc_version=$(LC_ALL=C sort -Vu <<<"2.39"$'\n'"${host_glibc_version}" | tail -1)
if [[ "${higher_glibc_version}" != "${host_glibc_version}" ]]; then
higher_glibc_version=$(LC_ALL=C sort -Vu <<<"2.35"$'\n'"${host_glibc_version}" | tail -1)
if [[ "${higher_glibc_version}" != "${host_glibc_version}" ]]; then
higher_glibc_version=$(LC_ALL=C sort -Vu <<<"2.34"$'\n'"${host_glibc_version}" | tail -1)
if [[ "${higher_glibc_version}" != "${host_glibc_version}" ]]; then
higher_glibc_version=$(LC_ALL=C sort -Vu <<<"2.31"$'\n'"${host_glibc_version}" | tail -1)
if [[ "${higher_glibc_version}" != "${host_glibc_version}" ]]; then
higher_glibc_version=$(LC_ALL=C sort -Vu <<<"2.28"$'\n'"${host_glibc_version}" | tail -1)
if [[ "${higher_glibc_version}" != "${host_glibc_version}" ]]; then
higher_glibc_version=$(LC_ALL=C sort -Vu <<<"2.27"$'\n'"${host_glibc_version}" | tail -1)
if [[ "${higher_glibc_version}" != "${host_glibc_version}" ]]; then
higher_glibc_version=$(LC_ALL=C sort -Vu <<<"2.17"$'\n'"${host_glibc_version}" | tail -1)
if [[ "${higher_glibc_version}" != "${host_glibc_version}" ]]; then
incompat_tools+=("${glibc_pre_2_17_incompat[@]}")
else
incompat_tools+=("${glibc_pre_2_27_incompat[@]}")
fi
else
incompat_tools+=("${glibc_pre_2_28_incompat[@]}")
fi
else
incompat_tools+=("${glibc_pre_2_31_incompat[@]}")
fi
else
incompat_tools+=("${glibc_pre_2_34_incompat[@]}")
fi
else
incompat_tools+=("${glibc_pre_2_35_incompat[@]}")
fi
else
incompat_tools+=("${glibc_pre_2_39_incompat[@]}")
fi
if libc_version_lower_than "${host_glibc_version}" 2.17; then
incompat_tools+=("${glibc_pre_2_17_incompat[@]}")
elif libc_version_lower_than "${host_glibc_version}" 2.18; then
incompat_tools+=("${glibc_pre_2_18_incompat[@]}")
elif libc_version_lower_than "${host_glibc_version}" 2.27; then
incompat_tools+=("${glibc_pre_2_27_incompat[@]}")
elif libc_version_lower_than "${host_glibc_version}" 2.28; then
incompat_tools+=("${glibc_pre_2_28_incompat[@]}")
elif libc_version_lower_than "${host_glibc_version}" 2.31; then
incompat_tools+=("${glibc_pre_2_31_incompat[@]}")
elif libc_version_lower_than "${host_glibc_version}" 2.34; then
incompat_tools+=("${glibc_pre_2_34_incompat[@]}")
elif libc_version_lower_than "${host_glibc_version}" 2.35; then
incompat_tools+=("${glibc_pre_2_35_incompat[@]}")
elif libc_version_lower_than "${host_glibc_version}" 2.39; then
incompat_tools+=("${glibc_pre_2_39_incompat[@]}")
fi
fi
if ! type -P snap >/dev/null; then
-1
View File
@@ -5,7 +5,6 @@ default-run = "generate-manifest"
[dependencies]
install-action-manifest-schema = { path = "../manifest-schema" }
anyhow = "1"
flate2 = "1"
fs-err = "3"
jiff = { version = "0.2", default-features = false, features = ["std", "serde"] }
+26
View File
@@ -0,0 +1,26 @@
{
"repository": "https://github.com/rui314/mold",
"license_markdown": "[MIT](https://github.com/rui314/mold/blob/main/LICENSE)",
"tag_prefix": "v",
"version_range": ">= 2.42.1",
"platform": {
"x86_64_linux_gnu": {
"asset_name": "${package}-${version}-x86_64-linux.tar.gz",
"bin": [
"${package}-${version}-x86_64-linux/bin/mold",
"${package}-${version}-x86_64-linux/bin/ld.mold"
]
},
"x86_64_windows": {
"asset_name": "${package}-${version}-x86_64-windows.zip",
"bin": "bin/mold"
},
"aarch64_linux_gnu": {
"asset_name": "${package}-${version}-aarch64-linux.tar.gz",
"bin": [
"${package}-${version}-aarch64-linux/bin/mold",
"${package}-${version}-aarch64-linux/bin/ld.mold"
]
}
}
}
+32
View File
@@ -0,0 +1,32 @@
{
"repository": "https://github.com/mikefarah/yq",
"license_markdown": "[MIT](https://github.com/mikefarah/yq/blob/master/LICENSE)",
"tag_prefix": "v",
"version_range": ">= 4.54.1",
"platform": {
"x86_64_linux_musl": {
"asset_name": "yq_linux_amd64.tar.gz",
"bin": "yq_linux_amd64${exe}"
},
"x86_64_macos": {
"asset_name": "yq_darwin_amd64.tar.gz",
"bin": "yq_darwin_amd64${exe}"
},
"x86_64_windows": {
"asset_name": "yq_windows_amd64.zip",
"bin": "yq_windows_amd64${exe}"
},
"aarch64_linux_musl": {
"asset_name": "yq_linux_arm64.tar.gz",
"bin": "yq_linux_arm64${exe}"
},
"aarch64_macos": {
"asset_name": "yq_darwin_arm64.tar.gz",
"bin": "yq_darwin_arm64${exe}"
},
"aarch64_windows": {
"asset_name": "yq_windows_arm64.zip",
"bin": "yq_windows_arm64${exe}"
}
}
}
+23 -28
View File
@@ -14,7 +14,6 @@ use std::{
time::Duration,
};
use anyhow::{Context as _, Result, bail};
use fs_err as fs;
use install_action_internal_codegen::{
BaseManifest, HostPlatform, Manifest, ManifestDownloadInfo, ManifestRef, ManifestTemplate,
@@ -54,8 +53,7 @@ fn main() {
let repo = base_info
.repository
.strip_prefix(GITHUB_START)
.context("repository must start with https://github.com/")
.unwrap();
.expect("repository must start with https://github.com/");
eprintln!("downloading metadata from {GITHUB_API_START}repos/{repo}");
@@ -108,9 +106,7 @@ fn main() {
base_info.rust_crate = base_info
.rust_crate
.as_ref()
.map(|s| replace_vars(s, package, None, None, base_info.rust_crate.as_deref()))
.transpose()
.unwrap();
.map(|s| replace_vars(s, package, None, None, base_info.rust_crate.as_deref()));
if let Some(crate_name) = &base_info.rust_crate {
eprintln!("downloading crate info from https://crates.io/api/v1/crates/{crate_name}");
let info: crates_io::Crate =
@@ -500,8 +496,7 @@ fn main() {
.asset_name
.as_ref()
.or(base_info.asset_name.as_ref())
.with_context(|| format!("asset_name is needed for {package} on {platform:?}"))
.unwrap()
.unwrap_or_else(|| panic!("asset_name is needed for {package} on {platform:?}"))
.as_slice()
.iter()
.map(|asset_name| {
@@ -513,8 +508,7 @@ fn main() {
base_info.rust_crate.as_deref(),
)
})
.collect::<Result<Vec<_>>>()
.unwrap();
.collect::<Vec<_>>();
let (url, digest, asset_name) = match asset_names.iter().find_map(|asset_name| {
release
.assets
@@ -536,7 +530,7 @@ fn main() {
"{version}-{platform:?}-{}",
Path::new(&url).file_name().unwrap().to_str().unwrap()
));
let response = download(&url).unwrap();
let response = download(&url);
let etag =
response.header("etag").expect("binary should have an etag").replace('\"', "");
@@ -608,7 +602,7 @@ fn main() {
eprintln!("already downloaded");
minisign_verify::Signature::from_file(sig_download_cache).unwrap()
} else {
let buf = download(&url).unwrap().into_string().unwrap();
let buf = download(&url).into_string().unwrap();
eprintln!("download complete");
fs::write(sig_download_cache, &buf).unwrap();
minisign_verify::Signature::decode(&buf).unwrap()
@@ -715,7 +709,6 @@ fn main() {
Some(platform),
base_info.rust_crate.as_deref(),
)
.unwrap()
})
}),
),
@@ -779,7 +772,7 @@ fn main() {
// update an existing manifests.json to avoid discarding work done in the event of a fetch error.
if existing_manifest.is_some() && !version_req_given {
write_manifests(manifest_path, &manifests.clone()).unwrap();
write_manifests(manifest_path, &manifests.clone());
eprintln!("wrote {} with incomplete data", manifest_path.display());
}
}
@@ -939,25 +932,26 @@ fn main() {
manifests.rust_crate = base_info.rust_crate;
write_manifests(manifest_path, &manifests).unwrap();
write_manifests(manifest_path, &manifests);
eprintln!("wrote {}", manifest_path.display());
}
fn write_manifests(manifest_path: &Path, manifests: &Manifests) -> Result<()> {
let mut buf = serde_json::to_vec_pretty(&manifests)?;
#[track_caller]
fn write_manifests(manifest_path: &Path, manifests: &Manifests) {
let mut buf = serde_json::to_vec_pretty(&manifests).unwrap();
buf.push(b'\n');
fs::write(manifest_path, buf)?;
Ok(())
fs::write(manifest_path, buf).unwrap();
}
#[allow(clippy::literal_string_with_formatting_args)]
#[track_caller]
fn replace_vars(
s: &str,
package: &str,
version: Option<&str>,
platform: Option<HostPlatform>,
rust_crate: Option<&str>,
) -> Result<String> {
) -> String {
static RUST_SPECIFIC: &[(&str, fn(HostPlatform) -> &'static str)] = &[
("${rust_target}", HostPlatform::rust_target),
("${rust_target_arch}", HostPlatform::rust_target_arch),
@@ -980,14 +974,14 @@ fn replace_vars(
if s.contains('$') {
for &(var, _) in RUST_SPECIFIC {
if s.contains(var) {
bail!(
panic!(
"base manifest for {package} refers {var}, but 'rust_crate' field is not set"
);
}
}
bail!("variable not fully replaced: '{s}'");
panic!("variable not fully replaced: '{s}'");
}
Ok(s)
s
}
struct GitHubTokens {
@@ -1035,7 +1029,8 @@ static GITHUB_TOKENS: LazyLock<GitHubTokens> = LazyLock::new(|| {
}
});
fn download(url: &str) -> Result<ureq::Response> {
#[track_caller]
fn download(url: &str) -> ureq::Response {
let mut token = GITHUB_TOKENS.get(url);
let mut retry = 0;
let mut retry_time = 0;
@@ -1056,7 +1051,7 @@ fn download(url: &str) -> Result<ureq::Response> {
.set("X-GitHub-Api-Version", "2022-11-28");
}
match req.call() {
Ok(res) => return Ok(res),
Ok(res) => return res,
Err(e) => last_error = Some(e),
}
retry_time += 1;
@@ -1073,17 +1068,17 @@ fn download(url: &str) -> Result<ureq::Response> {
eprintln!("download failed; retrying after {}s ({retry}/{max_retry})", retry_time * 2);
std::thread::sleep(Duration::from_secs(retry_time * 2));
}
Err(last_error.unwrap().into())
panic!("{}", last_error.unwrap())
}
#[track_caller]
fn download_to_buf(url: &str, buf: &mut Vec<u8>) {
download(url).unwrap().into_reader().read_to_end(buf).unwrap();
download(url).into_reader().read_to_end(buf).unwrap();
}
#[track_caller]
fn download_json<T: DeserializeOwned>(url: &str) -> T {
download(url).unwrap().into_json().unwrap()
download(url).into_json().unwrap()
}
#[allow(dead_code)]
+4 -5
View File
@@ -2,13 +2,12 @@
use std::{
fmt, format,
io::{Error, Result},
process::{Command, ExitStatus, Output},
str,
string::{String, ToString as _},
};
use anyhow::{Context as _, Error, Result};
macro_rules! cmd {
($program:expr $(, $arg:expr)* $(,)?) => {{
let mut _cmd = std::process::Command::new($program);
@@ -55,8 +54,8 @@ impl ProcessBuilder {
/// Executes a process, waiting for completion, and mapping non-zero exit
/// status to an error.
pub(crate) fn run(&mut self) -> Result<()> {
let status = self.cmd.status().with_context(|| {
process_error(format!("could not execute process {self}"), None, None)
let status = self.cmd.status().map_err(|e| {
process_error(format!("could not execute process {self}: {e}"), None, None)
})?;
if status.success() {
Ok(())
@@ -151,5 +150,5 @@ fn process_error(mut msg: String, status: Option<ExitStatus>, output: Option<&Ou
}
}
Error::msg(msg)
Error::other(msg)
}
+1 -1
View File
@@ -37,7 +37,7 @@ image='ghcr.io/taiki-e/tidy'
if [[ -n "${TIDY_DEV:-}" ]]; then
image+=':latest'
else
image+='@sha256:99d576935b91cbb7c97ad4b11b8888c5f36a0b8a720d2bab9a2ac3cc2a4b97c7'
image+='@sha256:fda9c3e6c06946d9a7c1068b302616839685f374ca6e5494123ed940da88b242'
fi
user="$(id -u):$(id -g)"
workdir="${PWD}"