Compare commits

...

171 Commits

Author SHA1 Message Date
Taiki Endo
5f9beb01e0 cargo-lambda 2026-05-05 15:10:04 +00:00
Taiki Endo
cca35edeb1 Release 2.77.1 2026-05-05 15:10:04 +00:00
Taiki Endo
e60138699e ci: Fix release workflow 2026-05-06 00:06:18 +09:00
Taiki Endo
651945350f Update tombi@latest to 0.10.3 2026-05-05 14:05:31 +00:00
Taiki Endo
bfbdc59475 Update prek manifest 2026-05-05 14:05:31 +00:00
Taiki Endo
9f306516af Update martin@latest to 1.8.2 2026-05-05 14:05:31 +00:00
Taiki Endo
d1eee517af codegen: Ignore uv 0.11.9
```
verifying https://github.com/astral-sh/uv/releases/download/0.11.9/uv-x86_64-unknown-linux-musl.tar.gz with gh attestation verify

Error: HTTP 404: Not Found (https://api.github.com/repos/astral-sh/uv/attestations/sha256:ac3e5051edbf30613b0f90d1c18d4807fea6b246f37490799fee0c1284a658b2?per_page=30&predicate_type=https://slsa.dev/provenance/v1)
```

https://github.com/astral-sh/uv/issues/19278
2026-05-05 22:47:55 +09:00
Taiki Endo
a4ad60dd6a ci: Use taiki-e/github-actions/.github/workflows/action-release.yml 2026-05-05 22:36:13 +09:00
Taiki Endo
39b209ec4a ci: Update config 2026-05-05 10:56:05 +09:00
Taiki Endo
7ea35f098a Release 2.77.0 2026-05-05 01:09:18 +00:00
Taiki Endo
18aca711fe Update changelog 2026-05-05 09:46:48 +09:00
Taiki Endo
b62b50877f Update mise@latest to 2026.5.0 2026-05-05 00:39:27 +00:00
Taiki Endo
11569735dc codegen: Improve changelog handling 2026-05-05 06:55:02 +09:00
Taiki Endo
07924c7415 Diagnostic improvements 2026-05-05 05:37:37 +09:00
Taiki Endo
fbb8be9fc5 Reduce uname usage 2026-05-05 05:37:18 +09:00
Taiki Endo
ca67a3acf1 Support +<additional> syntax for rust 2026-05-05 03:04:34 +09:00
Taiki Endo
bbe1b9d5e1 Support rust 2026-05-05 03:04:34 +09:00
Taiki Endo
a70acaa822 Update tombi manifest 2026-05-04 15:01:00 +00:00
Taiki Endo
711e1c3275 Release 2.76.0 2026-05-04 12:34:12 +00:00
Taiki Endo
6f6e822f33 Update changelog 2026-05-04 21:07:40 +09:00
Taiki Endo
a142873b76 ci,tools: Update config and script 2026-05-04 21:06:05 +09:00
Mads Marquart
ff1c16dbcb Support cargo-apple-runner (#1731) 2026-05-04 21:05:27 +09:00
Nicolas Huber
8966c78b02 Support mdbook-d2 (#1737) 2026-05-04 21:03:03 +09:00
Taiki Endo
c2126fb235 Support cargo-binstall on riscv64 Linux 2026-05-04 20:39:44 +09:00
Taiki Endo
57f2d4f754 codegen: Pin cargo-binstall version in base manifest 2026-05-04 20:36:22 +09:00
Taiki Endo
4702276cfb Revert "Update cargo-binstall@latest to 1.19.0"
This reverts commit 4976db3862.
2026-05-04 20:36:22 +09:00
Taiki Endo
9908d1d32f Remove sed usage in canonicalize_windows_path 2026-05-04 19:56:56 +09:00
Taiki Endo
4976db3862 Update cargo-binstall@latest to 1.19.0 2026-05-04 07:47:23 +00:00
Taiki Endo
027d3566fa Update mise manifest 2026-05-03 21:32:19 +00:00
Taiki Endo
7fe0d47d46 Update cargo-deb@latest to 3.7.0 2026-05-03 21:32:19 +00:00
Taiki Endo
72fab49619 Update tombi@latest to 0.10.2 2026-05-03 19:02:23 +00:00
Taiki Endo
db5fb34fa7 Release 2.75.30 2026-05-03 10:38:24 +00:00
Taiki Endo
095ffb3a38 ci: Mark cargo-spellcheck as glibc_pre_2_39_incompat
```
+ cargo-spellcheck spellcheck --version
  cargo-spellcheck: /lib64/libc.so.6: version `GLIBC_2.39' not found
  (required by cargo-spellcheck)
  ```
2026-05-03 19:24:58 +09:00
Taiki Endo
4d6d7ab8c9 Update cargo-spellcheck@latest to 0.15.7 2026-05-03 19:24:58 +09:00
Taiki Endo
9f05712f99 Update biome@latest to 2.4.14 2026-05-03 19:24:58 +09:00
Taiki Endo
fea765a776 ci: Update config 2026-05-03 06:44:45 +09:00
Taiki Endo
b06c9cba54 codegen: cargo-spellcheck now provides AArch64 Linux/Windows binaries 2026-05-03 06:20:16 +09:00
Taiki Endo
b5fddbb536 Release 2.75.29 2026-05-02 19:40:03 +00:00
dependabot[bot]
5dab223281 Bump taiki-e/install-action from 2.75.3 to 2.75.17 (#1754)
Bumps the github-actions group with 1 update in the / directory: [taiki-e/install-action](https://github.com/taiki-e/install-action).


Updates `taiki-e/install-action` from 2.75.3 to 2.75.17
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](b8be7f5e14...58e8625425)

---
updated-dependencies:
- dependency-name: taiki-e/install-action
  dependency-version: 2.75.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-03 04:31:17 +09:00
Taiki Endo
5bdd194353 Revert "ci: Temporarily disable valgrind test"
This reverts commit 40088a0f3b.
2026-05-03 04:18:42 +09:00
Taiki Endo
ef16a20345 Update cargo-deb manifest 2026-05-02 19:16:42 +00:00
Taiki Endo
e565ba433e ci,tools: Update config and scripts 2026-05-03 04:02:20 +09:00
Taiki Endo
9d6a9dded6 Update tombi manifest 2026-05-02 18:34:40 +00:00
Taiki Endo
bdddcdcc79 Update syft@latest to 1.44.0 2026-05-02 18:34:40 +00:00
Taiki Endo
9c6db3bb61 Update rclone@latest to 1.74.0 2026-05-02 18:34:40 +00:00
Taiki Endo
71d23d4987 Update osv-scanner@latest to 2.3.6 2026-05-02 05:43:31 +00:00
Taiki Endo
9bbb5bc118 Update cargo-spellcheck manifest 2026-05-01 20:51:55 +00:00
Taiki Endo
51cd0b8c04 Release 2.75.28 2026-05-01 20:38:51 +00:00
Taiki Endo
eff4bde3b7 Update TOOLS.md 2026-05-02 05:21:27 +09:00
Taiki Endo
800a516184 Update biome manifest 2026-05-02 05:21:27 +09:00
Taiki Endo
d970a9afdf Update wasmtime manifest 2026-05-02 05:21:27 +09:00
Taiki Endo
c7c9ef9094 Simplify environment variable removal on Windows 2026-05-02 05:21:27 +09:00
Taiki Endo
ada42c20f9 Update changelog 2026-05-02 05:21:27 +09:00
Taiki Endo
40088a0f3b ci: Temporarily disable valgrind test
```
error: unable to contact snap store
```

https://status.canonical.com/
2026-05-02 05:21:27 +09:00
Taiki Endo
cd51854b0b ci: Mark cyclonedx as glibc_pre_2_27_incompat
```
+ cyclonedx --version
  cyclonedx: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not
  found (required by cyclonedx)
  ```
2026-05-02 05:21:27 +09:00
Taiki Endo
02785ce9c9 Update wasmtime@latest to 44.0.1 2026-05-02 05:21:27 +09:00
Taiki Endo
1f19260668 Update typos@latest to 1.46.0 2026-05-02 05:21:27 +09:00
Taiki Endo
796b8c7bdf Update tombi@latest to 0.10.1 2026-05-02 05:21:27 +09:00
Taiki Endo
5e79d8799d Update syft manifest 2026-05-02 05:21:27 +09:00
Taiki Endo
a9ad6a15f3 Update sccache@latest to 0.15.0 2026-05-02 05:21:27 +09:00
Taiki Endo
95fc428094 Update rclone manifest 2026-05-02 05:21:27 +09:00
Taiki Endo
8da5f76d8b Update osv-scanner manifest 2026-05-02 05:21:27 +09:00
Taiki Endo
69db8f36c8 Update mise@latest to 2026.4.28 2026-05-02 05:21:27 +09:00
Taiki Endo
6f2467666b Update gungraun-runner@latest to 0.18.2 2026-05-02 05:21:27 +09:00
Taiki Endo
025dfc69ec Update cyclonedx@latest to 0.31.0 2026-05-02 05:21:27 +09:00
Taiki Endo
458badeb06 Update tombi@latest to 0.9.26 2026-04-30 05:33:56 +00:00
Taiki Endo
7769b73c2e Release 2.75.27 2026-04-30 01:50:56 +00:00
Taiki Endo
aef5057f90 Update cargo-udeps@latest to 0.1.61 2026-04-30 01:05:09 +00:00
Taiki Endo
41de191c3c Update wasm-tools@latest to 1.248.0 2026-04-29 18:50:30 +00:00
Taiki Endo
89761c8db9 Update sccache manifest 2026-04-29 18:50:30 +00:00
Taiki Endo
8324debf4c Update mise manifest 2026-04-29 18:50:30 +00:00
Taiki Endo
3b3fb63c3d Update cargo-deb@latest to 3.6.4 2026-04-29 18:50:30 +00:00
Taiki Endo
b651345a71 Release 2.75.26 2026-04-29 13:01:08 +00:00
Taiki Endo
e0091eefbf Update wasm-bindgen@latest to 0.2.120 2026-04-29 12:56:24 +00:00
Taiki Endo
96d4d757ef Update tombi manifest 2026-04-29 12:56:24 +00:00
Taiki Endo
4a1aed1ca9 Update mise@latest to 2026.4.25 2026-04-29 12:56:24 +00:00
Taiki Endo
2e38aa6247 Update martin@latest to 1.8.0 2026-04-29 12:56:24 +00:00
Taiki Endo
443d4e78eb Update cyclonedx manifest 2026-04-29 12:56:24 +00:00
Taiki Endo
5ddd7264c7 Update cargo-udeps manifest 2026-04-29 12:56:24 +00:00
Taiki Endo
4b9684ed93 Update vacuum@latest to 0.26.4 2026-04-28 21:42:35 +00:00
Taiki Endo
1329c298aa Release 2.75.25 2026-04-28 19:03:16 +00:00
Taiki Endo
96c62cdc99 Update wasm-tools manifest 2026-04-28 18:54:39 +00:00
Taiki Endo
abdbfdb6fc Update uv@latest to 0.11.8 2026-04-28 18:54:39 +00:00
Taiki Endo
46a5a07a30 Update typos@latest to 1.45.2 2026-04-28 18:54:39 +00:00
Taiki Endo
4e4fd8b0ce Update tombi@latest to 0.9.25 2026-04-28 18:54:39 +00:00
Taiki Endo
4cc48d2e0b Update mise@latest to 2026.4.24 2026-04-28 18:54:39 +00:00
Taiki Endo
01898f15fa Update martin manifest 2026-04-28 18:54:39 +00:00
Taiki Endo
2dcb219ec6 Update cargo-deb manifest 2026-04-28 18:54:39 +00:00
Taiki Endo
1f2425cdb5 Release 2.75.24 2026-04-28 11:15:06 +00:00
Taiki Endo
01b158b410 Update wasm-bindgen manifest 2026-04-28 10:03:59 +00:00
Taiki Endo
8042492dca Update prek@latest to 0.3.11 2026-04-28 05:47:21 +00:00
Taiki Endo
75727f71ed Update mise@latest to 2026.4.23 2026-04-28 02:35:27 +00:00
Taiki Endo
f0a8696bf6 Update vacuum@latest to 0.26.3 2026-04-27 21:38:00 +00:00
Taiki Endo
daab657293 Update typos manifest 2026-04-27 21:38:00 +00:00
Taiki Endo
481c34c1cf Release 2.75.23 2026-04-27 16:13:05 +00:00
Taiki Endo
9109405c61 Update changelog 2026-04-28 01:10:47 +09:00
Taiki Endo
cfd6b0ff1e Update vacuum@latest to 0.26.2 2026-04-27 16:08:54 +00:00
Taiki Endo
b2ea47bca2 Update uv manifest 2026-04-27 16:08:54 +00:00
Taiki Endo
298078d060 Update tombi@latest to 0.9.24 2026-04-27 16:08:54 +00:00
Taiki Endo
4c81eb55c7 Update prek manifest 2026-04-27 16:08:54 +00:00
Taiki Endo
bb5f177651 Update mise@latest to 2026.4.22 2026-04-27 16:08:54 +00:00
Taiki Endo
c630b05e42 Update martin@latest to 1.7.0 2026-04-27 16:08:54 +00:00
Taiki Endo
b12e2ca231 Update git-cliff@latest to 2.13.1 2026-04-27 16:08:54 +00:00
Taiki Endo
3a693fd633 Update cargo-tarpaulin@latest to 0.35.4 2026-04-27 16:08:54 +00:00
Taiki Endo
9769ee2cf4 Update cargo-sort@latest to 2.1.4 2026-04-27 16:08:54 +00:00
Taiki Endo
135f92e251 codegen: tombi 0.9.23 changed asset names
4ffe79f6b7
2026-04-28 00:36:12 +09:00
Taiki Endo
f6da097330 Update mise manifest 2026-04-25 21:29:06 +00:00
Taiki Endo
559ffd1268 Update martin manifest 2026-04-25 15:30:09 +00:00
Taiki Endo
a452546980 Update mise@latest to 2026.4.20 2026-04-25 12:31:43 +00:00
Taiki Endo
9898d2a3a0 Update cargo-sort manifest 2026-04-25 12:31:43 +00:00
Taiki Endo
63de478c5d Update cargo-tarpaulin manifest 2026-04-25 09:34:12 +00:00
Taiki Endo
cf525cb33f Release 2.75.22 2026-04-25 07:06:42 +00:00
Taiki Endo
3f558599a1 Update tombi manifest 2026-04-25 05:46:24 +00:00
Taiki Endo
a286306fb8 Update tombi@latest to 0.9.22 2026-04-24 18:33:01 +00:00
Taiki Endo
eaa8ab69bf Update biome@latest to 2.4.13 2026-04-24 18:33:01 +00:00
Taiki Endo
2589fc51d9 Update mise manifest 2026-04-24 12:42:43 +00:00
Taiki Endo
787505cde8 Release 2.75.21 2026-04-24 10:08:21 +00:00
Taiki Endo
7c499079ce Update mise@latest to 2026.4.19 2026-04-24 05:42:03 +00:00
Taiki Endo
9d1fa296ee Update tombi@latest to 0.9.21 2026-04-24 01:01:37 +00:00
Taiki Endo
d6c0be7b3f Update tombi manifest 2026-04-23 18:46:38 +00:00
Taiki Endo
7e0b63f714 Update syft@latest to 1.43.0 2026-04-23 18:46:38 +00:00
Taiki Endo
949cd15806 Update biome manifest 2026-04-23 18:46:38 +00:00
Taiki Endo
74e87cbfa1 Release 2.75.20 2026-04-23 13:38:50 +00:00
Taiki Endo
cf3db48700 Update mise manifest 2026-04-23 05:43:07 +00:00
Taiki Endo
0102efdc68 Update tombi manifest 2026-04-23 01:01:11 +00:00
Taiki Endo
3f5548742e Update syft manifest 2026-04-22 18:40:27 +00:00
Taiki Endo
7149f916dc Update prek@latest to 0.3.10 2026-04-22 12:43:20 +00:00
Taiki Endo
b1b3ba35a8 Update cargo-xwin@latest to 0.22.0 2026-04-22 00:54:32 +00:00
Taiki Endo
5f57d6cb7c Release 2.75.19 2026-04-21 19:12:57 +00:00
Taiki Endo
f7834e16b5 Update changelog 2026-04-22 03:55:32 +09:00
Taiki Endo
2cc571e43f Update wasmtime@latest to 44.0.0 2026-04-21 15:48:07 +00:00
Taiki Endo
8b3cde4b11 Update prek manifest 2026-04-21 12:53:28 +00:00
Taiki Endo
9240bba72a Update tombi@latest to 0.9.20 2026-04-21 00:59:21 +00:00
Taiki Endo
a12217e013 Update martin@latest to 1.6.0 2026-04-21 00:59:21 +00:00
Taiki Endo
1fee5982aa Update just@latest to 1.50.0 2026-04-21 00:59:21 +00:00
Taiki Endo
b6d12aae50 Update cargo-xwin manifest 2026-04-21 00:59:21 +00:00
Taiki Endo
d00ace6084 Update wasmtime manifest 2026-04-20 19:01:48 +00:00
Taiki Endo
d908317d79 Update tombi@latest to 0.9.19 2026-04-20 19:01:48 +00:00
Taiki Endo
2ec8966dce Update mise@latest to 2026.4.18 2026-04-20 19:01:48 +00:00
Taiki Endo
fb7e964106 Update rclone@latest to 1.73.5 2026-04-20 12:49:43 +00:00
Taiki Endo
54bca04752 Update tombi manifest 2026-04-20 07:05:23 +00:00
Taiki Endo
099e0a6219 Update martin manifest 2026-04-20 07:05:23 +00:00
Taiki Endo
3445a4a329 Update just manifest 2026-04-20 07:05:23 +00:00
Taiki Endo
6c30010265 Update tombi manifest 2026-04-19 18:41:36 +00:00
Taiki Endo
0f4f5a6122 Update rclone manifest 2026-04-19 18:41:36 +00:00
Taiki Endo
0834419696 Update mise@latest to 2026.4.17 2026-04-19 18:41:36 +00:00
Taiki Endo
7f2a51ae27 Update cspell dictionary 2026-04-20 03:28:51 +09:00
Taiki Endo
e15ecae65f Unset/reject environment variables that may unexpectedly affect bash
behavior
2026-04-19 10:14:16 +09:00
Taiki Endo
ff5a208d55 Prefer shell builtin over commad 2026-04-19 10:07:01 +09:00
Taiki Endo
055f5df8c3 Release 2.75.18 2026-04-19 00:34:21 +00:00
Taiki Endo
eabf603493 Add note about unset 2026-04-19 09:06:36 +09:00
Taiki Endo
4637b48a5a Early handle inputs 2026-04-19 09:06:36 +09:00
Taiki Endo
7a6306ece2 Update vacuum@latest to 0.26.1 2026-04-18 21:24:30 +00:00
Taiki Endo
cb13f5ef52 Update mise manifest 2026-04-18 21:24:30 +00:00
Taiki Endo
18cc1a4fb7 Update wasm-tools@latest to 1.247.0 2026-04-18 15:28:55 +00:00
Taiki Endo
c7b05077fe Update mise@latest to 2026.4.16 2026-04-18 12:32:36 +00:00
Taiki Endo
0ef4e7650f Update espup@latest to 0.17.1 2026-04-18 12:32:36 +00:00
Taiki Endo
56ec35f1c0 Update trivy@latest to 0.70.0 2026-04-18 09:33:10 +00:00
Taiki Endo
6874db14a1 Update vacuum manifest 2026-04-17 20:43:02 +00:00
Taiki Endo
bcfb2f6795 ci: Update config 2026-04-18 05:32:04 +09:00
Taiki Endo
58e8625425 Release 2.75.17 2026-04-17 18:58:58 +00:00
Taiki Endo
b9e89d5f4e Update vacuum manifest 2026-04-17 18:57:04 +00:00
Taiki Endo
97204a3065 ci: Update config 2026-04-18 03:41:58 +09:00
Taiki Endo
2bfe66531d Update changelog 2026-04-18 03:31:45 +09:00
Taiki Endo
3f52e56403 Update wasm-tools manifest 2026-04-17 15:40:57 +00:00
Taiki Endo
2fd0ba806a Update tombi@latest to 0.9.18 2026-04-17 15:40:57 +00:00
Taiki Endo
711af1aa18 Update mise@latest to 2026.4.15 2026-04-17 15:40:57 +00:00
Taiki Endo
c127aaa0fa Update mise manifest 2026-04-17 12:38:20 +00:00
Taiki Endo
9479ae3764 Update espup manifest 2026-04-17 12:38:20 +00:00
Taiki Endo
6ac39c59e2 Update trivy manifest 2026-04-17 09:49:06 +00:00
Taiki Endo
6e3c7dd811 Update espup manifest 2026-04-17 09:49:06 +00:00
54 changed files with 3420 additions and 652 deletions

View File

@@ -2,6 +2,7 @@ almalinux
archlinux
binstall
callgrind
CDPATH
coreutils
covgate
cyclonedx
@@ -29,12 +30,10 @@ pluginconf
ppcle
prek
quickinstall
rclone
rdme
rootfs
sccache
SHASUMS
shortstat
sigstore
startswith
syft
@@ -43,7 +42,6 @@ udeps
USERPROFILE
wasmtime
watchexec
worktree
xbuild
xscale
xwin

View File

@@ -15,7 +15,7 @@ updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
interval: monthly
cooldown:
default-days: 14
commit-message:

View File

@@ -1,7 +1,6 @@
name: CI
permissions:
contents: read
permissions: {}
on:
pull_request:
@@ -33,20 +32,20 @@ concurrency:
jobs:
miri:
uses: taiki-e/github-actions/.github/workflows/miri.yml@dec917193d835117a7238865adf83273d9fcd27a # main
uses: taiki-e/github-actions/.github/workflows/miri.yml@2474ed4664eb8903c151603a9d841512c069f7f6 # main
with:
# NB: sync with test job's --exclude option
args: --exclude install-action-internal-codegen
msrv:
uses: taiki-e/github-actions/.github/workflows/msrv.yml@dec917193d835117a7238865adf83273d9fcd27a # main
uses: taiki-e/github-actions/.github/workflows/msrv.yml@2474ed4664eb8903c151603a9d841512c069f7f6 # main
test-manifest-schema:
uses: taiki-e/github-actions/.github/workflows/test.yml@dec917193d835117a7238865adf83273d9fcd27a # main
uses: taiki-e/github-actions/.github/workflows/test.yml@2474ed4664eb8903c151603a9d841512c069f7f6 # main
with:
# NB: sync with miri job's --exclude option
test-args: --exclude install-action-internal-codegen
no-std: false
tidy:
uses: taiki-e/github-actions/.github/workflows/tidy.yml@dec917193d835117a7238865adf83273d9fcd27a # main
uses: taiki-e/github-actions/.github/workflows/tidy.yml@2474ed4664eb8903c151603a9d841512c069f7f6 # main
permissions:
contents: write # for creating branch for pr
pull-requests: write # unused (used in `codegen-automerge: true` case)
@@ -118,26 +117,24 @@ jobs:
- uses: ./
with:
tool: ${{ steps.tool-list.outputs.tool }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Test all shells listed in 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
run: just --version && shfmt --version && protoc --version && rustc --version && cargo --version && rustup --version
shell: bash
- name: Test sh
run: just --version && shfmt --version && protoc --version
run: just --version && shfmt --version && protoc --version && rustc --version && cargo --version && rustup --version
shell: sh
if: startsWith(matrix.os, 'ubuntu') || startsWith(matrix.os, 'macos')
- name: Test pwsh
run: just --version; shfmt --version; protoc --version
run: just --version; shfmt --version; protoc --version; rustc --version; cargo --version; rustup --version
shell: pwsh
if: matrix.os != 'ubuntu-slim'
- name: Test powershell
run: just --version; shfmt --version; protoc --version
run: just --version; shfmt --version; protoc --version; rustc --version; cargo --version; rustup --version
shell: powershell
if: startsWith(matrix.os, 'windows')
- name: Test cmd
run: just --version & shfmt --version & protoc --version
run: just --version & shfmt --version & protoc --version & rustc --version & cargo --version & rustup --version
shell: cmd # zizmor: ignore[misfeature] used for compatibility testing
if: startsWith(matrix.os, 'windows')
# We use the version output to check the version of cargo-binstall, but they
@@ -151,7 +148,7 @@ jobs:
if: matrix.bash != 'cygwin' && matrix.os != 'windows-11-arm'
test-alias:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
timeout-minutes: 60
steps:
- uses: taiki-e/checkout-action@7d1e50e93dc4fb3bba58f85018fadf77898aee8b # v1.4.2
@@ -160,7 +157,7 @@ jobs:
- run: env
- uses: ./
with:
# NB: Update alias list in release.yml, case for aliases in main.sh,
# 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.
tool: |
nextest
@@ -168,8 +165,6 @@ jobs:
typos-cli
wasm-bindgen-cli
wasmtime-cli
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Test bash
run: cargo-nextest nextest --version && taplo --version
shell: bash
@@ -255,7 +250,7 @@ jobs:
- alpine:3.22 # musl 1.2.5
- alpine:3.23 # musl 1.2.5
# - openwrt/rootfs:x86-64-openwrt-24.10 # musl 1.2.5
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
timeout-minutes: 60
container: ${{ matrix.container }}
steps:
@@ -301,6 +296,10 @@ jobs:
env:
CONTAINER: ${{ matrix.container }}
if: startsWith(matrix.container, 'centos')
# gcc for rustc
- run: apk --no-cache add gcc
shell: sh
if: startsWith(matrix.container, 'alpine')
- uses: taiki-e/checkout-action@7d1e50e93dc4fb3bba58f85018fadf77898aee8b # v1.4.2
# cross attempts to install rust-src when Cargo.toml is available even if `cross --version`
- run: rm -- Cargo.toml
@@ -316,8 +315,6 @@ jobs:
- uses: ./
with:
tool: ${{ steps.tool-list.outputs.tool }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Test bash
run: just --version && shfmt --version
shell: bash

View File

@@ -1,7 +1,6 @@
name: Manifest
permissions:
contents: read
permissions: {}
on:
pull_request:
@@ -33,7 +32,7 @@ concurrency:
jobs:
manifest:
uses: taiki-e/github-actions/.github/workflows/gen.yml@dec917193d835117a7238865adf83273d9fcd27a # main
uses: taiki-e/github-actions/.github/workflows/gen.yml@2474ed4664eb8903c151603a9d841512c069f7f6 # main
permissions:
contents: write # for creating branch for pr
pull-requests: write # for gh pr review --approve
@@ -47,3 +46,4 @@ jobs:
automerge: true
install-rust: true
install-cosign: true
install-parse-changelog: true

View File

@@ -2,8 +2,7 @@ name: Release
# Adapted from https://github.com/taiki-e/github-actions/blob/HEAD/.github/workflows/action-release.yml.
permissions:
contents: read
permissions: {}
on:
workflow_dispatch:
@@ -26,417 +25,28 @@ on:
defaults:
run:
shell: bash --noprofile --norc -CeEuxo pipefail {0}
shell: bash --noprofile --norc -CeEuo pipefail {0}
concurrency:
group: ${{ github.workflow }}
cancel-in-progress: false
jobs:
prepare:
if: github.repository_owner == 'taiki-e' && inputs.target == 'install-action'
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: taiki-e/checkout-action@7d1e50e93dc4fb3bba58f85018fadf77898aee8b # v1.4.2
- uses: taiki-e/install-action@b8be7f5e140177087325943c4a8e169d01c59b3d # v2.75.3
with:
tool: parse-changelog
fallback: none
- id: check
run: |
set +x
IFS=$'\n\t'
trap -- 's=$?; printf >&2 "%s\n" "${0##*/}:${LINENO}: \`${BASH_COMMAND}\` exit with ${s}"; exit ${s}' ERR
retry() {
for i in {1..10}; do
if "$@"; then
return 0
else
sleep "${i}"
fi
done
"$@"
}
bail() {
printf '::error::%s\n' "$*"
exit 1
}
if { sed --help 2>&1 || true; } | grep -Eq -e '-i extension'; then
in_place=(-i '')
else
in_place=(-i)
fi
# shellcheck disable=SC2153
version="${VERSION}"
printf '%s\n' "version(input): ${version}"
# shellcheck disable=SC2153
tag_prefix="${TAG_PREFIX}"
printf '%s\n' "tag_prefix: ${tag_prefix}"
# shellcheck disable=SC2153
changelog="${CHANGELOG}"
printf '%s\n' "changelog: ${changelog}"
# Get the current date.
release_date=$(date -u '+%Y-%m-%d')
printf '%s\n' "release-date: ${release_date}"
printf '%s\n' "release-date=${release_date}" >>"${GITHUB_OUTPUT}"
# Get the current revision.
rev=$(git rev-parse HEAD)
printf '%s\n' "rev: ${rev}"
printf '%s\n' "rev=${rev}" >>"${GITHUB_OUTPUT}"
prev_version=$(parse-changelog --title-no-link "${changelog}" | cut -d' ' -f1)
# Determine the new version number and tag name.
case "${version}" in
major | minor | patch)
if [[ ! "${prev_version}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
bail "pre-release/build-metadata"
fi
major="${prev_version%%.*}"
minor_patch="${prev_version#*.}"
minor="${minor_patch%%.*}"
patch="${minor_patch#*.}"
case "${version}" in
major) version="$((major+1)).0.0" ;;
minor) version="${major}.$((minor+1)).0" ;;
patch) version="${major}.${minor}.$((patch+1))" ;;
esac
;;
*) version="${version#v}" ;;
esac
if [[ ! "${version}" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z\.-]+)?(\+[0-9A-Za-z\.-]+)?$ ]]; then
bail "invalid version format '${version}'"
fi
printf '%s\n' "version: ${version}"
printf '%s\n' "version=${version}" >>"${GITHUB_OUTPUT}"
tag="${tag_prefix}${version}"
printf '%s\n' "tag: ${tag}"
printf '%s\n' "tag=${tag}" >>"${GITHUB_OUTPUT}"
# Make sure the same release has not been created in the past.
if gh release view "${tag}" &>/dev/null; then
bail "tag '${tag}' has already been created and pushed"
fi
# Make sure that the release was created from an allowed branch.
if ! git branch | grep -Eq '\* '"${BRANCH}"'$'; then
bail "current branch is not '${BRANCH}'"
fi
changed_paths=()
retry git fetch origin --tags &>/dev/null
tags=$(git --no-pager tag | { grep -E "^${tag_prefix}[0-9]+" || true; })
if [[ -n "${tags}" ]]; then
printf 'has-tags=true\n' >>"${GITHUB_OUTPUT}"
# Make sure the same release does not exist in changelog.
if grep -Eq "^## \\[${version//./\\.}\\]" "${changelog}"; then
bail "release ${version} already exist in ${changelog}"
fi
if grep -Eq "^\\[${version//./\\.}\\]: " "${changelog}"; then
bail "link to ${version} already exist in ${changelog}"
fi
# Update changelog.
changed_paths+=("${changelog}")
remote_url=$(grep -E '^\[Unreleased\]: https://' "${changelog}" | sed -E 's/^\[Unreleased\]: //; s/\.\.\.HEAD$//')
prev_tag="${remote_url#*/compare/}"
remote_url="${remote_url%/compare/*}"
sed -E "${in_place[@]}" \
-e "s/^## \\[Unreleased\\]/## [Unreleased]\\n\\n## [${version}] - ${release_date}/" \
-e "s#^\[Unreleased\]: https://.*#[Unreleased]: ${remote_url}/compare/${tag}...HEAD\\n[${version}]: ${remote_url}/compare/${prev_tag}...${tag}#" "${changelog}"
if ! grep -Eq "^## \\[${version//./\\.}\\] - ${release_date}$" "${changelog}"; then
bail "failed to update ${changelog}"
fi
if ! grep -Eq "^\\[${version//./\\.}\\]: " "${changelog}"; then
bail "failed to update ${changelog}"
fi
else
# Make sure the release exists in changelog.
if ! grep -Eq "^## \\[${version//./\\.}\\] - ${release_date}$" "${changelog}"; then
bail "release ${version} does not exist in ${changelog} or has wrong release date"
fi
if ! grep -Eq "^\\[${version//./\\.}\\]: " "${changelog}"; then
bail "link to ${version} does not exist in ${changelog}"
fi
fi
# Make sure that a valid release note for this version exists.
# https://github.com/taiki-e/parse-changelog
changes=$(parse-changelog "${changelog}" "${version}")
if [[ -z "${changes}" ]]; then
bail "changelog for ${version} has no body"
fi
printf '============== CHANGELOG ==============\n'
printf '%s\n' "${changes}"
printf '=======================================\n'
if [[ -n "${tags}" ]]; then
git -c color.ui=always diff "${changed_paths[@]}"
git add "${changed_paths[@]}"
fi
# Make sure that there is no unintended change.
git add -N .
git -c color.ui=always diff --exit-code
(
set -x
git show HEAD --shortstat
)
env:
VERSION: ${{ inputs.version }}
TAG_PREFIX: v
CHANGELOG: CHANGELOG.md
BRANCH: main
outputs:
has-tags: ${{ steps.check.outputs.has-tags }}
release-date: ${{ steps.check.outputs.release-date }}
rev: ${{ steps.check.outputs.rev }}
tag: ${{ steps.check.outputs.tag }}
version: ${{ steps.check.outputs.version }}
release:
if: github.repository_owner == 'taiki-e' && inputs.target == 'install-action'
needs: prepare
runs-on: ubuntu-latest
timeout-minutes: 60
environment:
name: release
deployment: false
uses: taiki-e/github-actions/.github/workflows/action-release.yml@2474ed4664eb8903c151603a9d841512c069f7f6 # main
permissions:
contents: write # for taiki-e/create-gh-release-action
steps:
- uses: taiki-e/checkout-action@7d1e50e93dc4fb3bba58f85018fadf77898aee8b # v1.4.2
- uses: taiki-e/install-action@b8be7f5e140177087325943c4a8e169d01c59b3d # v2.75.3
secrets:
PUSH_TOKEN_APP_CLIENT_ID: ${{ secrets.PUSH_TOKEN_APP_CLIENT_ID }}
PUSH_TOKEN_APP_PRIVATE_KEY: ${{ secrets.PUSH_TOKEN_APP_PRIVATE_KEY }}
with:
tool: parse-changelog
fallback: none
- uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3.0.0
id: push-token
with:
app-id: ${{ secrets.PUSH_TOKEN_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_TOKEN_APP_PRIVATE_KEY }}
- name: Create and push release commit and tag
id: push
run: |
set +x
IFS=$'\n\t'
trap -- 's=$?; printf >&2 "%s\n" "${0##*/}:${LINENO}: \`${BASH_COMMAND}\` exit with ${s}"; exit ${s}' ERR
retry() {
for i in {1..10}; do
if "$@"; then
return 0
else
sleep "${i}"
fi
done
"$@"
}
bail() {
printf '::error::%s\n' "$*"
exit 1
}
if { sed --help 2>&1 || true; } | grep -Eq -e '-i extension'; then
in_place=(-i '')
else
in_place=(-i)
fi
git config user.name 'Taiki Endo'
git config user.email 'te316e89@gmail.com'
# shellcheck disable=SC2153
version="${VERSION}"
# shellcheck disable=SC2153
tag="${TAG}"
# shellcheck disable=SC2153
changelog="${CHANGELOG}"
# shellcheck disable=SC2153
release_date="${RELEASE_DATE}"
# Make sure the current revision is same as prepare step.
# --unshallow is necessary to successfully push the
# "releases/${major_version_tag}" branch in the subsequent step.
retry git fetch origin --unshallow &>/dev/null
rev=$(git rev-parse HEAD)
if [[ "${rev}" != "${PREPARE_REV}" ]]; then
bail "revision difference between prepare step"
fi
# Make sure the same release has not been created in the past.
if gh release view "${tag}" &>/dev/null; then
bail "tag '${tag}' has already been created and pushed"
fi
# Make sure that the release was created from an allowed branch.
if ! git branch | grep -Eq '\* '"${BRANCH}"'$'; then
bail "current branch is not '${BRANCH}'"
fi
changed_paths=()
if [[ "${HAS_TAGS}" == "true" ]]; then
# Update changelog.
changed_paths+=("${changelog}")
remote_url=$(grep -E '^\[Unreleased\]: https://' "${changelog}" | sed -E 's/^\[Unreleased\]: //; s/\.\.\.HEAD$//')
prev_tag="${remote_url#*/compare/}"
remote_url="${remote_url%/compare/*}"
sed -E "${in_place[@]}" \
-e "s/^## \\[Unreleased\\]/## [Unreleased]\\n\\n## [${version}] - ${release_date}/" \
-e "s#^\[Unreleased\]: https://.*#[Unreleased]: ${remote_url}/compare/${tag}...HEAD\\n[${version}]: ${remote_url}/compare/${prev_tag}...${tag}#" "${changelog}"
if ! grep -Eq "^## \\[${version//./\\.}\\] - ${release_date}$" "${changelog}"; then
bail "failed to update ${changelog}"
fi
if ! grep -Eq "^\\[${version//./\\.}\\]: " "${changelog}"; then
bail "failed to update ${changelog}"
fi
fi
changes=$(parse-changelog "${changelog}" "${version}")
printf '============== CHANGELOG ==============\n'
printf '%s\n' "${changes}"
printf '=======================================\n'
if [[ "${HAS_TAGS}" == "true" ]]; then
# Create a release commit.
(
set -x
git add "${changed_paths[@]}"
git commit -m "Release ${version}"
)
fi
major_version_tag="v${version%%.*}"
(
set -x
git tag "${tag}"
git branch "releases/${major_version_tag}"
git tag -f "${major_version_tag}"
)
refs=("refs/heads/${BRANCH}" "refs/tags/${tag}" "refs/heads/releases/${major_version_tag}" "+refs/tags/${major_version_tag}")
tools=()
for tool in tools/codegen/base/*.json; do
tool="${tool##*/}"
tools+=("${tool%.*}")
done
# Aliases.
# NB: Update case for aliases in main.sh, tool input option in test-alias job
# in .github/workflows/ci.yml, and match for alias for tools/codegen/src/tools-markdown.rs.
tools+=(
nextest
taplo-cli
typos-cli
wasm-bindgen-cli
wasmtime-cli
)
# Non-manifest-based tools.
tools+=(valgrind)
branches=()
for tool in "${tools[@]}"; do
(
set -x
git checkout -b "releases/${tool}"
sed -E "${in_place[@]}" action.yml \
-e "s/required: true/required: false/g" \
-e "s/# default: #publish:tool/default: ${tool}/g"
git add action.yml
git commit -m "${tool}"
git tag -f "${tool}"
git checkout refs/tags/"${tag}"
)
refs+=("+refs/heads/releases/${tool}" "+refs/tags/${tool}")
branches+=("releases/${tool}")
done
prev_credential_helper=$(git config get --local credential.helper || true)
if [[ -n "${prev_credential_helper}" ]]; then
printf 'credential helper is already set (%s)\n' "${prev_credential_helper}"
else
protocol="${GITHUB_SERVER_URL%%://*}"
hostname="${GITHUB_SERVER_URL#*://}"
(
set -x
git config --local credential.helper cache
)
git credential approve <<EOF
protocol=${protocol}
host=${hostname}
username=${GITHUB_ACTOR}
password=${PUSH_TOKEN}
EOF
# Remove credential helper config on exit.
trap -- '(set -x; git credential-cache exit; git config --local --unset credential.helper || true)' EXIT
fi
(
set -x
retry git push origin --atomic "${refs[@]}"
git branch -d "releases/${major_version_tag}"
git branch -D "${branches[@]}"
schema_workspace=/tmp/workspace
rm -rf -- "${schema_workspace}"
# Checkout manifest-schema branch
schema_version="$(cargo metadata --format-version=1 --no-deps | jq -r '.packages[] | select(.name == "install-action-manifest-schema") | .version')"
if [[ "${schema_version}" == "0."* ]]; then
schema_version="0.$(cut -d. -f2 <<<"${schema_version}")"
else
schema_version="$(cut -d. -f1 <<<"${schema_version}")"
fi
schema_branch="manifest-schema-${schema_version}"
git worktree add --force "${schema_workspace}"
(
cd -- "${schema_workspace}"
if git fetch origin "${schema_branch}"; then
git checkout "origin/${schema_branch}" -B "${schema_branch}"
elif ! git checkout "${schema_branch}"; then
# New branch with no history. Credit: https://stackoverflow.com/a/13969482
git checkout --orphan "${schema_branch}"
git rm -rf -- . || true
git commit -m 'Initial commit' --allow-empty
fi
)
# Copy over schema
cp -- ./manifests/* "${schema_workspace}"
(
cd -- "${schema_workspace}"
# Stage changes
git add .
# Detect changes, then commit and push if changes exist
if [[ "$(git status --porcelain=v1 | LC_ALL=C wc -l)" != "0" ]]; then
git commit -m 'Update manifest schema'
retry git push origin HEAD
fi
)
rm -rf -- "${schema_workspace}"
git worktree prune
# TODO: get branch in schema_workspace dir instead
git branch -D "${schema_branch}" "${schema_workspace##*/}"
)
env:
VERSION: ${{ needs.prepare.outputs.version }}
RELEASE_DATE: ${{ needs.prepare.outputs.release-date }}
HAS_TAGS: ${{ needs.prepare.outputs.has-tags }}
TAG: ${{ needs.prepare.outputs.tag }}
CHANGELOG: CHANGELOG.md
BRANCH: main
PREPARE_REV: ${{ needs.prepare.outputs.rev }}
# Note that if we use secrets.GITHUB_TOKEN, the pushed commit/tag cannot trigger other workflows.
PUSH_TOKEN: ${{ steps.push-token.outputs.token }}
- uses: taiki-e/create-gh-release-action@f67cf7b2dadd83d36b981e674a6b08063997ce68 # v1.10.0
with:
changelog: CHANGELOG.md
title: $version
branch: main
ref: refs/tags/${{ needs.prepare.outputs.tag }}
version: ${{ inputs.version }}
post-commit-script: tools/ci/release-post-commit.sh
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@dec917193d835117a7238865adf83273d9fcd27a # main
uses: taiki-e/github-actions/.github/workflows/rust-release.yml@2474ed4664eb8903c151603a9d841512c069f7f6 # main
permissions:
contents: write # for taiki-e/create-gh-release-action
id-token: write # for rust-lang/crates-io-auth-action
@@ -447,7 +57,8 @@ jobs:
with:
version: ${{ inputs.version }}
tag-prefix: install-action-manifest-schema-
crates: tools/manifest-schema
package: install-action-manifest-schema
changelog: tools/manifest-schema/CHANGELOG.md
title: $prefix $version
prefix: install-action-manifest-schema
commit-prefix: 'manifest-schema: '

View File

@@ -10,6 +10,185 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
## [Unreleased]
## [2.77.1] - 2026-05-05
- Update `tombi@latest` to 0.10.3.
- Update `martin@latest` to 1.8.2.
## [2.77.0] - 2026-05-05
- Support `rust`. ([#1779](https://github.com/taiki-e/install-action/pull/1779))
This installs rust using rustup.
If rustup is not yet installed, this action downloads [rustup-init for the current platform](https://rust-lang.github.io/rustup/installation/other.html#manual-installation) using HTTPS with tlsv1.2+, verifies SHA256 checksum, and then installs rustup using it.
This also supports installing additional components at the same time by `+<additional>` syntax:
```yaml
- uses: taiki-e/install-action@v2
with:
# Install rust stable with rustfmt component and wasm32-wasip1 target.
tool: rust+rustfmt+wasm32-wasip1
# When installing another rust version:
# tool: rust@nightly + rustfmt + wasm32-wasip1
```
- Fix issue where x86_64 binary will be installed on AArch64 Windows even when AArch64 Windows binary available.
- Update `mise@latest` to 2026.5.0.
- Diagnostic improvements.
## [2.76.0] - 2026-05-04
- Support `mdbook-d2`. ([#1737](https://github.com/taiki-e/install-action/pull/1737), thanks @nhu)
- Support `cargo-apple-runner`. ([#1731](https://github.com/taiki-e/install-action/pull/1731), thanks @madsmtm)
- Support `cargo-binstall` on riscv64 Linux.
- Update `cargo-deb@latest` to 3.7.0.
- Update `tombi@latest` to 0.10.2.
## [2.75.30] - 2026-05-03
- Support `cargo-spellcheck` on AArch64 Linux/Windows.
- Update `cargo-spellcheck@latest` to 0.15.7.
- Update `biome@latest` to 2.4.14.
## [2.75.29] - 2026-05-02
- Update `syft@latest` to 1.44.0.
- Update `rclone@latest` to 1.74.0.
- Update `osv-scanner@latest` to 2.3.6.
## [2.75.28] - 2026-05-01
- Update `wasmtime@latest` to 44.0.1.
- Update `typos@latest` to 1.46.0.
- Update `tombi@latest` to 0.10.1.
- Update `sccache@latest` to 0.15.0.
- Update `mise@latest` to 2026.4.28.
- Update `gungraun-runner@latest` to 0.18.2.
- Update `cyclonedx@latest` to 0.31.0.
## [2.75.27] - 2026-04-30
- Update `cargo-udeps@latest` to 0.1.61.
- Update `wasm-tools@latest` to 1.248.0.
- Update `cargo-deb@latest` to 3.6.4.
## [2.75.26] - 2026-04-29
- Update `wasm-bindgen@latest` to 0.2.120.
- Update `mise@latest` to 2026.4.25.
- Update `martin@latest` to 1.8.0.
- Update `vacuum@latest` to 0.26.4.
## [2.75.25] - 2026-04-28
- Update `uv@latest` to 0.11.8.
- Update `typos@latest` to 1.45.2.
- Update `tombi@latest` to 0.9.25.
- Update `mise@latest` to 2026.4.24.
## [2.75.24] - 2026-04-28
- Update `prek@latest` to 0.3.11.
- Update `mise@latest` to 2026.4.23.
- Update `vacuum@latest` to 0.26.3.
## [2.75.23] - 2026-04-27
- Update `vacuum@latest` to 0.26.2.
- Update `tombi@latest` to 0.9.24.
- Update `mise@latest` to 2026.4.22.
- Update `martin@latest` to 1.7.0.
- Update `git-cliff@latest` to 2.13.1.
- Update `cargo-tarpaulin@latest` to 0.35.4.
- Update `cargo-sort@latest` to 2.1.4.
## [2.75.22] - 2026-04-25
- Update `tombi@latest` to 0.9.22.
- Update `biome@latest` to 2.4.13.
## [2.75.21] - 2026-04-24
- Update `mise@latest` to 2026.4.19.
- Update `tombi@latest` to 0.9.21.
- Update `syft@latest` to 1.43.0.
## [2.75.20] - 2026-04-23
- Update `prek@latest` to 0.3.10.
- Update `cargo-xwin@latest` to 0.22.0.
## [2.75.19] - 2026-04-21
- Update `wasmtime@latest` to 44.0.0.
- Update `tombi@latest` to 0.9.20.
- Update `martin@latest` to 1.6.0.
- Update `just@latest` to 1.50.0.
- Update `mise@latest` to 2026.4.18.
- Update `rclone@latest` to 1.73.5.
## [2.75.18] - 2026-04-19
- Update `vacuum@latest` to 0.26.1.
- Update `wasm-tools@latest` to 1.247.0.
- Update `mise@latest` to 2026.4.16.
- Update `espup@latest` to 0.17.1.
- Update `trivy@latest` to 0.70.0.
## [2.75.17] - 2026-04-17
- Update `tombi@latest` to 0.9.18.
- Update `mise@latest` to 2026.4.15.
## [2.75.16] - 2026-04-17
- Update `uv@latest` to 0.11.7.
@@ -32,7 +211,7 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
- Implement potential workaround for [windows-11-arm runner bug](https://github.com/actions/partner-runner-images/issues/169) which sometimes causes installation failure.
The issue where this bug affected the startup of bash was addressed in 2.71.2, but we received a report that the same problem seems to occur when starting other commands as well.
The issue where this bug affected the startup of bash was addressed in 2.71.2, but we received a report that the [same problem seems to occur when starting other commands as well](https://github.com/taiki-e/install-action/pull/1657#issuecomment-4252717651).
- Update `cargo-deny@latest` to 0.19.2.
@@ -6287,7 +6466,24 @@ Note: This release is considered a breaking change because installing on version
Initial release
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.75.16...HEAD
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.77.1...HEAD
[2.77.1]: https://github.com/taiki-e/install-action/compare/v2.77.0...v2.77.1
[2.77.0]: https://github.com/taiki-e/install-action/compare/v2.76.0...v2.77.0
[2.76.0]: https://github.com/taiki-e/install-action/compare/v2.75.30...v2.76.0
[2.75.30]: https://github.com/taiki-e/install-action/compare/v2.75.29...v2.75.30
[2.75.29]: https://github.com/taiki-e/install-action/compare/v2.75.28...v2.75.29
[2.75.28]: https://github.com/taiki-e/install-action/compare/v2.75.27...v2.75.28
[2.75.27]: https://github.com/taiki-e/install-action/compare/v2.75.26...v2.75.27
[2.75.26]: https://github.com/taiki-e/install-action/compare/v2.75.25...v2.75.26
[2.75.25]: https://github.com/taiki-e/install-action/compare/v2.75.24...v2.75.25
[2.75.24]: https://github.com/taiki-e/install-action/compare/v2.75.23...v2.75.24
[2.75.23]: https://github.com/taiki-e/install-action/compare/v2.75.22...v2.75.23
[2.75.22]: https://github.com/taiki-e/install-action/compare/v2.75.21...v2.75.22
[2.75.21]: https://github.com/taiki-e/install-action/compare/v2.75.20...v2.75.21
[2.75.20]: https://github.com/taiki-e/install-action/compare/v2.75.19...v2.75.20
[2.75.19]: https://github.com/taiki-e/install-action/compare/v2.75.18...v2.75.19
[2.75.18]: https://github.com/taiki-e/install-action/compare/v2.75.17...v2.75.18
[2.75.17]: https://github.com/taiki-e/install-action/compare/v2.75.16...v2.75.17
[2.75.16]: https://github.com/taiki-e/install-action/compare/v2.75.15...v2.75.16
[2.75.15]: https://github.com/taiki-e/install-action/compare/v2.75.14...v2.75.15
[2.75.14]: https://github.com/taiki-e/install-action/compare/v2.75.13...v2.75.14

View File

@@ -58,6 +58,17 @@ You can also omit patch version.
tool: cargo-hack@0.5
```
For some tools, we support installing additional components at the same time by `+<additional>` syntax:
```yaml
- uses: taiki-e/install-action@v2
with:
# Install rust stable with rustfmt component and wasm32-wasip1 target.
tool: rust+rustfmt+wasm32-wasip1
# When installing another rust version:
# tool: rust@nightly + rustfmt + wasm32-wasip1
```
To install multiple tools:
```yaml
@@ -73,6 +84,16 @@ Or:
- uses: taiki-e/install-action@cargo-minimal-versions
```
Tool names can also be separated with whitespaces (line, space, tab).
```yaml
- uses: taiki-e/install-action@v2
with:
tool: |
cargo-hack
cargo-minimal-versions
```
## Supported tools
See [TOOLS.md](TOOLS.md) for the list of tools that are installed from manifests managed in this action.
@@ -126,7 +147,11 @@ When installing with `tool: <tool_name>` or `tool: <tool_name>@<omitted_version>
<!-- omit in toc -->
### Security on other installation methods
See the linked documentation for information on security when installed using [snap](https://snapcraft.io/docs) or [cargo-binstall](https://github.com/cargo-bins/cargo-binstall#faq).
See the linked documentation for information on security when installed using [rustup](https://rust-lang.github.io/rustup/security.html), [snap](https://snapcraft.io/docs), or [cargo-binstall](https://github.com/cargo-bins/cargo-binstall#faq).
If the installation method is rustup and rustup is not yet installed, this action downloads [rustup-init for the current platform](https://rust-lang.github.io/rustup/installation/other.html#manual-installation) using HTTPS with tlsv1.2+, verifies SHA256 checksum, and then installs rustup using it.
If the installation method is cargo-binstall and cargo-binstall is not yet installed or outdated, this action installs cargo-binstall [from GitHub Releases](#security-on-installation-from-github-releases).
See the [Supported tools section](#supported-tools) for how to ensure that fallback is not used.

View File

@@ -16,9 +16,10 @@ See the [Supported tools section in README.md](README.md#supported-tools) for ho
| ---- | -------------------------------- | ------------------------------- | ------------------ | ------- |
| [**auto-doc**](https://github.com/tj-actions/auto-doc) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/tj-actions/auto-doc/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/tj-actions/auto-doc/blob/main/LICENSE) |
| [**biome**](https://biomejs.dev) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/biomejs/biome/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/biomejs/biome/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/biomejs/biome/blob/main/LICENSE-MIT) |
| [**cargo-audit**](https://github.com/rustsec/rustsec/tree/HEAD/cargo-audit) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rustsec/rustsec/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/rustsec/rustsec/blob/HEAD/cargo-audit/LICENSE-APACHE) OR [MIT](https://github.com/rustsec/rustsec/blob/HEAD/cargo-audit/LICENSE-MIT) |
| [**cargo-auditable**](https://github.com/rust-secure-code/cargo-auditable) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rust-secure-code/cargo-auditable/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/rust-secure-code/cargo-auditable/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/rust-secure-code/cargo-auditable/blob/HEAD/LICENSE-MIT) |
| [**cargo-binstall**](https://github.com/cargo-bins/cargo-binstall) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/cargo-bins/cargo-binstall/releases) | Linux, macOS, Windows | [GPL-3.0](https://github.com/cargo-bins/cargo-binstall/blob/HEAD/crates/bin/LICENSE) |
| [**cargo-apple-runner**](https://github.com/madsmtm/cargo-apple-runner) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/madsmtm/cargo-apple-runner/releases) | macOS | [Zlib](https://github.com/madsmtm/cargo-apple-runner/blob/main/LICENSE-ZLIB.txt) OR [Apache-2.0](https://github.com/madsmtm/cargo-apple-runner/blob/main/LICENSE-APACHE.txt) OR [MIT](https://github.com/madsmtm/cargo-apple-runner/blob/main/LICENSE-MIT.txt) |
| [**cargo-audit**](https://github.com/rustsec/rustsec/tree/HEAD/cargo-audit) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rustsec/rustsec/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/rustsec/rustsec/blob/main/cargo-audit/LICENSE-APACHE) OR [MIT](https://github.com/rustsec/rustsec/blob/main/cargo-audit/LICENSE-MIT) |
| [**cargo-auditable**](https://github.com/rust-secure-code/cargo-auditable) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rust-secure-code/cargo-auditable/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/rust-secure-code/cargo-auditable/blob/master/LICENSE-APACHE) OR [MIT](https://github.com/rust-secure-code/cargo-auditable/blob/master/LICENSE-MIT) |
| [**cargo-binstall**](https://github.com/cargo-bins/cargo-binstall) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/cargo-bins/cargo-binstall/releases) | Linux, macOS, Windows | [GPL-3.0](https://github.com/cargo-bins/cargo-binstall/blob/main/crates/bin/LICENSE) |
| [**cargo-careful**](https://github.com/RalfJung/cargo-careful) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/RalfJung/cargo-careful/releases) | Linux, macOS, Windows | [MIT](https://github.com/RalfJung/cargo-careful/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/RalfJung/cargo-careful/blob/master/LICENSE-APACHE) |
| [**cargo-cyclonedx**](https://github.com/CycloneDX/cyclonedx-rust-cargo) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/CycloneDX/cyclonedx-rust-cargo/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/CycloneDX/cyclonedx-rust-cargo/blob/main/LICENSE) |
| [**cargo-deadlinks**](https://github.com/deadlinks/cargo-deadlinks) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/deadlinks/cargo-deadlinks/releases) | Linux, macOS, Windows | [MIT](https://github.com/deadlinks/cargo-deadlinks/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/deadlinks/cargo-deadlinks/blob/master/LICENSE-APACHE) |
@@ -42,7 +43,7 @@ See the [Supported tools section in README.md](README.md#supported-tools) for ho
| [**cargo-sort**](https://github.com/DevinR528/cargo-sort) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/DevinR528/cargo-sort/releases) | Linux, macOS, Windows | [Apache-2.0 OR MIT](https://github.com/DevinR528/cargo-sort/blob/v1.0.9/Cargo.toml#L5) |
| [**cargo-spellcheck**](https://github.com/drahnr/cargo-spellcheck) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/drahnr/cargo-spellcheck/releases) | Linux, Windows | [LGPLv2.1](https://github.com/drahnr/cargo-spellcheck/blob/master/LICENSE-LGPL) |
| [**cargo-tarpaulin**](https://github.com/xd009642/tarpaulin) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/xd009642/tarpaulin/releases) | Linux, macOS, Windows | [MIT](https://github.com/xd009642/tarpaulin/blob/develop/LICENSE-MIT) OR [Apache-2.0](https://github.com/xd009642/tarpaulin/blob/develop/LICENSE-APACHE) |
| [**cargo-udeps**](https://github.com/est31/cargo-udeps) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/est31/cargo-udeps/releases) | Linux, macOS, Windows | [Apache-2.0 OR MIT](https://github.com/est31/cargo-udeps/blob/HEAD/LICENSE) |
| [**cargo-udeps**](https://github.com/est31/cargo-udeps) | `$CARGO_HOME/bin` | [GitHub Releases](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 Releases](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) |
| [**cargo-xwin**](https://github.com/rust-cross/cargo-xwin) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rust-cross/cargo-xwin/releases) | Linux, macOS, Windows | [MIT](https://github.com/rust-cross/cargo-xwin/blob/main/LICENSE) |
| [**cargo-zigbuild**](https://github.com/rust-cross/cargo-zigbuild) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rust-cross/cargo-zigbuild/releases) | Linux, macOS, Windows | [MIT](https://github.com/rust-cross/cargo-zigbuild/blob/main/LICENSE) |
@@ -57,7 +58,7 @@ See the [Supported tools section in README.md](README.md#supported-tools) for ho
| [**editorconfig-checker**](https://github.com/editorconfig-checker/editorconfig-checker) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/editorconfig-checker/editorconfig-checker/releases) | Linux, macOS, Windows | [MIT](https://github.com/editorconfig-checker/editorconfig-checker/blob/main/LICENSE) |
| [**espup**](https://github.com/esp-rs/espup) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/esp-rs/espup/releases) | Linux, macOS, Windows | [MIT](https://github.com/esp-rs/espup/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/esp-rs/espup/blob/main/LICENSE-APACHE) |
| [**git-cliff**](https://github.com/orhun/git-cliff) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/orhun/git-cliff/releases) | Linux, macOS, Windows | [MIT](https://github.com/orhun/git-cliff/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/orhun/git-cliff/blob/main/LICENSE-APACHE) |
| [**grcov**](https://github.com/mozilla/grcov) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/mozilla/grcov/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/mozilla/grcov/blob/HEAD/LICENSE-MPL-2.0) |
| [**grcov**](https://github.com/mozilla/grcov) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/mozilla/grcov/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/mozilla/grcov/blob/master/LICENSE-MPL-2.0) |
| [**gungraun-runner**](https://gungraun.github.io/gungraun/) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/gungraun/gungraun/releases) | Linux | [Apache-2.0](https://github.com/gungraun/gungraun/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/gungraun/gungraun/blob/main/LICENSE-MIT) |
| [**hyperfine**](https://github.com/sharkdp/hyperfine) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/sharkdp/hyperfine/releases) | Linux, macOS, Windows | [MIT](https://github.com/sharkdp/hyperfine/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/sharkdp/hyperfine/blob/master/LICENSE-APACHE) |
| [**iai-callgrind-runner**](https://gungraun.github.io/gungraun/) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/iai-callgrind/iai-callgrind/releases) | Linux | [Apache-2.0](https://github.com/iai-callgrind/iai-callgrind/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/iai-callgrind/iai-callgrind/blob/main/LICENSE-MIT) |
@@ -67,6 +68,7 @@ See the [Supported tools section in README.md](README.md#supported-tools) for ho
| [**martin**](https://maplibre.org/martin/) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/maplibre/martin/releases) | Linux, macOS | [MIT](https://github.com/maplibre/martin/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/maplibre/martin/blob/main/LICENSE-APACHE) |
| [**mdbook**](https://github.com/rust-lang/mdBook) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rust-lang/mdBook/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/rust-lang/mdBook/blob/master/LICENSE) |
| [**mdbook-alerts**](https://github.com/lambdalisue/rs-mdbook-alerts) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/lambdalisue/rs-mdbook-alerts/releases) | Linux, macOS, Windows | [MIT](https://github.com/lambdalisue/rs-mdbook-alerts/blob/main/LICENSE) |
| [**mdbook-d2**](https://github.com/danieleades/mdbook-d2) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/danieleades/mdbook-d2/releases) | Linux, macOS, Windows | [MIT](https://github.com/danieleades/mdbook-d2/blob/main/LICENSE) |
| [**mdbook-linkcheck**](https://github.com/Michael-F-Bryan/mdbook-linkcheck) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/Michael-F-Bryan/mdbook-linkcheck/releases) | Linux, macOS, Windows | [MIT](https://github.com/Michael-F-Bryan/mdbook-linkcheck/blob/master/LICENSE) |
| [**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) |
@@ -75,9 +77,10 @@ See the [Supported tools section in README.md](README.md#supported-tools) for ho
| [**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) |
| [**protoc**](https://github.com/protocolbuffers/protobuf) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/protocolbuffers/protobuf/releases) | Linux, macOS, Windows | [BSD-3-Clause](https://github.com/protocolbuffers/protobuf/blob/HEAD/LICENSE) |
| [**protoc**](https://github.com/protocolbuffers/protobuf) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/protocolbuffers/protobuf/releases) | Linux, macOS, Windows | [BSD-3-Clause](https://github.com/protocolbuffers/protobuf/blob/main/LICENSE) |
| [**rclone**](https://github.com/rclone/rclone) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/rclone/rclone/releases) | Linux, macOS, Windows | [MIT](https://github.com/rclone/rclone/blob/master/COPYING) |
| [**release-plz**](https://release-plz.dev/) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/release-plz/release-plz/releases) | Linux, macOS, Windows | [MIT](https://github.com/release-plz/release-plz/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/release-plz/release-plz/blob/main/LICENSE-APACHE) |
| [**rust**](https://rust-lang.org) | `$CARGO_HOME/bin` | rustup | Linux, macOS, Windows | [Apache-2.0 OR MIT](https://github.com/rust-lang/rust/blob/main/COPYRIGHT) |
| [**sccache**](https://github.com/mozilla/sccache) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/mozilla/sccache/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/mozilla/sccache/blob/main/LICENSE) |
| [**shellcheck**](https://www.shellcheck.net) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/koalaman/shellcheck/releases) | Linux, macOS, Windows | [GPL-3.0](https://github.com/koalaman/shellcheck/blob/master/LICENSE) |
| [**shfmt**](https://github.com/mvdan/sh) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/mvdan/sh/releases) | Linux, macOS, Windows | [BSD-3-Clause](https://github.com/mvdan/sh/blob/master/LICENSE) |

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: cargo-lambda
checksum:
description: Whether to enable checksums (strongly discouraged to disable)
required: false
@@ -22,7 +22,15 @@ runs:
using: composite
steps:
- run: |
set -eu
bail() {
printf '::error::install-action: %s\n' "$*"
exit 1
}
# If /bin/sh is dash, environment variable containing % is not imported, but is fine
# because it also means that it will not be exposed to subprocess.
if /usr/bin/env | grep -Eq '^BASH_FUNC_'; then
bail 'bash function injection via BASH_FUNC_ environment variable is not allowed for security reasons'
fi
if ! command -v bash >/dev/null; then
if grep -Eq '^ID=alpine' /etc/os-release; then
printf '::group::Install packages required for install-action (bash)\n'
@@ -36,12 +44,11 @@ runs:
fi
printf '::endgroup::\n'
else
printf '::error::install-action requires bash\n'
exit 1
bail 'this action requires bash'
fi
fi
bash --noprofile --norc "${GITHUB_ACTION_PATH:?}/main.sh"
shell: sh
shell: /usr/bin/env -u ENV -u BASH_ENV -u CDPATH -u SHELLOPTS -u BASHOPTS /bin/sh -eu {0} # zizmor: ignore[misfeature] false positive
env:
# NB: Sync with Windows case.
INPUT_TOOL: ${{ inputs.tool }}
@@ -49,11 +56,17 @@ runs:
INPUT_FALLBACK: ${{ inputs.fallback }}
DEFAULT_GITHUB_TOKEN: ${{ inputs.fallback == 'cargo-binstall' && github.token || '' }}
ACTION_USER_AGENT: ${{ github.action_repository }} (${{ github.action_ref }})
RUNNER_OS: ${{ runner.os }}
RUNNER_ARCH: ${{ runner.arch }}
if: runner.os != 'Windows'
# Use pwsh and retry on bash startup failure to work around windows-11-arm runner bug:
# https://github.com/actions/partner-runner-images/issues/169
- run: |
Set-StrictMode -Version Latest
$remove_env = @('ENV','BASH_ENV','CDPATH','SHELLOPTS','BASHOPTS','BASH_FUNC_*')
foreach ($name in $remove_env) {
if (Test-Path "Env:$name") { Remove-Item "Env:\$name" }
}
for ($i=1; $i -le 10; $i++) {
$prev_err_action = $ErrorActionPreference
$ErrorActionPreference = "Continue"
@@ -66,10 +79,10 @@ runs:
exit $code
}
if ($i -lt 10) {
Write-Output "::warning::installation failed due to bash startup failure (<https://github.com/actions/partner-runner-images/issues/169>); retrying..."
Write-Output "::warning::install-action: installation failed due to bash startup failure (<https://github.com/actions/partner-runner-images/issues/169>); retrying..."
}
}
Write-Output "::error::installation failed due to bash startup failure (<https://github.com/actions/partner-runner-images/issues/169>); this maybe resolved by re-running job"
Write-Output "::error::install-action: installation failed due to bash startup failure (<https://github.com/actions/partner-runner-images/issues/169>); this maybe resolved by re-running job"
exit 1
shell: pwsh
env:
@@ -79,4 +92,6 @@ runs:
INPUT_FALLBACK: ${{ inputs.fallback }}
DEFAULT_GITHUB_TOKEN: ${{ inputs.fallback == 'cargo-binstall' && github.token || '' }}
ACTION_USER_AGENT: ${{ github.action_repository }} (${{ github.action_ref }})
RUNNER_OS: ${{ runner.os }}
RUNNER_ARCH: ${{ runner.arch }}
if: runner.os == 'Windows'

309
main.sh
View File

@@ -9,6 +9,14 @@ rx() {
"$@"
)
}
g() {
IFS=' '
local cmd="$*"
IFS=$'\n\t'
printf '::group::%s\n' "${cmd#retry }"
"$@"
printf '::endgroup::\n'
}
retry() {
for i in {1..10}; do
if "$@"; then
@@ -20,11 +28,11 @@ retry() {
"$@"
}
bail() {
printf '::error::%s\n' "$*"
printf '::error::install-action: %s\n' "$*"
exit 1
}
warn() {
printf '::warning::%s\n' "$*"
printf '::warning::install-action: %s\n' "$*"
}
info() {
printf >&2 'info: %s\n' "$*"
@@ -35,11 +43,11 @@ normalize_comma_or_space_separated() {
if [[ "${list}" == *","* ]]; then
# If a comma is contained, consider it is a comma-separated list.
# Drop leading and trailing whitespaces in each element.
sed -E 's/ *, */,/g; s/^.//; s/,,$/,/' <<<",${list},"
sed -E 's/ *\+ */+/g; s/ *, */,/g; s/^.//; s/,,$/,/' <<<",${list},"
else
# Otherwise, consider it is a whitespace-separated list.
# Convert whitespace characters into comma.
sed -E 's/ +/,/g; s/^.//' <<<" ${list} "
sed -E 's/ *\+ */+/g; s/ +/,/g; s/^.//' <<<" ${list} "
fi
}
_sudo() {
@@ -374,7 +382,7 @@ install_cargo_binstall() {
info "cargo-binstall already installed at ${cargo_bin}/cargo-binstall${exe}"
install_binstall=''
else
info "cargo-binstall already installed at ${cargo_bin}/cargo-binstall${exe}, but is not compatible version with install-action, upgrading"
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}"
fi
fi
@@ -448,15 +456,72 @@ init_install_action_bin_dir() {
}
canonicalize_windows_path() {
case "${host_os}" in
windows) sed -E 's/^\/cygdrive\//\//; s/^\/c\//C:\\/; s/\//\\/g' <<<"$1" ;;
windows)
local t="$1"
if [[ "${t}" == '/cygdrive/'* ]]; then
t="${t#/cygdrive}"
fi
if [[ "${t}" == '/c/'* ]]; then
t="${t/\/c\//C:\\}"
fi
printf '%s\n' "${t//\//\\}"
;;
*) printf '%s\n' "$1" ;;
esac
}
# Refs: https://github.com/rust-lang/rustup/blob/HEAD/rustup-init.sh
if [[ $# -gt 0 ]]; then
bail "invalid argument '$1'"
fi
# Inputs
tool="${INPUT_TOOL:-}"
tools=()
if [[ -n "${tool}" ]]; then
while read -rd,; do
tools+=("${REPLY}")
done < <(normalize_comma_or_space_separated "${tool}")
fi
if [[ ${#tools[@]} -eq 0 ]]; then
warn "no tool specified; this could be caused by a dependabot bug where @<tool_name> tags on this action are replaced by @<version> tags"
# Exit with 0 for backward compatibility.
# TODO: We want to reject it in the next major release.
exit 0
fi
enable_checksum="${INPUT_CHECKSUM:-}"
case "${enable_checksum}" in
true) ;;
false)
enable_checksum=''
warn "checksums have been disabled by 'checksum' input option; this is strongly discouraged for security reasons"
;;
*) bail "'checksum' input option must be 'true' or 'false': '${enable_checksum}'" ;;
esac
fallback="${INPUT_FALLBACK:-}"
case "${fallback}" in
none | cargo-binstall | cargo-install) ;;
*) bail "'fallback' input option must be 'none', 'cargo-binstall', or 'cargo-install': '${fallback}'" ;;
esac
# Unlike gh command, cargo-binstall reads GITHUB_TOKEN first via cli parser, and then reads GH_TOKEN.
# https://github.com/cargo-bins/cargo-binstall/blob/v1.17.9/crates/bin/src/args.rs#L704
token="${GITHUB_TOKEN:-"${GH_TOKEN:-"${DEFAULT_GITHUB_TOKEN:-}"}"}"
# This prevents tokens from being exposed to subprocesses via environment variables.
# Since the tokens remain in memory, setting `fallback: none` (which prevents the tokens from being
# set in the first place) remains the best practice from a security standpoint, as readme says.
# Note that this does not prevent token leaks via reading `/proc/*/environ` on Linux or
# via `ps -Eww` on macOS. It only reduces the risk of leaks.
unset GITHUB_TOKEN GH_TOKEN DEFAULT_GITHUB_TOKEN
# Refs:
# - https://github.com/rust-lang/rustup/blob/HEAD/rustup-init.sh
# - https://docs.github.com/en/actions/reference/workflows-and-actions/contexts#runner-context
# NB: Sync with tools/ci/tool-list.sh.
base_distro=''
exe=''
case "$(uname -s)" in
case "${RUNNER_OS}" in
Linux)
host_os=linux
ldd_version=$(ldd --version 2>&1 || true)
@@ -506,16 +571,15 @@ case "$(uname -s)" in
;;
esac
;;
Darwin) host_os=macos ;;
MINGW* | MSYS* | CYGWIN* | Windows_NT)
macOS) host_os=macos ;;
Windows)
host_os=windows
exe=.exe
;;
*) bail "unrecognized OS type '$(uname -s)'" ;;
*) bail "unrecognized runner.os '${RUNNER_OS}'" ;;
esac
# NB: Sync with tools/ci/tool-list.sh.
case "$(uname -m)" in
aarch64 | arm64) host_arch=aarch64 ;;
case "${RUNNER_ARCH}" in
X64) host_arch=x86_64 ;;
# Ignore 32-bit Arm for now, as we need to consider the version and whether hard-float is supported.
# https://github.com/rust-lang/rustup/pull/593
# https://github.com/cross-rs/cross/pull/1018
@@ -524,21 +588,32 @@ case "$(uname -m)" in
# Does it seem only armv7l+ is supported?
# https://github.com/actions/runner/blob/v2.321.0/src/Misc/externals.sh#L178
# https://github.com/actions/runner/issues/688
xscale | arm | armv*l) bail "32-bit Arm runner is not supported yet by this action; if you need support for this platform, please submit an issue at <https://github.com/taiki-e/install-action>" ;;
ARM) bail "32-bit Arm runner is currently not supported; if you need support for this platform, please submit an issue at <https://github.com/taiki-e/install-action>" ;;
X86) bail "32-bit x86 runner is currently not supported; if you need support for this platform, please submit an issue at <https://github.com/taiki-e/install-action>" ;;
ARM64) host_arch=aarch64 ;;
PPC64LE) host_arch=powerpc64le ;;
RISCV64) host_arch=riscv64 ;;
S390X) host_arch=s390x ;;
*)
info "unrecognized runner.arch '${RUNNER_ARCH}'; fallback to uname -m"
case "$(uname -m)" in
aarch64 | arm64) host_arch=aarch64 ;;
xscale | arm | armv*l) bail "32-bit Arm runner is currently not supported; if you need support for this platform, please submit an issue at <https://github.com/taiki-e/install-action>" ;;
ppc64le) host_arch=powerpc64le ;;
riscv64) host_arch=riscv64 ;;
s390x) host_arch=s390x ;;
# Very few tools provide prebuilt binaries for these.
# TODO: fallback to `cargo install`? (binstall fallback is not good idea here as cargo-binstall doesn't provide prebuilt binaries for these.)
loongarch64 | mips | mips64 | ppc | ppc64 | sun4v) bail "$(uname -m) runner is not supported yet by this action; if you need support for this platform, please submit an issue at <https://github.com/taiki-e/install-action>" ;;
loongarch64 | mips | mips64 | ppc | ppc64 | sun4v) bail "$(uname -m) runner is not supported yet; please submit an issue at <https://github.com/taiki-e/install-action>" ;;
# GitHub Actions Runner supports x86_64/AArch64/Arm Linux and x86_64/AArch64 Windows/macOS.
# https://github.com/actions/runner/blob/v2.332.0/.github/workflows/build.yml#L24
# https://docs.github.com/en/actions/reference/runners/self-hosted-runners#supported-processor-architectures
# And IBM provides runners for powerpc64le/s390x Linux.
# https://github.com/IBM/actionspz
# So we can assume x86_64 unless it has a known non-x86_64 uname -m result.
# TODO: uname -m on windows-11-arm returns "x86_64"
*) host_arch=x86_64 ;;
esac
;;
esac
info "host platform: ${host_arch}_${host_os}"
@@ -571,7 +646,7 @@ cargo_path=$(type -P cargo || true)
if [[ "${host_os}" == "windows" ]]; then
mkdir -p -- "${install_action_dir}"
# See action.yml.
touch -- "${install_action_dir}"/init
printf '' >|"${install_action_dir}"/init
if [[ -n "${cargo_path}" ]]; then
info "cargo is located at ${cargo_path}"
cargo_bin="${cargo_path%/*}"
@@ -591,52 +666,9 @@ fi
export CARGO_NET_RETRY=10
export RUSTUP_MAX_RETRIES=10
if [[ $# -gt 0 ]]; then
bail "invalid argument '$1'"
fi
export DEBIAN_FRONTEND=noninteractive
manifest_dir="${GITHUB_ACTION_PATH}/manifests"
# Inputs
tool="${INPUT_TOOL:-}"
tools=()
if [[ -n "${tool}" ]]; then
while read -rd,; do
tools+=("${REPLY}")
done < <(normalize_comma_or_space_separated "${tool}")
fi
if [[ ${#tools[@]} -eq 0 ]]; then
warn "no tool specified; this could be caused by a dependabot bug where @<tool_name> tags on this action are replaced by @<version> tags"
# Exit with 0 for backward compatibility.
# TODO: We want to reject it in the next major release.
exit 0
fi
enable_checksum="${INPUT_CHECKSUM:-}"
case "${enable_checksum}" in
true) ;;
false)
enable_checksum=''
warn "checksums have been disabled by 'checksum' input option; this is strongly discouraged for security reasons"
;;
*) bail "'checksum' input option must be 'true' or 'false': '${enable_checksum}'" ;;
esac
fallback="${INPUT_FALLBACK:-}"
case "${fallback}" in
none | cargo-binstall | cargo-install) ;;
*) bail "'fallback' input option must be 'none', 'cargo-binstall', or 'cargo-install': '${fallback}'" ;;
esac
# Unlike gh command, cargo-binstall reads GITHUB_TOKEN first via cli parser, and then reads GH_TOKEN.
# https://github.com/cargo-bins/cargo-binstall/blob/v1.17.9/crates/bin/src/args.rs#L704
token="${GITHUB_TOKEN:-"${GH_TOKEN:-"${DEFAULT_GITHUB_TOKEN:-}"}"}"
# This prevents tokens from being exposed to subprocesses via environment variables.
# Since the tokens remain in memory, setting `fallback: none` (which prevents the tokens from being
# set in the first place) remains the best practice from a security standpoint, as readme says.
unset GITHUB_TOKEN GH_TOKEN DEFAULT_GITHUB_TOKEN
case "${host_os}" in
linux)
if ! type -P jq >/dev/null || ! type -P curl >/dev/null || ! type -P tar >/dev/null; then
@@ -671,18 +703,18 @@ case "${host_os}" in
fi
printf '::endgroup::\n'
;;
*) warn "install-action requires at least jq and curl on non-Debian/Fedora/SUSE/Arch/Alpine-based Linux" ;;
*) warn "this action requires at least jq and curl on non-Debian/Fedora/SUSE/Arch/Alpine-based Linux" ;;
esac
fi
;;
macos)
if ! type -P jq >/dev/null || ! type -P curl >/dev/null; then
warn "install-action requires at least jq and curl on macOS"
warn "this action requires at least jq and curl on macOS"
fi
;;
windows)
if ! type -P curl >/dev/null; then
warn "install-action requires at least curl on Windows"
warn "this action requires at least curl on Windows"
fi
if [[ -f "${install_action_dir}/jq/bin/jq.exe" ]]; then
jq() { "${install_action_dir}/jq/bin/jq.exe" -b "$@"; }
@@ -716,20 +748,150 @@ esac
unsupported_tools=()
for tool in "${tools[@]}"; do
if [[ "${tool}" == *"@"* ]]; then
additional=''
if [[ "${tool}" == *'+'* ]]; then
additional="${tool#*+}"
tool="${tool%%+*}"
fi
if [[ "${tool}" == *'@'* ]]; then
version="${tool#*@}"
tool="${tool%@*}"
if [[ "${tool}" != 'rust' ]]; then
if [[ ! "${version}" =~ ^([1-9][0-9]*(\.[0-9]+(\.[0-9]+)?)?|0\.[1-9][0-9]*(\.[0-9]+)?|^0\.0\.[0-9]+)(-[0-9A-Za-z\.-]+)?$|^latest$ ]]; then
if [[ ! "${version}" =~ ^([1-9][0-9]*(\.[0-9]+(\.[0-9]+)?)?|0\.[1-9][0-9]*(\.[0-9]+)?|^0\.0\.[0-9]+)(-[0-9A-Za-z\.-]+)?(\+[0-9A-Za-z\.-]+)?$|^latest$ ]]; then
bail "install-action does not support semver operators: '${version}'"
bail "semver operators are not supported in 'tool' input option: '${version}'"
fi
bail "install-action v2 does not support semver build-metadata: '${version}'; if you need these supports again, please submit an issue at <https://github.com/taiki-e/install-action>"
fi
fi
else
version=latest
fi
installed_bin=()
if [[ -n "${additional}" ]]; then
case "${tool}" in
rust) ;;
*) bail "<tool_name>+<additional> syntax is not supported for ${tool}" ;;
esac
fi
installed_bin=()
# NB: Update tools/ci/release-post-commit.sh when adding non-manifest-based tools.
case "${tool}" in
rust)
if [[ "${version}" == 'latest' ]]; then
version=stable
fi
info "installing ${tool}@${version}"
export RUSTUP_MAX_RETRIES="${RUSTUP_MAX_RETRIES:-10}"
rustup_args=(--profile minimal)
if [[ -n "${additional}" ]]; then
component=''
target=''
while read -rd+; do
case "${REPLY}" in
# Last checked: nightly-2026-05-03
# rustup component list
# rustup target list
cargo | cargo-* | clippy | clippy-* | llvm-* | miri | miri-* | rust-* | rustc-* | rustfmt | rustfmt-*) component+=",${REPLY}" ;;
*) target+=",${REPLY}" ;;
esac
done <<<"${additional}+"
if [[ -n "${component}" ]]; then
if [[ "${component}," == *',miri,'* ]] && [[ "${component}," != *',rust-src,'* ]]; then
component+=',rust-src'
fi
rustup_args+=(--component "${component#,}")
fi
if [[ -n "${target}" ]]; then
rustup_args+=(--target "${target#,}")
fi
fi
if type -P rustup >/dev/null; then
# --no-self-update is necessary because the windows environment cannot self-update rustup.exe.
g retry rustup toolchain add "${version}" --no-self-update "${rustup_args[@]}"
g rustup default "${version}"
else
# https://github.com/rust-lang/rustup/tags
# Run tools/rustup-hash.sh to get sha256 hash.
rustup_version=1.29.0
# https://rust-lang.github.io/rustup/installation/other.html#manual-installation
rust_target=''
checksum=''
case "${host_os}" in
linux)
rust_target="${host_arch}-unknown-${host_os}-${host_env}"
case "${host_arch}" in
x86_64)
case "${host_env}" in
gnu) checksum=4acc9acc76d5079515b46346a485974457b5a79893cfb01112423c89aeb5aa10 ;;
musl) checksum=9cd3fda5fd293890e36ab271af6a786ee22084b5f6c2b83fd8323cec6f0992c1 ;;
esac
;;
aarch64)
case "${host_env}" in
gnu) checksum=9732d6c5e2a098d3521fca8145d826ae0aaa067ef2385ead08e6feac88fa5792 ;;
musl) checksum=88761caacddb92cd79b0b1f939f3990ba1997d701a38b3e8dd6746a562f2a759 ;;
esac
;;
powerpc64le)
case "${host_env}" in
gnu) checksum=4bfff85bd3967d988e14567aa9cc6ab0ea386f0ffeff0f9f14d23f0103bf1f97 ;;
musl) checksum=e15d033af90b7a55d170aac2d82cc28ddd96dbfcdda7c6d4eb8cb064a99c4646 ;;
esac
;;
riscv64)
rust_target="${host_arch}gc-unknown-${host_os}-${host_env}"
# riscv64gc-unknown-linux-musl is tier 2 without host tools
case "${host_env}" in
gnu) checksum=7e43f2b2e6307d61da17a4dff61e6bceef408b8189822df64e1094590d2a70f9 ;;
esac
;;
s390x)
# s390x-unknown-linux-musl is tier 3
case "${host_env}" in
gnu) checksum=66c2c132428b6b77803facb02cbdf33b89d20c00bd20da142be8cb651f2e7cd8 ;;
esac
;;
esac
;;
macos)
rust_target="${host_arch}-apple-darwin"
case "${host_arch}" in
x86_64) checksum=33cf85df9142bc6d29cbc62fa5ca1d4c29622cddb55213a4c1a43c457fb9b2d7 ;;
aarch64) checksum=aeb4105778ca1bd3c6b0e75768f581c656633cd51368fa61289b6a71696ac7e1 ;;
esac
;;
windows)
rust_target="${host_arch}-pc-windows-msvc"
case "${host_arch}" in
x86_64) checksum=86478e53f769379d7f0ebfa7c9aa97cb76ca92233f79aa2cc0dbee2efaac73c7 ;;
aarch64) checksum=3af309e6c3062aa11df0e932954f69d13b734d8a431e593812f3ecd9ff9e6ef6 ;;
esac
;;
esac
if [[ -z "${rust_target}" ]] || [[ -z "${checksum}" ]]; then
bail "unsupported host platform ${host_arch}_${host_os} for ${tool}"
fi
url="https://static.rust-lang.org/rustup/archive/${rustup_version}/${rust_target}/rustup-init${exe}"
mkdir -p -- "${tmp_dir}"
(
cd -- "${tmp_dir}"
download_and_checksum "${url}" "${checksum}"
mv -- tmp rustup-init
case "${host_os}" in
linux | macos) chmod +x ./rustup-init ;;
esac
g retry ./rustup-init -y --default-toolchain "${version}" --no-modify-path "${rustup_args[@]}"
)
rm -rf -- "${tmp_dir}"
cargo_bin_dir="${CARGO_HOME:-"${home}/.cargo"}/bin"
export PATH="${PATH}:${cargo_bin_dir}"
cargo_bin_dir=$(canonicalize_windows_path "${cargo_bin_dir}")
info "adding '${cargo_bin_dir}' to PATH"
printf '%s\n' "${cargo_bin_dir}" >>"${GITHUB_PATH}"
cargo_path=$(type -P cargo || true)
fi
installed_bin=("rustc${exe}" "cargo${exe}")
;;
protoc)
info "installing ${tool}@${version}"
read_manifest "protoc" "${version}"
@@ -771,11 +933,11 @@ for tool in "${tools[@]}"; do
info "installing ${tool}@${version}"
case "${version}" in
latest) ;;
*) warn "specifying the version of ${tool} is not supported yet by this action" ;;
*) warn "specifying the version of ${tool} is not supported" ;;
esac
case "${host_os}" in
linux) ;;
macos | windows) bail "${tool} for non-Linux is not supported yet by this action" ;;
macos | windows) bail "${tool} for non-Linux is not supported" ;;
*) bail "unsupported host OS '${host_os}' for ${tool}" ;;
esac
# libc6-dbg is needed to run Valgrind
@@ -788,7 +950,7 @@ for tool in "${tools[@]}"; do
cargo-binstall)
case "${version}" in
latest) ;;
*) warn "specifying the version of ${tool} is not supported by this action" ;;
*) warn "specifying the version of ${tool} is not supported" ;;
esac
install_cargo_binstall
printf '\n'
@@ -796,7 +958,7 @@ for tool in "${tools[@]}"; do
;;
*)
# Handle aliases.
# NB: Update alias list in .github/workflows/release.yml, tool input option in test-alias in .github/workflows/ci.yml,
# NB: Update alias list in tools/ci/release-post-commit.sh, tool input option in test-alias in .github/workflows/ci.yml,
# and match for alias for tools/codegen/src/tools-markdown.rs.
# TODO(codegen): auto-detect cases where crate name and tool name are different.
case "${tool}" in
@@ -878,7 +1040,7 @@ for tool in "${tools[@]}"; do
# gungraun-runner up to 0.17.1 (exclusive) does not support --version flag.
biome | cargo-machete | wait-for-them | gungraun-runner) rx "${tool_bin_stem}" --version || true ;;
# these packages support neither --version nor --help flag.
cargo-auditable | cargo-careful | wasm-bindgen-test-runner) ;;
cargo-auditable | cargo-careful | wasm-bindgen-test-runner | cargo-apple-runner) ;;
# wasm2es6js does not support --version flag and --help flag doesn't contains version info.
wasm2es6js) ;;
# iai-callgrind-runner --version works only with iai-callgrind in nearby Cargo.toml.
@@ -914,7 +1076,7 @@ if [[ ${#unsupported_tools[@]} -gt 0 ]]; then
none) bail "install-action does not support ${unsupported_tools[*]} (fallback is disabled by 'fallback: none' input option)" ;;
cargo-binstall)
case "${host_arch}" in
x86_64 | aarch64) ;;
x86_64 | aarch64 | riscv64) ;;
*)
info "cargo-binstall does not provide prebuilt binaries for this platform (${host_arch}); use 'cargo-install' fallback instead"
fallback=cargo-install
@@ -991,7 +1153,6 @@ if [[ ${#unsupported_tools[@]} -gt 0 ]]; then
fi
if [[ -z "${cargo_path}" ]]; then
_bin_dir=$(canonicalize_windows_path "${home}/.cargo/bin")
# TODO: avoid this when already added
info "adding '${_bin_dir}' to PATH"
printf '%s\n' "${_bin_dir}" >>"${GITHUB_PATH}"
fi

82
manifests/biome.json generated
View File

@@ -2,13 +2,89 @@
"rust_crate": null,
"template": null,
"latest": {
"version": "2.4.12"
"version": "2.4.14"
},
"2": {
"version": "2.4.12"
"version": "2.4.14"
},
"2.4": {
"version": "2.4.12"
"version": "2.4.14"
},
"2.4.14": {
"x86_64_linux_musl": {
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.14/biome-linux-x64-musl",
"etag": "0x8DEA7B7382C3BD2",
"hash": "c3b6f38eccb72a9d41afb5a3b38976f590380111cb3e878bf9121f998e8c274e",
"bin": "biome"
},
"x86_64_macos": {
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.14/biome-darwin-x64",
"etag": "0x8DEA7B738245577",
"hash": "dc835f90255a5c9c1734d3adb07ac142396187953545029e0aeab82177e466c6",
"bin": "biome"
},
"x86_64_windows": {
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.14/biome-win32-x64.exe",
"etag": "0x8DEA7B738D2BCE3",
"hash": "6aad48b69bb0699394f93c34fc700bf1b20130aeb7101e52fccf5d306b65ab92",
"bin": "biome.exe"
},
"aarch64_linux_musl": {
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.14/biome-linux-arm64-musl",
"etag": "0x8DEA7B738307CC9",
"hash": "756b7d7dbd3d5d857c40638776f930c234bc69f6f5c0ed13c8acedfb87147bac",
"bin": "biome"
},
"aarch64_macos": {
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.14/biome-darwin-arm64",
"etag": "0x8DEA7B73802C26A",
"hash": "13895170d26b0a9818532b84f33e04a2980b46cbb7e86d43ecc606c6bd1b1e63",
"bin": "biome"
},
"aarch64_windows": {
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.14/biome-win32-arm64.exe",
"etag": "0x8DEA7B738F3DB34",
"hash": "1f2d2f78dcf05ea708314608ff567b3412a85bfcd8c09ec555cee0b8a60bf5ae",
"bin": "biome.exe"
}
},
"2.4.13": {
"x86_64_linux_musl": {
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.13/biome-linux-x64-musl",
"etag": "0x8DEA14EF44907A9",
"hash": "a1939a267e2077dadd9134cfa582a2f3ca153f06f882c30d37314fea187667fc",
"bin": "biome"
},
"x86_64_macos": {
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.13/biome-darwin-x64",
"etag": "0x8DEA14EF441E3C2",
"hash": "2180d3467d67773daccea90855d8d65e1026ffa429ceba3edcb4553c8664627b",
"bin": "biome"
},
"x86_64_windows": {
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.13/biome-win32-x64.exe",
"etag": "0x8DEA14EF473DF10",
"hash": "bc7d1f26be936aec1423f70ed94fd8c5aa80c3ba199d991dcaf13476daa5f786",
"bin": "biome.exe"
},
"aarch64_linux_musl": {
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.13/biome-linux-arm64-musl",
"etag": "0x8DEA14EF500B376",
"hash": "948bbe5fb63d95372d391d42694ce5d553032f66043a178221166da2a76e8614",
"bin": "biome"
},
"aarch64_macos": {
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.13/biome-darwin-arm64",
"etag": "0x8DEA14EF41FB52C",
"hash": "22eb03789d405ea84e7b01192a9b5a4885802468dd0f369613837f5b5935178b",
"bin": "biome"
},
"aarch64_windows": {
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.13/biome-win32-arm64.exe",
"etag": "0x8DEA14EF44782BD",
"hash": "4ebfc108a649076b45d04ebb2a6b8a6642ab2180da893b70a5c42b15d4154da6",
"bin": "biome.exe"
}
},
"2.4.12": {
"x86_64_linux_musl": {

26
manifests/cargo-apple-runner.json generated Normal file
View File

@@ -0,0 +1,26 @@
{
"rust_crate": "cargo-apple-runner",
"template": {
"x86_64_macos": {
"url": "https://github.com/madsmtm/cargo-apple-runner/releases/download/v${version}/cargo-apple-runner-x86_64-apple-darwin.tar.gz",
"bin": "cargo-apple-runner"
},
"aarch64_macos": {
"url": "https://github.com/madsmtm/cargo-apple-runner/releases/download/v${version}/cargo-apple-runner-aarch64-apple-darwin.tar.gz",
"bin": "cargo-apple-runner"
}
},
"latest": {
"version": "0.0.1"
},
"0.0.1": {
"x86_64_macos": {
"etag": "0x8DE9E56906B2739",
"hash": "66e53e60e1502d6c6e57aed9c423ecbe9f155fbcee56824a20eb72c49136a554"
},
"aarch64_macos": {
"etag": "0x8DE9E56816E1F2D",
"hash": "58b94a77328568eff1c8d1216f51933c0753d20365b2284cf3a1dca843a6d0c1"
}
}
}

View File

@@ -18,6 +18,9 @@
},
"aarch64_windows": {
"url": "https://github.com/cargo-bins/cargo-binstall/releases/download/v${version}/cargo-binstall-aarch64-pc-windows-msvc.zip"
},
"riscv64_linux_musl": {
"url": "https://github.com/cargo-bins/cargo-binstall/releases/download/v${version}/cargo-binstall-riscv64gc-unknown-linux-musl.tgz"
}
},
"latest": {
@@ -47,6 +50,10 @@
"aarch64_windows": {
"etag": "0x8DE9959EAAC5732",
"hash": "c6873e81457d9e44973a8e9a849795f2c83765fce0af8ad68b597b5b40dec418"
},
"riscv64_linux_musl": {
"etag": "0x8DE9959DFE57CE6",
"hash": "3eb039f14fa71dd27b614bf692f0bffd4ba087204829805d54b014646aed7c14"
}
}
}

View File

@@ -7,13 +7,28 @@
}
},
"latest": {
"version": "3.6.3"
"version": "3.7.0"
},
"3": {
"version": "3.6.3"
"version": "3.7.0"
},
"3.7": {
"version": "3.7.0"
},
"3.7.0": {
"x86_64_linux_gnu": {
"etag": "0x8DEA87CE0C3370E",
"hash": "e61273031c84b6ef2ca3fb259b594d34d2b592e1c6bc378c1249380c53e5b05e"
}
},
"3.6": {
"version": "3.6.3"
"version": "3.6.4"
},
"3.6.4": {
"x86_64_linux_gnu": {
"etag": "0x8DEA528E26D5EF0",
"hash": "3a95dff12baba70efe3a050a3ad94149ace73114c5af988d34073183e09dd584"
}
},
"3.6.3": {
"x86_64_linux_gnu": {

View File

@@ -15,13 +15,27 @@
}
},
"latest": {
"version": "2.1.3"
"version": "2.1.4"
},
"2": {
"version": "2.1.3"
"version": "2.1.4"
},
"2.1": {
"version": "2.1.3"
"version": "2.1.4"
},
"2.1.4": {
"x86_64_linux_gnu": {
"etag": "0x8DEA2B427453DC9",
"hash": "c10fdf954e51221d63743884aaf6ee5d576464abdc4965b395e3ec26948072ee"
},
"x86_64_windows": {
"etag": "0x8DEA2B44F072C94",
"hash": "0c59ef2433e523e060909cdfa678969eaa81a44fdc4313cb5a1a9592e8ded2b3"
},
"aarch64_macos": {
"etag": "0x8DEA2B420DAFA52",
"hash": "d2091a14be8482d8771ac379ef46a9501d678cee000a5e855490009fad3a65a3"
}
},
"2.1.3": {
"x86_64_linux_gnu": {

View File

@@ -1,35 +1,54 @@
{
"rust_crate": "cargo-spellcheck",
"template": {
"x86_64_linux_gnu": {
"url": "https://github.com/drahnr/cargo-spellcheck/releases/download/v${version}/cargo-spellcheck-v${version}-x86_64-unknown-linux-gnu"
},
"x86_64_windows": {
"url": "https://github.com/drahnr/cargo-spellcheck/releases/download/v${version}/cargo-spellcheck-v${version}-x86_64-pc-windows-gnu.exe"
}
},
"template": null,
"latest": {
"version": "0.15.1"
"version": "0.15.7"
},
"0.15": {
"version": "0.15.1"
"version": "0.15.7"
},
"0.15.7": {
"x86_64_linux_gnu": {
"url": "https://github.com/drahnr/cargo-spellcheck/releases/download/v0.15.7/cargo-spellcheck-v0.15.7-x86_64-unknown-linux-gnu",
"etag": "0x8DEA7C00640F8EA",
"hash": "6c944067adde19558aff6b6eb0003e82a95a52ac9dd75465ba3df894eeac5b74"
},
"x86_64_windows": {
"url": "https://github.com/drahnr/cargo-spellcheck/releases/download/v0.15.7/cargo-spellcheck-v0.15.7-x86_64-pc-windows-msvc.exe",
"etag": "0x8DEA7C002803985",
"hash": "fef4eae8bd21d1edac52b00c7729fbabd7ad47bb6053e29025d62adb2746c93f"
},
"aarch64_linux_gnu": {
"url": "https://github.com/drahnr/cargo-spellcheck/releases/download/v0.15.7/cargo-spellcheck-v0.15.7-aarch64-unknown-linux-gnu",
"etag": "0x8DEA7C0074205C5",
"hash": "22c5ea30ca4bc86004022cffb671bdbf971d66f2dd564397e8a7647cadcf3ec8"
},
"aarch64_windows": {
"url": "https://github.com/drahnr/cargo-spellcheck/releases/download/v0.15.7/cargo-spellcheck-v0.15.7-aarch64-pc-windows-msvc.exe",
"etag": "0x8DEA7C002536910",
"hash": "cc72699c01f192f160d2c402fa44efdd56b9ff5856c5b1d4cd5af1631ded48a3"
}
},
"0.15.2": {
"x86_64_linux_gnu": {
"url": "https://github.com/drahnr/cargo-spellcheck/releases/download/v0.15.2/cargo-spellcheck-v0.15.2-x86_64-unknown-linux-gnu",
"etag": "0x8DD4A85530EF13A",
"hash": "9b36eb04e83aaea2c943064fbb2e5a04d37a46bcf51dfd99495b74b09ff56455"
},
"x86_64_windows": {
"url": "https://github.com/drahnr/cargo-spellcheck/releases/download/v0.15.2/cargo-spellcheck-v0.15.2-x86_64-pc-windows-gnu.exe",
"etag": "0x8DD4A8564500872",
"hash": "5d70eac68be1dae5fb69439217581f79e642867ddd4b67ba258e224de6ff82a2"
}
},
"0.15.1": {
"x86_64_linux_gnu": {
"url": "https://github.com/drahnr/cargo-spellcheck/releases/download/v0.15.1/cargo-spellcheck-v0.15.1-x86_64-unknown-linux-gnu",
"etag": "0x8DD49AEF852F898",
"hash": "b96e4e73babd959aa138d1629b143180e83ebd8461064fa68e99e2e961560029"
},
"x86_64_windows": {
"url": "https://github.com/drahnr/cargo-spellcheck/releases/download/v0.15.1/cargo-spellcheck-v0.15.1-x86_64-pc-windows-gnu.exe",
"etag": "0x8DD49AF09E6176C",
"hash": "53e697b1016880ffe864dfba9fda68c050694644267557450881d52d9eed987d"
}
@@ -39,10 +58,12 @@
},
"0.14.0": {
"x86_64_linux_gnu": {
"url": "https://github.com/drahnr/cargo-spellcheck/releases/download/v0.14.0/cargo-spellcheck-v0.14.0-x86_64-unknown-linux-gnu",
"etag": "0x8DC6466EF3038F3",
"hash": "6f35073843f2eb87990ef19c841c61ded5263e3a7ff38f885cfab22193b84f13"
},
"x86_64_windows": {
"url": "https://github.com/drahnr/cargo-spellcheck/releases/download/v0.14.0/cargo-spellcheck-v0.14.0-x86_64-pc-windows-gnu.exe",
"etag": "0x8DC646705A424A4",
"hash": "ad97a1471b7e718902ec385c3ad045a6afbc986f736d0c4986855ec99a79c80c"
}
@@ -52,30 +73,36 @@
},
"0.13.2": {
"x86_64_linux_gnu": {
"url": "https://github.com/drahnr/cargo-spellcheck/releases/download/v0.13.2/cargo-spellcheck-v0.13.2-x86_64-unknown-linux-gnu",
"etag": "0x8DC0E0760B5DD94",
"hash": "f547b8f992dcc43f8a4106bae8b090ecb3fcb7ef6ce336081c22636f70e876d9"
},
"x86_64_windows": {
"url": "https://github.com/drahnr/cargo-spellcheck/releases/download/v0.13.2/cargo-spellcheck-v0.13.2-x86_64-pc-windows-gnu.exe",
"etag": "0x8DC0E07751C8D13",
"hash": "f54fb8243497258115d1eb55b99bfc94ab3e09636c78665d3b6410885ba9190a"
}
},
"0.13.1": {
"x86_64_linux_gnu": {
"url": "https://github.com/drahnr/cargo-spellcheck/releases/download/v0.13.1/cargo-spellcheck-v0.13.1-x86_64-unknown-linux-gnu",
"etag": "0x8DBC987279A3734",
"hash": "17af34dbefad5c45d23df3e4e81b0addc78782db0ed2e8e491a1532761463e1e"
},
"x86_64_windows": {
"url": "https://github.com/drahnr/cargo-spellcheck/releases/download/v0.13.1/cargo-spellcheck-v0.13.1-x86_64-pc-windows-gnu.exe",
"etag": "0x8DBC9875250341E",
"hash": "d18c19a3c5e7eb9ea516e691b54a4517a60517b6b1fb75b7f56a0c1dcc9b177e"
}
},
"0.13.0": {
"x86_64_linux_gnu": {
"url": "https://github.com/drahnr/cargo-spellcheck/releases/download/v0.13.0/cargo-spellcheck-v0.13.0-x86_64-unknown-linux-gnu",
"etag": "0x8DB98F2A6C10BCB",
"hash": "41e99240e55f38cc6d43d7ea9f2ccd448f584eefdc262129e4238f057d995923"
},
"x86_64_windows": {
"url": "https://github.com/drahnr/cargo-spellcheck/releases/download/v0.13.0/cargo-spellcheck-v0.13.0-x86_64-pc-windows-gnu.exe",
"etag": "0x8DB98F240CB78CC",
"hash": "57d45d5942d7ccd49599aae549c0bd5d906868eaeb39481088e55001d65f4784"
}

View File

@@ -18,10 +18,54 @@
}
},
"latest": {
"version": "0.35.2"
"version": "0.35.4"
},
"0.35": {
"version": "0.35.2"
"version": "0.35.4"
},
"0.35.4": {
"x86_64_linux_musl": {
"etag": "0x8DEA2A058109F8F",
"hash": "bc60f0668389edd48b112c4ecc7374d3180f522cf933b7fcb3486a447f24aef8"
},
"x86_64_macos": {
"etag": "0x8DEA29FED382280",
"hash": "a48eb40fc541a440ac0e62a22bfb7984819a1409591b4ce7e20d3d1a01625e96"
},
"x86_64_windows": {
"etag": "0x8DEA29FE6F1DA8E",
"hash": "6d51cfca33da65079392c55b2506705f8dcf518337a9a68f619d4de14c5aa5e6"
},
"aarch64_linux_musl": {
"etag": "0x8DEA29FD9717357",
"hash": "0ca28350061a6b3f4e40685472434ba56082de992022b667ec7fdb5433f186c6"
},
"aarch64_macos": {
"etag": "0x8DEA2A01A31E15B",
"hash": "fd4433bd3d5e930cda6571b2b2cded2d859ee8cb10bc72245201bada707999b8"
}
},
"0.35.3": {
"x86_64_linux_musl": {
"etag": "0x8DEA298DDF784C5",
"hash": "1728506eff323e9e6908fa4de88f931f4c52a46f4bdb87a768bab819ae3a1ee0"
},
"x86_64_macos": {
"etag": "0x8DEA2985EB8F923",
"hash": "f1373a539becba1604f12b10fafd42ec3818b30075696f6785b1c880f1d44222"
},
"x86_64_windows": {
"etag": "0x8DEA2985F93E3F9",
"hash": "728df0c01ed906a66df6da57d52b4427e3fe52e0684ec8d1ce6d353b48bf8a69"
},
"aarch64_linux_musl": {
"etag": "0x8DEA298D6C6614C",
"hash": "34843dd46fdf13988bfdfa9021a91e942b00ddbe38277a45cbcc70eade8655b0"
},
"aarch64_macos": {
"etag": "0x8DEA29889111947",
"hash": "6bcc479f1dd38e191dd50fb4da7d6b11de158c7bb5cbe084407aca003c34d9d5"
}
},
"0.35.2": {
"x86_64_linux_musl": {

View File

@@ -2,10 +2,48 @@
"rust_crate": "cargo-udeps",
"template": null,
"latest": {
"version": "0.1.60"
"version": "0.1.61"
},
"0.1": {
"version": "0.1.60"
"version": "0.1.61"
},
"0.1.61": {
"x86_64_linux_musl": {
"url": "https://github.com/est31/cargo-udeps/releases/download/v0.1.61/cargo-udeps-v0.1.61-x86_64-unknown-linux-musl.tar.gz",
"etag": "0x8DEA584E93B9FDB",
"hash": "27031ca3902390a1d793901d17ec073ac85297ab3477b13faea984e4c97de479",
"bin": "cargo-udeps-v0.1.61-x86_64-unknown-linux-musl/cargo-udeps"
},
"x86_64_macos": {
"url": "https://github.com/est31/cargo-udeps/releases/download/v0.1.61/cargo-udeps-v0.1.61-x86_64-apple-darwin.tar.gz",
"etag": "0x8DEA584FB3914CC",
"hash": "0840c47e3ac640db8cf1ac9136c7a133eff68f07753a8a450363b95124d0ee34",
"bin": "cargo-udeps-v0.1.61-x86_64-apple-darwin/cargo-udeps"
},
"x86_64_windows": {
"url": "https://github.com/est31/cargo-udeps/releases/download/v0.1.61/cargo-udeps-v0.1.61-x86_64-pc-windows-msvc.zip",
"etag": "0x8DEA5855ED09C2C",
"hash": "6920b6f493f0c13a28e32522ccb7efffcc57c8849d887366b19c599dc2238cc0",
"bin": "cargo-udeps-v0.1.61-x86_64-pc-windows-msvc/cargo-udeps.exe"
},
"aarch64_linux_musl": {
"url": "https://github.com/est31/cargo-udeps/releases/download/v0.1.61/cargo-udeps-v0.1.61-aarch64-unknown-linux-musl.tar.gz",
"etag": "0x8DEA584C0D0F4DF",
"hash": "d257553c03b36d2ee7e8028d622c80b1244fc512fabb2de058c1e0ceeb92169b",
"bin": "cargo-udeps-v0.1.61-aarch64-unknown-linux-musl/cargo-udeps"
},
"aarch64_macos": {
"url": "https://github.com/est31/cargo-udeps/releases/download/v0.1.61/cargo-udeps-v0.1.61-aarch64-apple-darwin.tar.gz",
"etag": "0x8DEA5849C45DEF1",
"hash": "0ca49f226c268ff3f7d65e82dd471900b962e4dcb3e75793558e5f4287be2011",
"bin": "cargo-udeps-v0.1.61-aarch64-apple-darwin/cargo-udeps"
},
"aarch64_windows": {
"url": "https://github.com/est31/cargo-udeps/releases/download/v0.1.61/cargo-udeps-v0.1.61-aarch64-pc-windows-msvc.zip",
"etag": "0x8DEA585933B8EBC",
"hash": "56f71b63e24fff67cf5f34e21bf4bcd8b090d80336a629c7b829045b02494718",
"bin": "cargo-udeps-v0.1.61-aarch64-pc-windows-msvc/cargo-udeps.exe"
}
},
"0.1.60": {
"x86_64_linux_musl": {

View File

@@ -15,7 +15,28 @@
}
},
"latest": {
"version": "0.21.5"
"version": "0.22.0"
},
"0.22": {
"version": "0.22.0"
},
"0.22.0": {
"x86_64_linux_musl": {
"etag": "0x8DE9F37C7CF1B98",
"hash": "a883bdc833df614978514485d00e6174fcc3a229bf0edc07bbea8762a0405e0b"
},
"x86_64_macos": {
"etag": "0x8DE9F37FADC11D8",
"hash": "6a0ba0734f9c8af3c98338be34ad70a3010d1014b5e551134d3e087d46192ffd"
},
"x86_64_windows": {
"etag": "0x8DE9F38104A6015",
"hash": "2d0e46a28b2919e92f6952dcd88c9a8f9a1e6426a6ef1319ff3a6ccaef264774"
},
"aarch64_linux_musl": {
"etag": "0x8DE9F37D403A82E",
"hash": "f4ec28c33817623c2f2638c11fc7f011d7ea2468d8b56ef590daa4032ee2e256"
}
},
"0.21": {
"version": "0.21.5"

View File

@@ -21,7 +21,36 @@
}
},
"latest": {
"version": "0.30.0"
"version": "0.31.0"
},
"0.31": {
"version": "0.31.0"
},
"0.31.0": {
"x86_64_linux_gnu": {
"etag": "0x8DEA5BE1A225492",
"hash": "72c465982796cb930dd7bfabe68d869aea053c9b7a717dff9ceee56b5624eea4"
},
"x86_64_macos": {
"etag": "0x8DEA5BE2A8378AE",
"hash": "78c3f395499fc80d1b0a0c2ad0497fa212ccb90a544524599be6356707b49bbd"
},
"x86_64_windows": {
"etag": "0x8DEA5BE2463CF5D",
"hash": "da18bdb0d5b10a5f45ddfb59b7b08b11ddc050bb5c6407608d831929a1799d3f"
},
"aarch64_linux_gnu": {
"etag": "0x8DEA5BE20738480",
"hash": "ecdb5a10bba199417ccf94b57f27f0ec201b91eb4fadc6d7998696e082e69bef"
},
"aarch64_macos": {
"etag": "0x8DEA5BE4A7F7F7B",
"hash": "42d5b880968eed5b8939d48adf125c5d96944231259e19167c29e9da9e9d2afe"
},
"aarch64_windows": {
"etag": "0x8DEA5BE28D7835D",
"hash": "af0a5c6c17b0bee113066760d3378eb5e03eb5c75eca2479e61fc43669c46036"
}
},
"0.30": {
"version": "0.30.0"

49
manifests/espup.json generated
View File

@@ -18,7 +18,54 @@
}
},
"latest": {
"version": "0.16.0"
"version": "0.17.1"
},
"0.17": {
"version": "0.17.1"
},
"0.17.1": {
"x86_64_linux_gnu": {
"etag": "0x8DE9C74A098CB39",
"hash": "dd8625b3742b2f74ce406286baef8ee67525d63b25ea303ddf7473ed2cc31192"
},
"x86_64_macos": {
"etag": "0x8DE9C747D3044B2",
"hash": "c51cf3d7a91c5e24de680812cf110fa58a4315ed80b8d1af8e74f89088d8b861"
},
"x86_64_windows": {
"etag": "0x8DE9C748FE2165B",
"hash": "f3a2d372e6f04f67a2adb7ff310ad336d9d475a5c4ce2c0c7855792875981bf0"
},
"aarch64_linux_gnu": {
"etag": "0x8DE9C7475A3FBDB",
"hash": "9b0082414a962edfdd62aeebba07e8eaf3009477e78903a6bc656775f2f1dbe7"
},
"aarch64_macos": {
"etag": "0x8DE9C74AB2E27B6",
"hash": "93bff02d2e3f37eb5c0ab68b2016fcbeb5e9aa0334f8f47e5ec63a219daace91"
}
},
"0.17.0": {
"x86_64_linux_gnu": {
"etag": "0x8DE9C60D8405E5A",
"hash": "9b97234338a83c23e6324595ae861b190cc95fefeb257575f05327fe1f2cd77d"
},
"x86_64_macos": {
"etag": "0x8DE9C60B152442B",
"hash": "366e7f1ba3aaf60d026a232d83cf75e0d9a977083ffba5a4ef90bb0732df4d11"
},
"x86_64_windows": {
"etag": "0x8DE9C60C2BCF730",
"hash": "03049e76c11f174b3f32277545be53819a243af8e8c012e7c07e10314840e170"
},
"aarch64_linux_gnu": {
"etag": "0x8DE9C60A9AE250C",
"hash": "f6356701429f99b2bb6dc1d67aadb56bf3c3b09b6e583849d334068d5edda418"
},
"aarch64_macos": {
"etag": "0x8DE9C60B3F2D0E4",
"hash": "7f7c5f38d15bbce54a910150ba295516985e3bf27abbacf81d8718bf7cf7521d"
}
},
"0.16": {
"version": "0.16.0"

View File

@@ -27,10 +27,65 @@
}
},
"latest": {
"version": "2.12.0"
"version": "2.13.1"
},
"2": {
"version": "2.12.0"
"version": "2.13.1"
},
"2.13": {
"version": "2.13.1"
},
"2.13.1": {
"x86_64_linux_musl": {
"etag": "0x8DEA37D7F9F3C29",
"hash": "200d2535da6d9703f3bcc8a4d159c3b55eacdb01cf2148c55b3eee9dd04d5249"
},
"x86_64_macos": {
"etag": "0x8DEA37D44E87B3A",
"hash": "6e60ae390d375cecb9d8008c49f0e724a8dfe40390b532ef5501e421d2cc8acb"
},
"x86_64_windows": {
"etag": "0x8DEA37E02E19030",
"hash": "3ae3a5549e85c7ad5b20192ebcfee4371269deca51255f6f2f2e051c6541f5ca"
},
"aarch64_linux_musl": {
"etag": "0x8DEA37D82440AED",
"hash": "4054c124b926c117f3fa048939bc8be0a954f29f3b6f367627e8cb22c1971882"
},
"aarch64_macos": {
"etag": "0x8DEA37D25D82E17",
"hash": "21547ae4a0421164070ab75c2522864ea5565858a011fabc5f583061b20f1226"
},
"aarch64_windows": {
"etag": "0x8DEA37E17A6094D",
"hash": "03a623191fe575bc0024e2ebc61cc861cebd3ba84b93ff13b002c42e8248cd3f"
}
},
"2.13.0": {
"x86_64_linux_musl": {
"etag": "0x8DEA3772B3C02DF",
"hash": "132539f836416563e86621ff0649f0c0c766cf32ea1be85f3ba0d34f043ce86a"
},
"x86_64_macos": {
"etag": "0x8DEA3771FC5A88A",
"hash": "ad980b6bd5c52deec7c24a55599f652607d40d221f0bfb75142017a9fc82f7c4"
},
"x86_64_windows": {
"etag": "0x8DEA377B78B9783",
"hash": "17f891a0ec38f8c9ef6440eed31be43117491b05afeba6093a15545633eae6ff"
},
"aarch64_linux_musl": {
"etag": "0x8DEA37725E52DB8",
"hash": "27b9216d92a254fb03d18008252a7c8c7bc803b4616bf69175ff448918a9606a"
},
"aarch64_macos": {
"etag": "0x8DEA376FF31CE86",
"hash": "72e8d1f4d1dca4312ccf979c72a094e5bab0a659ec6c8d4e1bbea19f9cc65b23"
},
"aarch64_windows": {
"etag": "0x8DEA377B597C5A5",
"hash": "ae2cdf8b70999c8dd52af50283b0c9a8d811055e1f8879ffd1a7d90c678e902b"
}
},
"2.12": {
"version": "2.12.0"

View File

@@ -23,10 +23,32 @@
}
},
"latest": {
"version": "0.18.1"
"version": "0.18.2"
},
"0.18": {
"version": "0.18.1"
"version": "0.18.2"
},
"0.18.2": {
"x86_64_linux_musl": {
"etag": "0x8DEA695B3CFC4FA",
"hash": "bad19b8dd280e9cfab691eb3220d107ce1b09091846ac7df19c9a303988cf071"
},
"aarch64_linux_gnu": {
"etag": "0x8DEA695BAEDE5DA",
"hash": "46ee655aaac3f1d18c823ec8abf4c8adb5dd9641c526b49de007c15b743c8fe4"
},
"powerpc64le_linux_gnu": {
"etag": "0x8DEA69515EAE4D4",
"hash": "07b17bc9904c2733cfd7663ac36ed28a80af28530403c77f0a34887b76e64f4c"
},
"riscv64_linux_gnu": {
"etag": "0x8DEA6957D2B96BF",
"hash": "496df4183e0f29ac919e14688f85fa4464d2e632fa6730743bdf24acf66108ac"
},
"s390x_linux_gnu": {
"etag": "0x8DEA695C06514A8",
"hash": "6b6ec6b64d03d73b465222062fb20ead1eb6b18a48ab791fb5fcefed34fd1532"
}
},
"0.18.1": {
"x86_64_linux_musl": {

33
manifests/just.json generated
View File

@@ -21,10 +21,39 @@
}
},
"latest": {
"version": "1.49.0"
"version": "1.50.0"
},
"1": {
"version": "1.49.0"
"version": "1.50.0"
},
"1.50": {
"version": "1.50.0"
},
"1.50.0": {
"x86_64_linux_musl": {
"etag": "0x8DE9E6F41A84659",
"hash": "27e011cd6328fadd632e59233d2cf5f18460b8a8c4269acd324c1a8669f34db0"
},
"x86_64_macos": {
"etag": "0x8DE9E6F39943078",
"hash": "e4fa28fe63381ca32fad101e86d4a1da7cd2d34d1b080985a37ec9dc951922fe"
},
"x86_64_windows": {
"etag": "0x8DE9E6F71190D2B",
"hash": "5dc713f049e174e22de41fd06292a26c9b90f2d37c1be9390d2082fe6928b376"
},
"aarch64_linux_musl": {
"etag": "0x8DE9E6F47F2EDF4",
"hash": "3beb4967ce05883cf09ac12d6d128166eb4c6d0b03eff74b61018a6880655d7d"
},
"aarch64_macos": {
"etag": "0x8DE9E6F49FBDCE5",
"hash": "891262207663bff1aa422dbe799a76deae4064eaa445f14eb28aef7a388222cd"
},
"aarch64_windows": {
"etag": "0x8DE9E6F73FB889D",
"hash": "91065b94d11beb4b05c8117d8a736e978f41764d73131de35d8134c9ab9dee7a"
}
},
"1.49": {
"version": "1.49.0"

85
manifests/martin.json generated
View File

@@ -31,10 +31,91 @@
}
},
"latest": {
"version": "1.5.0"
"version": "1.8.2"
},
"1": {
"version": "1.5.0"
"version": "1.8.2"
},
"1.8": {
"version": "1.8.2"
},
"1.8.2": {
"x86_64_linux_musl": {
"etag": "0x8DEAA75F9C0717B",
"hash": "b7ce4906219974f33c0c80994fde6afe503cd8fc6e4c37fd75caf77f320d98cc"
},
"x86_64_macos": {
"etag": "0x8DEAA75F8954F43",
"hash": "6be5743e73b43bc7ef34d17b94e7fdce5f3eafa26120a67ce317b55d557ba481"
},
"aarch64_linux_musl": {
"etag": "0x8DEAA75F885D044",
"hash": "d994a862ae5ded571da994f3e525c04e4afb8ee355e3c91135fb0ff78f8d1294"
},
"aarch64_macos": {
"etag": "0x8DEAA75F8A93635",
"hash": "11a05523e1e59c8322bae7bb49442eaa22bb355905222f96e723b9ca42dd4316"
}
},
"1.8.0": {
"x86_64_linux_musl": {
"etag": "0x8DEA51C82B100CC",
"hash": "e633b553663ecf69b82f88235fdfc720c2cdb6390f0414837c6577b1e937d7ab"
},
"x86_64_macos": {
"etag": "0x8DEA51C81E01D4A",
"hash": "a80eeb3e37fd6127dbca77b965a4fba6f74d75029d69f2c73fdb195bf4cb3b82"
},
"aarch64_linux_musl": {
"etag": "0x8DEA51C81AB1841",
"hash": "268d5865668d85fdd583d8bc59d8a21ff90502e44340d50a95b9adca10b65af3"
},
"aarch64_macos": {
"etag": "0x8DEA51C81A8D0DD",
"hash": "e6bef9defe12697f3aab6daeb9889645ce447cef91ff82f3eaa24174965ee018"
}
},
"1.7": {
"version": "1.7.0"
},
"1.7.0": {
"x86_64_linux_musl": {
"etag": "0x8DEA2D8D2DD9B3B",
"hash": "a9b0ed13e7f31964940e3504d0eeb481669b01e3d8b303db56d64b03decc0e2b"
},
"x86_64_macos": {
"etag": "0x8DEA2D8D1EE54B5",
"hash": "50b5293d93e6cbb3d1f7dd590c7fec96f24edc05acaac710096ca535712da4c8"
},
"aarch64_linux_musl": {
"etag": "0x8DEA2D8D1EC342E",
"hash": "ea8e848dde503b77f9f8cbc4820c51cbc310a30eb7c4c3d10ecfedfc4781e687"
},
"aarch64_macos": {
"etag": "0x8DEA2D8D1FFF41D",
"hash": "582aceb8eff0da07c0e78ce74ffccc12da5c18fa261aef7630ac2e6afcc8c313"
}
},
"1.6": {
"version": "1.6.0"
},
"1.6.0": {
"x86_64_linux_musl": {
"etag": "0x8DE9E6794FD4A72",
"hash": "b71c6e5006ab152ebe6ee021ba3280dadc681a1e723f48109ac4317d34c7926e"
},
"x86_64_macos": {
"etag": "0x8DE9E6794344CFE",
"hash": "1a33cc0b9580ab5b7d9ba124113eb8db9cdd9191d6206a2e0d452d88b2ed40bc"
},
"aarch64_linux_musl": {
"etag": "0x8DE9E6794361FAD",
"hash": "42ef50d65d62358e806827f78ef660ef58eba126a449a237cbd57ab727105ea0"
},
"aarch64_macos": {
"etag": "0x8DE9E6794327A4B",
"hash": "18afc12cdb9e84b095f26a260880ef488ea0185d6ff9821bb38d2b38d2b70d63"
}
},
"1.5": {
"version": "1.5.0"

61
manifests/mdbook-d2.json generated Normal file
View File

@@ -0,0 +1,61 @@
{
"rust_crate": "mdbook-d2",
"template": {
"x86_64_linux_musl": {
"url": "https://github.com/danieleades/mdbook-d2/releases/download/v${version}/mdbook-d2-x86_64-unknown-linux-musl.tar.gz",
"bin": "mdbook-d2"
},
"x86_64_macos": {
"url": "https://github.com/danieleades/mdbook-d2/releases/download/v${version}/mdbook-d2-x86_64-apple-darwin.tar.gz",
"bin": "mdbook-d2"
},
"x86_64_windows": {
"url": "https://github.com/danieleades/mdbook-d2/releases/download/v${version}/mdbook-d2-x86_64-pc-windows-msvc.tar.gz",
"bin": "mdbook-d2.exe"
},
"aarch64_linux_musl": {
"url": "https://github.com/danieleades/mdbook-d2/releases/download/v${version}/mdbook-d2-aarch64-unknown-linux-musl.tar.gz",
"bin": "mdbook-d2"
},
"aarch64_macos": {
"url": "https://github.com/danieleades/mdbook-d2/releases/download/v${version}/mdbook-d2-aarch64-apple-darwin.tar.gz",
"bin": "mdbook-d2"
},
"aarch64_windows": {
"url": "https://github.com/danieleades/mdbook-d2/releases/download/v${version}/mdbook-d2-aarch64-pc-windows-msvc.tar.gz",
"bin": "mdbook-d2.exe"
}
},
"latest": {
"version": "0.3.8"
},
"0.3": {
"version": "0.3.8"
},
"0.3.8": {
"x86_64_linux_musl": {
"etag": "0x8DE4D1050CFDFE1",
"hash": "6601ff37d3f220db0c9617b85c7e80f985a13ea75e2b6bb88b5158ea429455b6"
},
"x86_64_macos": {
"etag": "0x8DE4D104B08EF36",
"hash": "0ce3bf83daa8f4d458d9acf3cc5e9af1fc85d864854439a8a7d45a9a48166eaf"
},
"x86_64_windows": {
"etag": "0x8DE4D106181D5F5",
"hash": "89ba967c1f95b32d05612183b9752aeccafa749d5dce0680fb9dcbfda24285fd"
},
"aarch64_linux_musl": {
"etag": "0x8DE4D104E5464C8",
"hash": "84f37cb1d89f6fabbefb5581205f93035fe5d9f2ace32f01cb76622cb563a9c1"
},
"aarch64_macos": {
"etag": "0x8DE4D104A941BA3",
"hash": "dcd49feace49c4adce583cfab121885cd84b746fdad6ebc99ca36eb52272f849"
},
"aarch64_windows": {
"etag": "0x8DE4D1061C79129",
"hash": "6cc7507acae02d73719b260dffd33c3b1d74029cfa97cc7edfe220f8489aef02"
}
}
}

321
manifests/mise.json generated
View File

@@ -27,13 +27,328 @@
}
},
"latest": {
"version": "2026.4.14"
"version": "2026.5.0"
},
"2026": {
"version": "2026.4.14"
"version": "2026.5.0"
},
"2026.5": {
"version": "2026.5.0"
},
"2026.5.0": {
"x86_64_linux_musl": {
"etag": "0x8DEA9471A2EEE95",
"hash": "f47a11b64b32f94db74b6792601bd9b0440bf4fe4d1e54056738b3e1eeff13db"
},
"x86_64_macos": {
"etag": "0x8DEA9471C55F180",
"hash": "8335873c9280e2dca0b1ceeb0298f2905188732fe128e0f97672f7796bdecbd7"
},
"x86_64_windows": {
"etag": "0x8DEA9471D67181D",
"hash": "053de50b0ee574a40ebcca667c17e27b06423bfed3779c623970e0e36e1d6405"
},
"aarch64_linux_musl": {
"etag": "0x8DEA94716D421D2",
"hash": "9ff141301ad0eb05ed98c45195de6af9f4f6a2b7ec8ae1acab845e65e4aa1c43"
},
"aarch64_macos": {
"etag": "0x8DEA9471BAE1289",
"hash": "c4b34f7d4831f7d296bbd3b1ae50ecca5cbe404650575472c0db6bcaad8bb4e5"
},
"aarch64_windows": {
"etag": "0x8DEA9471D4C0D77",
"hash": "43bfe834b2c420b467114cea698f08b8aee26b6be748ec046e8a06915d5003ac"
}
},
"2026.4": {
"version": "2026.4.14"
"version": "2026.4.28"
},
"2026.4.28": {
"x86_64_linux_musl": {
"etag": "0x8DEA6AC256245CA",
"hash": "5876c4febe57fc5350eade9320425ab96f29e8de6c6be620754d5e9e4920ea1c"
},
"x86_64_macos": {
"etag": "0x8DEA6AC290CADD9",
"hash": "c590f28b9e04085df73736fdfc4a1f6eef3b866d730c7a061aa2df46c8cf1c66"
},
"x86_64_windows": {
"etag": "0x8DEA6AC2A741EDB",
"hash": "36db52c5bbb3c825f753fef58b3ea4389ba833ee9a455b05e6ee2b9d657d14b6"
},
"aarch64_linux_musl": {
"etag": "0x8DEA6AC206CFC59",
"hash": "7290ef70e3d46cc54c737f7a2084b84c05008c30d3fbb40ebbf4e68b7c84096b"
},
"aarch64_macos": {
"etag": "0x8DEA6AC278D151C",
"hash": "0b226fa0b96f50bf41a35f96e8ef166e3d7a834ab7bfad4f3f1a12ff928363f4"
},
"aarch64_windows": {
"etag": "0x8DEA6AC2A4EBF8E",
"hash": "9d87a7d985d3082df9010d58d7ed5b08c0778afd5cefba84e3eb674c50176a95"
}
},
"2026.4.27": {
"x86_64_linux_musl": {
"etag": "0x8DEA613D6EEA7AA",
"hash": "72df029f60f926f4c1a0619fbdfac6870d4ce7354b074d3be82eeed557203660"
},
"x86_64_macos": {
"etag": "0x8DEA613D9552C3B",
"hash": "f55ec19657cbe15843067d22e854bc89db874b0142c122a82f8db38d14f52243"
},
"x86_64_windows": {
"etag": "0x8DEA613DA874A60",
"hash": "30540c4443b69777682ca74211ca283006f110b23f2ea4da96713b29d7766fdb"
},
"aarch64_linux_musl": {
"etag": "0x8DEA613D3075433",
"hash": "6d525c6cce79c4a0aa570eb22bd7041510c2cf601ddea85b028fcbab37dc1268"
},
"aarch64_macos": {
"etag": "0x8DEA613D88B926D",
"hash": "95493bfc1850c4df04f8e4417bd9e40a5fa1001b925ff43a92db7056afbd1d6d"
},
"aarch64_windows": {
"etag": "0x8DEA613DA8136C0",
"hash": "2de70631d51747d7bd39feaf08f4a5ae6f36a9167955cf71fcacd84b2ed3f8c0"
}
},
"2026.4.25": {
"x86_64_linux_musl": {
"etag": "0x8DEA5227685D845",
"hash": "238b647dafef3afc5f74892a1f58cdeadf8682fe54d5dabaefa114f72bca6453"
},
"x86_64_macos": {
"etag": "0x8DEA5227989E63B",
"hash": "d0a0f670c28b823e35d4a8ad963ebcf1402db55205575ebe0357bf40ac469283"
},
"x86_64_windows": {
"etag": "0x8DEA5227B378709",
"hash": "d7e2d58adc30e52f45af4a8e3dcf031b6af341f425918741439a5e35526ddfae"
},
"aarch64_linux_musl": {
"etag": "0x8DEA52271E57B1A",
"hash": "41ab437afbf42ec653329308374df8da39e5a32805327994e75c8b50b470a06b"
},
"aarch64_macos": {
"etag": "0x8DEA5227934377B",
"hash": "6ebafb7f53bdebf0cf76c86b174e742e6321f45597ae9a5e6fafa460396d99d2"
},
"aarch64_windows": {
"etag": "0x8DEA5227A9F74C9",
"hash": "5a311314c3ac9487d91efc6fc5b35b4f934fbed03d0f6a01e21188a5c84892b3"
}
},
"2026.4.24": {
"x86_64_linux_musl": {
"etag": "0x8DEA45161A9D475",
"hash": "9307d627f50c0325c33ef964723a9845bf80bfd5fe3fa4564ccc78a5ffe47900"
},
"x86_64_macos": {
"etag": "0x8DEA45165319942",
"hash": "a00d7ab6e26ed778887b49c770f7893586ee4f86e46b80b7e869201a000550c6"
},
"x86_64_windows": {
"etag": "0x8DEA4516689D916",
"hash": "b8072dca6c8399dbda929db95ff2a1fa261833a2f1dea7e77bc026c8d825d28c"
},
"aarch64_linux_musl": {
"etag": "0x8DEA4515E1EB80D",
"hash": "b5be9ef118acf0935f654a9380d5a4a8be782830063fffc006511f1023acd599"
},
"aarch64_macos": {
"etag": "0x8DEA451643D76CB",
"hash": "305aa9fc58c374dcb81b370e3ac7ac96fd13d53532252cfaf384fbd7ab9ad2a8"
},
"aarch64_windows": {
"etag": "0x8DEA4516611AE03",
"hash": "4a6ee8e3eb11e3f34842166a4594e6a2cfab4a9df867493415c3d54d663d1782"
}
},
"2026.4.23": {
"x86_64_linux_musl": {
"etag": "0x8DEA3DBFFDA9F73",
"hash": "43c9496202b5c896c2454e5c62f73dc1850181cb0c5e13b6df5d72319c5434d8"
},
"x86_64_macos": {
"etag": "0x8DEA3DC01B20756",
"hash": "1e7a2b9bd836f59039d20fc82c780d7b8c78e5dd1dfc138c0020b1b180c3192c"
},
"x86_64_windows": {
"etag": "0x8DEA3DC02E55C98",
"hash": "fbfc8913b6e95cf24be6e2a6d83bd3059ec953e47570793916fc8afb3b1b66b1"
},
"aarch64_linux_musl": {
"etag": "0x8DEA3DBFCC3463D",
"hash": "3c61f6ad05e662feaece6feccdbb0c075e787efbba5a780272133b02282c95f6"
},
"aarch64_macos": {
"etag": "0x8DEA3DC010F04E9",
"hash": "c5ab822d0e3435ae4493e31a484cf86b2a819522eedad5555f5aed45bfac4545"
},
"aarch64_windows": {
"etag": "0x8DEA3DC02747C4D",
"hash": "766197d37306009734a3696def00448cddb8f0073d4439c75b7bcb37f1882191"
}
},
"2026.4.22": {
"x86_64_linux_musl": {
"etag": "0x8DEA2F9B9C7884A",
"hash": "a80e2e1d459f4dc9e66f2fd3dd038933ac112f8709e8e1116b22945548303c8b"
},
"x86_64_macos": {
"etag": "0x8DEA2F9BC7B8681",
"hash": "63887b6deabe69924e163659623fb09269372674bf2b76d98716c3754852dc6b"
},
"x86_64_windows": {
"etag": "0x8DEA2F9BD95A3CC",
"hash": "3e9b7cab35dfdf888bdc890e86fc72369aef026bebf867199b788e38a887ebea"
},
"aarch64_linux_musl": {
"etag": "0x8DEA2F9B5F5EE53",
"hash": "62362e63f73c92af02712fb62775af77264f9d16614ccbac5a470567b212f0f7"
},
"aarch64_macos": {
"etag": "0x8DEA2F9BB9AAF4E",
"hash": "f3c00057a7ac975be04df24f95e1c987bda52588af1abdce1271121256fc82c8"
},
"aarch64_windows": {
"etag": "0x8DEA2F9BD941EE5",
"hash": "0c6f2488396dc07c9ed834dbb7fc29ea59a738e10d72a590ae513105939958ac"
}
},
"2026.4.20": {
"x86_64_linux_musl": {
"etag": "0x8DEA1F73CD03817",
"hash": "b45fafb4dac8468045575671e881888c8bea5c3ba3450805a1d068bc6fe34f9b"
},
"x86_64_macos": {
"etag": "0x8DEA1F746AAB073",
"hash": "1b1fd7e0c4b2c5950ab4cf5df5b560b5ab5cce18f9e772e38248974dcee7ec2e"
},
"x86_64_windows": {
"etag": "0x8DEA1F75EB4F213",
"hash": "b25a0edadf7398586f1dd721410cf3528f8ac13d9a9dd280d2f982273af2137e"
},
"aarch64_linux_musl": {
"etag": "0x8DEA1F735D92407",
"hash": "18fee09da992de537c563e07f352341a7bd6f1fbbdeda3b86d7a0d19a35975ae"
},
"aarch64_macos": {
"etag": "0x8DEA1F742C52FB7",
"hash": "d9278c027385e1ff90fe1a57c7a25ab71da906f9f184e148278c9efa5d6ddcc6"
},
"aarch64_windows": {
"etag": "0x8DEA1F780F740FF",
"hash": "24e03b67a95d6be74d166f2da56c155fd531d9ef1b2c18ea97228b9608c94d83"
}
},
"2026.4.19": {
"x86_64_linux_musl": {
"etag": "0x8DEA0D59752D510",
"hash": "f037a0877100ac3f9b747d6f3653bcb031d4a2d246b26cf1daca8418317da6f6"
},
"x86_64_macos": {
"etag": "0x8DEA0D59A19357B",
"hash": "ce274ebeb8762e059c171fca1d0a7d8170f9870617b8defb7f2ed5ac798f9afb"
},
"x86_64_windows": {
"etag": "0x8DEA0D59C0850B4",
"hash": "89407035a42f108f8960f6464f2903477e5bd023adef4d039427d2b1cb390bd6"
},
"aarch64_linux_musl": {
"etag": "0x8DEA0D591D041E2",
"hash": "a9c1f9b5c7f53714c81298ce563319bdee94dff29645eb935b3afd5b92a81dc4"
},
"aarch64_macos": {
"etag": "0x8DEA0D599009CF2",
"hash": "0785176288afc613cc152956bca905b7a47b91232f1b360fa9136e594af1c593"
},
"aarch64_windows": {
"etag": "0x8DEA0D59B7E3862",
"hash": "eb5910556fa13d6e85ff22c455526687525e3d412725370f62e13554e672e419"
}
},
"2026.4.18": {
"x86_64_linux_musl": {
"etag": "0x8DE9E2E39FC992B",
"hash": "dcb0187879dcd8adb0f26279f08f9b06f7b78fa3fea3fb95ffd4db72375201f4"
},
"x86_64_macos": {
"etag": "0x8DE9E2E3C75312A",
"hash": "78b95c4a26d4c7f2bbda91dc119e1001eae33aade428f134dc6f1b6857a02cce"
},
"x86_64_windows": {
"etag": "0x8DE9E2E3D783715",
"hash": "0651d43232b99d579f63ee83fa745f2418b37ae187b3f82322e9a2fd2192fe9f"
},
"aarch64_linux_musl": {
"etag": "0x8DE9E2E36AB5E0A",
"hash": "a451af75120d69139c3a88622299a893c2ef6eabdc80ec1226e2296ab6cc3432"
},
"aarch64_macos": {
"etag": "0x8DE9E2E3B93975F",
"hash": "65b8e5f3a8654d725ff3af7781e447e2ed130dcdf412ee937cbd43ef64bb7629"
},
"aarch64_windows": {
"etag": "0x8DE9E2E3D5D7A28",
"hash": "b2107c8a8a21ae6bf7d9e89efdb60a814864dd7b99c7770175896273bb798c0e"
}
},
"2026.4.17": {
"x86_64_linux_musl": {
"etag": "0x8DE9D70541A0D1C",
"hash": "5c661249b75506bdc0a133d91460544b9a0c096c40cdb60a5c8d9e60bc144897"
},
"x86_64_macos": {
"etag": "0x8DE9D705805C8FD",
"hash": "7925831a68bb119ae0a744408ab646b476f6309720b46d7f5ab466613ca7ada8"
},
"x86_64_windows": {
"etag": "0x8DE9D705A337B82",
"hash": "51bf2412db91411717e5b34bfdf4ec86428abe20de5115c71c3c2ae96baee5de"
},
"aarch64_linux_musl": {
"etag": "0x8DE9D704E988A27",
"hash": "e9e47b246b73f84348736f48e909424865a01d0d5e853df51d77da33d53ae84d"
},
"aarch64_macos": {
"etag": "0x8DE9D7056DA3305",
"hash": "ac0251f8ccbd48de250aa866a05637b74439b22f815a894bd47fce5d52e209e7"
},
"aarch64_windows": {
"etag": "0x8DE9D7059853AF9",
"hash": "efbeb472c5e30ec6715ff3722a099c70191da00a2324cfdae16c4c2af3e55103"
}
},
"2026.4.16": {
"x86_64_linux_musl": {
"etag": "0x8DE9C757DA1C42B",
"hash": "3dd389bee8684c6e8c400b2d44a33a1087981ae287b7c98816e3537f524287d7"
},
"x86_64_macos": {
"etag": "0x8DE9C7580347D88",
"hash": "547f3ed469fc97808b8b82e776ad74f63ffa34ac93a6b2b40cb69473dcb4e240"
},
"x86_64_windows": {
"etag": "0x8DE9C758180BD2A",
"hash": "9bf630a213b2cad0560a16ba6635d521b9c47d5fc48861c7a781805bb6c393b7"
},
"aarch64_linux_musl": {
"etag": "0x8DE9C757A63389F",
"hash": "5328c096b5a7aef266ee3c8495c3aab7f916c294c034b4488da2a7bdb40b76cf"
},
"aarch64_macos": {
"etag": "0x8DE9C757F339817",
"hash": "b394f42bd7d3f9c4a1edd455f6839eaa32f14265fee8ab76888cf910e76e58ed"
},
"aarch64_windows": {
"etag": "0x8DE9C758151F28A",
"hash": "82405507919f77784561d980da7f94cf5589c8d56503ada9d804996672324e04"
}
},
"2026.4.15": {
"x86_64_linux_musl": {

View File

@@ -2,13 +2,45 @@
"rust_crate": null,
"template": null,
"latest": {
"version": "2.3.5"
"version": "2.3.6"
},
"2": {
"version": "2.3.5"
"version": "2.3.6"
},
"2.3": {
"version": "2.3.5"
"version": "2.3.6"
},
"2.3.6": {
"x86_64_linux_musl": {
"url": "https://github.com/google/osv-scanner/releases/download/v2.3.6/osv-scanner_linux_amd64",
"etag": "0x8DEA71BEE7568B3",
"hash": "f689e183ef0d573d2459738aae457d411a26241ae58b5088de1af288b3355604"
},
"x86_64_macos": {
"url": "https://github.com/google/osv-scanner/releases/download/v2.3.6/osv-scanner_darwin_amd64",
"etag": "0x8DEA71BED1E865D",
"hash": "d5c91db387e0559b12136106bce5a57dbcea6fac22942721bd25b2334b28db28"
},
"x86_64_windows": {
"url": "https://github.com/google/osv-scanner/releases/download/v2.3.6/osv-scanner_windows_amd64.exe",
"etag": "0x8DEA71BECED9B41",
"hash": "14856196d681e18238b41d4741bbe0558bef157c4b3b49d618528294afebe19f"
},
"aarch64_linux_musl": {
"url": "https://github.com/google/osv-scanner/releases/download/v2.3.6/osv-scanner_linux_arm64",
"etag": "0x8DEA71BECF8B260",
"hash": "e6ab0955cc906f308704575a608d28e55068d00c7fa7f47797131c89b30c0373"
},
"aarch64_macos": {
"url": "https://github.com/google/osv-scanner/releases/download/v2.3.6/osv-scanner_darwin_arm64",
"etag": "0x8DEA71BED22798A",
"hash": "3d7a12f4349a9e8f822513e5544d4a747ab53b7225d4bf5a2d00211cbc9dfe19"
},
"aarch64_windows": {
"url": "https://github.com/google/osv-scanner/releases/download/v2.3.6/osv-scanner_windows_arm64.exe",
"etag": "0x8DEA71BEE3B86FE",
"hash": "5edd366ce55b696dbe74237987d8947808c400721b0cc4852f8224fbfd9f3c17"
}
},
"2.3.5": {
"x86_64_linux_musl": {

106
manifests/prek.json generated
View File

@@ -39,10 +39,112 @@
}
},
"latest": {
"version": "0.3.9"
"version": "0.3.11"
},
"0.3": {
"version": "0.3.9"
"version": "0.3.11"
},
"0.3.12": {
"x86_64_linux_musl": {
"etag": "0x8DEAA7D00F52541",
"hash": "6e4874a2d83451df4946e81f161dc8c6bdc675064cca1f2e1e8b0921dc862ae8"
},
"x86_64_macos": {
"etag": "0x8DEAA7D008188C4",
"hash": "ed4aa96e2c71a29d30d5e8e8b173155cda9f6aea9822e4773ccff70da5a8287a"
},
"x86_64_windows": {
"etag": "0x8DEAA7D00B66709",
"hash": "b75cdae3279806c7a046b18c45c601fe3ec1a380f11911bc39c5273100e18fce"
},
"aarch64_linux_musl": {
"etag": "0x8DEAA7CFF326611",
"hash": "2d7bc8ce9bb8521a2b9f67ad23d556fbf208a8cf5d141f09c3dbae919df756aa"
},
"aarch64_macos": {
"etag": "0x8DEAA7CFEEC3638",
"hash": "8e31a0e21c2d70e0583500f728e2c1aaba45c397a2ef2c4ea43afb7cd64f5d04"
},
"aarch64_windows": {
"etag": "0x8DEAA7CFEF85D7F",
"hash": "6f69d45aa32571e9c34104564dd06a32b7aeec9802831a00a5074fa1a89d5ba9"
},
"riscv64_linux_gnu": {
"etag": "0x8DEAA7D0042F174",
"hash": "c4b23c1b7381f251499bba7e5d01c356a39b313f8fe0a5bf53a0e1f4f7d8d91a"
},
"s390x_linux_gnu": {
"etag": "0x8DEAA7D006A2383",
"hash": "5b6073abfcfd85c692c6e0f71185f24af911b55d6303a4dfa65fb0c6951d3ede"
}
},
"0.3.11": {
"x86_64_linux_musl": {
"etag": "0x8DEA414EFB86FDD",
"hash": "7671b1b17dd5a3c01e1772323b2688ab2956d737f2b5fdd15f49a7eb14eff837"
},
"x86_64_macos": {
"etag": "0x8DEA414EF57351C",
"hash": "53cd52b8ed1192d6a183775027e9d68a39e8e2470932c4caf20ea548c0bd9633"
},
"x86_64_windows": {
"etag": "0x8DEA414EF76A7B5",
"hash": "a40604c7a10e6876423fb53ce3325615a2e90b5b3f09e15676b1d2fe74e56948"
},
"aarch64_linux_musl": {
"etag": "0x8DEA414EE21BE76",
"hash": "057484ce99ccbe8ecad17ca78748098cfa209d4018fa0182181d95b2e63057ff"
},
"aarch64_macos": {
"etag": "0x8DEA414EDF86BF6",
"hash": "a01aebbb7fcebeb1cb5c074e1a3d00cc51a283a5bd8990fce6765c5d350ac602"
},
"aarch64_windows": {
"etag": "0x8DEA414EDF51449",
"hash": "da0465bd86021265089387465c4d4d7a794966fa1cf86920c79cb0e9b98665ba"
},
"riscv64_linux_gnu": {
"etag": "0x8DEA414EF281CA3",
"hash": "db2871c97bfa39da80b145966c304f3e4051aa0e6f4f3c806312ac72aec0cf05"
},
"s390x_linux_gnu": {
"etag": "0x8DEA414EF4C44E4",
"hash": "98867bfaa25f8894124680b5dccf91fe5f7e06adaec8aa77f9287a5058498ae4"
}
},
"0.3.10": {
"x86_64_linux_musl": {
"etag": "0x8DE9F997FFD1858",
"hash": "60a873474e2ff2f70a5ad524d1b51abb6fdf5991900001eb7c8979877d75dacd"
},
"x86_64_macos": {
"etag": "0x8DE9F997F77B599",
"hash": "313882a8bfd76eb6930949ded36b23ce194ccb5431f474c62ae3fde12df100ae"
},
"x86_64_windows": {
"etag": "0x8DE9F997FB515C3",
"hash": "43b85e061bbcf6febb9973a7859d029f29f5ddeeb7722bd234422d8b6bee4406"
},
"aarch64_linux_musl": {
"etag": "0x8DE9F997DF1BB18",
"hash": "50e585ce98988b70d79ec782b2cf6c787c2f0a97a448ba8594448b4a6a688943"
},
"aarch64_macos": {
"etag": "0x8DE9F997DB040DC",
"hash": "e885e023ddb765ba31a2859bd4b9683f9b40fee3195c189a749bc4b28535ab5c"
},
"aarch64_windows": {
"etag": "0x8DE9F997D9866DE",
"hash": "4a6de3ff0fc2049ca72b8ab0ec567e195362a22c7efcca7ef0824b36b55d4193"
},
"riscv64_linux_gnu": {
"etag": "0x8DE9F997F2903CC",
"hash": "029ba9576b560753b0a4374ace6c5df6808e3e935ae0d4a67a5935debc12dbd4"
},
"s390x_linux_gnu": {
"etag": "0x8DE9F997F6EE5E2",
"hash": "bfe0c951b48cca6f91a85f83ec94a59cc567df988c0a7f23c0f34de0a232e08c"
}
},
"0.3.9": {
"x86_64_linux_musl": {

61
manifests/rclone.json generated
View File

@@ -27,13 +27,68 @@
}
},
"latest": {
"version": "1.73.4"
"version": "1.74.0"
},
"1": {
"version": "1.73.4"
"version": "1.74.0"
},
"1.74": {
"version": "1.74.0"
},
"1.74.0": {
"x86_64_linux_musl": {
"etag": "0x8DEA79A9997861D",
"hash": "61de0a78d8776fe3e080f8385ebe96d817f2ee6a6003fe36b2d9f3b49d3e36ea"
},
"x86_64_macos": {
"etag": "0x8DEA79BD22CFC65",
"hash": "e47ce2c488fe097119f219018e97f6806766540238f126dcdc510da9ffc0f0eb"
},
"x86_64_windows": {
"etag": "0x8DEA79C0D5C94E2",
"hash": "ccebeae41401e60e6906a4c98bd0f0bd94038b7e6cc3dd01a487013c1a7e4951"
},
"aarch64_linux_musl": {
"etag": "0x8DEA79B022A4507",
"hash": "c28148f72e82e16953a9f7eedbe610736968240318ff33872f90bfdd689cc72f"
},
"aarch64_macos": {
"etag": "0x8DEA79BDB84A9D0",
"hash": "965b79b0bee24280a787e1f0f0a3e62347516e81cb6a40e5cc8ea4995b1ba917"
},
"aarch64_windows": {
"etag": "0x8DEA79C15813A83",
"hash": "9b0b1b407e2befbc9d4f0b0ea9ff95d5822e41e3f601085ccc1d5b62ad0c49d5"
}
},
"1.73": {
"version": "1.73.4"
"version": "1.73.5"
},
"1.73.5": {
"x86_64_linux_musl": {
"etag": "0x8DE9E0C3BBE3A4E",
"hash": "932cf4b7484de74d82b4875488e0009469fd21f9904673385184520fe11a1bf0"
},
"x86_64_macos": {
"etag": "0x8DE9E0D0D15BEE0",
"hash": "19c709563e455d8f8e343d5521e741afa7a77e37c6552ad8f7b03034f8bc214b"
},
"x86_64_windows": {
"etag": "0x8DE9E0D47EF790D",
"hash": "201567c54304935112b06dfac4ad754786287fb5acfad8889feca8d1cdeba92b"
},
"aarch64_linux_musl": {
"etag": "0x8DE9E0C537CFE99",
"hash": "8d465c921d95b2f54c5f2e79b24c97742ebc2082a0b8709a686361bed5ba7932"
},
"aarch64_macos": {
"etag": "0x8DE9E0D1603AE83",
"hash": "b9e265eb7a098743d0726c05c73fe207d355950fb8481e0b226c0c00173da1e8"
},
"aarch64_windows": {
"etag": "0x8DE9E0D4F7F62B7",
"hash": "8805406a984115e7cfe3b021a20a983b7060a70f198484cf373d687b6f625923"
}
},
"1.73.4": {
"x86_64_linux_musl": {

39
manifests/sccache.json generated
View File

@@ -35,7 +35,44 @@
}
},
"latest": {
"version": "0.14.0"
"version": "0.15.0"
},
"0.15": {
"version": "0.15.0"
},
"0.15.0": {
"x86_64_linux_musl": {
"etag": "0x8DEA60451CA1112",
"hash": "782d2b5dd7ae0a55ebe368ab258114d0928d019ac2d949ab85d5d02f3926709e"
},
"x86_64_macos": {
"etag": "0x8DEA6044FF17166",
"hash": "f8da93e0689122268f720ddb48c8357f3da18be8c88aff23a8e75a7a219367db"
},
"x86_64_windows": {
"etag": "0x8DEA60450D9E185",
"hash": "b0b257a164bf438b2dea134ca7ded41c100f59a64b3bf275a202f1e8102ab217"
},
"aarch64_linux_musl": {
"etag": "0x8DEA60448F9BF88",
"hash": "3a6a3712b49da3d263bf2d30d702de4302793016019e800bfb81c0c69401d8f8"
},
"aarch64_macos": {
"etag": "0x8DEA6044706FE7C",
"hash": "430ef7b5f54256d3ed5bfe77e8b0afc51aa209aeebe4f95b69c3a52ce3acc6e9"
},
"aarch64_windows": {
"etag": "0x8DEA60447F644B8",
"hash": "f4f304dc9dd9bd2f9b0032a0091efac1c093934bb095f207381558f80c3d0a24"
},
"riscv64_linux_musl": {
"etag": "0x8DEA6044CF155B9",
"hash": "d24b685ca21bf9388da5311c4dfe88de813acea84ca85b12d67f4e4b9a7a983a"
},
"s390x_linux_musl": {
"etag": "0x8DEA6044ED0F256",
"hash": "729618c5fe016aa553f372ec28bfeff4288ba5d99baee6dc04031336a789b6f1"
}
},
"0.14": {
"version": "0.14.0"

78
manifests/syft.json generated
View File

@@ -35,10 +35,84 @@
}
},
"latest": {
"version": "1.42.4"
"version": "1.44.0"
},
"1": {
"version": "1.42.4"
"version": "1.44.0"
},
"1.44": {
"version": "1.44.0"
},
"1.44.0": {
"x86_64_linux_musl": {
"etag": "0x8DEA7A585FE5AC5",
"hash": "0e91737aee2b5baf1d255b959630194a302335d848ff97bb07921eb6205b5f5a"
},
"x86_64_macos": {
"etag": "0x8DEA7A585F0D569",
"hash": "c40ece5407927327f94f35901727dbc604b46857e04f04ec94a310845fb71bde"
},
"x86_64_windows": {
"etag": "0x8DEA7A58639E853",
"hash": "195e786eb84ec145854f20528992e86637c77d1968731dfe6ce850c90e28f47a"
},
"aarch64_linux_musl": {
"etag": "0x8DEA7A585F39170",
"hash": "6f6cdcdc695721d91ce756e3b5bc3e3416599c464101f5e32e9c3f33054ee6d9"
},
"aarch64_macos": {
"etag": "0x8DEA7A586072A83",
"hash": "24e4d34078ae81da7c82539616f0ccac3e226cf4f74a38ce6fb3463619e50a55"
},
"aarch64_windows": {
"etag": "0x8DEA7A58626763B",
"hash": "3ebcde4f1bdfd3149c4527b85279cfc725ba7660ccf54b68b51be06a9271808e"
},
"powerpc64le_linux_musl": {
"etag": "0x8DEA7A585F64D81",
"hash": "bfcbc58e7d9132656290e18255a0bf8f8e11b78cd9a5dc143c311258c35061a9"
},
"s390x_linux_musl": {
"etag": "0x8DEA7A585EF02B4",
"hash": "589bcbddd1cdab852e1adc4f7bedf51f70a86916679544d6e27494e3b05bd43d"
}
},
"1.43": {
"version": "1.43.0"
},
"1.43.0": {
"x86_64_linux_musl": {
"etag": "0x8DEA08832FE52CE",
"hash": "7b98251d2d08926bb5d4639b56b1f0996a58ef6667c5830e3fe3cd3ad5f4214a"
},
"x86_64_macos": {
"etag": "0x8DEA08832F2C701",
"hash": "08fd18f55037f999f50b2c2256a9285f0146978a0b16cdc58662ecdc85d0e3c0"
},
"x86_64_windows": {
"etag": "0x8DEA088330A7A24",
"hash": "c51695d171c61460369dabdd5c71b8f350ef8618466818356a30808d7105c710"
},
"aarch64_linux_musl": {
"etag": "0x8DEA08832D87EBE",
"hash": "afe92510c467f952a009b994f2d998ff8f9dd266dc26eca55d14a0dd46fec7f2"
},
"aarch64_macos": {
"etag": "0x8DEA08832E47F34",
"hash": "3640e2181c8be7a56377f3c96e520d5380c924dbafd115ee3c8d45fcbc89cac2"
},
"aarch64_windows": {
"etag": "0x8DEA088330969E6",
"hash": "4cba6630f4ae27aeb63d10e2961b7ff8212781a8c7d9fe92127fb09881b14c99"
},
"powerpc64le_linux_musl": {
"etag": "0x8DEA0883301AA66",
"hash": "8f1b2c1a8e4356c17f86b779908bb5d2e7c8256fab4a09edf7826e2eb6798289"
},
"s390x_linux_musl": {
"etag": "0x8DEA08832EAE0A4",
"hash": "f812b6f36e7478f8c1ffd78352a38153bc3205310401f0a717c0e633b7a47a5f"
}
},
"1.42": {
"version": "1.42.4"

780
manifests/tombi.json generated

File diff suppressed because it is too large Load Diff

35
manifests/trivy.json generated
View File

@@ -31,7 +31,40 @@
}
},
"latest": {
"version": "0.69.3"
"version": "0.70.0"
},
"0.70": {
"version": "0.70.0"
},
"0.70.0": {
"x86_64_linux_gnu": {
"etag": "0x8DE9C4D820E1C11",
"hash": "8b4376d5d6befe5c24d503f10ff136d9e0c49f9127a4279fd110b727929a5aa9"
},
"x86_64_macos": {
"etag": "0x8DE9C4D845AA570",
"hash": "52d531452b19e7593da29366007d02a810e1e0080d02f9cf6a1afb46c35aaa93"
},
"x86_64_windows": {
"etag": "0x8DE9C4D85B4DEF4",
"hash": "eea5442eab86f9e26cd718d7618d43899e72a83767619e8bee47911bddbfb825"
},
"aarch64_linux_gnu": {
"etag": "0x8DE9C4D829357D2",
"hash": "2f6bb988b553a1bbac6bdd1ce890f5e412439564e17522b88a4541b4f364fc8d"
},
"aarch64_macos": {
"etag": "0x8DE9C4D83C8A6C7",
"hash": "68e543c51dcc96e1c344053a4fde9660cf602c25565d9f09dc17dd41e13b838a"
},
"powerpc64le_linux_gnu": {
"etag": "0x8DE9C4D8582BCCA",
"hash": "ddc8fb59164e16a9973f46b77b7556de2923ac295731910822f0851ec9edfb01"
},
"s390x_linux_gnu": {
"etag": "0x8DE9C4D81CDB213",
"hash": "92ec9caffdcc32d43b76d21d4ecd6ea2975a2b37e050d5f79e17651c490b1753"
}
},
"0.69": {
"version": "0.69.3"

53
manifests/typos.json generated
View File

@@ -21,13 +21,60 @@
}
},
"latest": {
"version": "1.45.1"
"version": "1.46.0"
},
"1": {
"version": "1.45.1"
"version": "1.46.0"
},
"1.46": {
"version": "1.46.0"
},
"1.46.0": {
"x86_64_linux_musl": {
"etag": "0x8DEA6D3DC79A768",
"hash": "c62a626df385c96574743fd4974aeb271a41a67d080a0398e36e1a42782f614a"
},
"x86_64_macos": {
"etag": "0x8DEA6D43E71FCD4",
"hash": "ca0bba6c8a80b4981951dbc3519987d51ef3a60e0b0a462db005ad99de47b40d"
},
"x86_64_windows": {
"etag": "0x8DEA6D414B32B76",
"hash": "a95e17043bdc0b890936e0213f7a533f4ccdf5430bb7c4a26984de8c77238536"
},
"aarch64_linux_musl": {
"etag": "0x8DEA6D3BDC1A9BE",
"hash": "1f8324d5b17c7354c4a83865007efb55c8278ef4cc22bed748df6b92ca439384"
},
"aarch64_macos": {
"etag": "0x8DEA6D3EC884EB1",
"hash": "322f90609f951bc27e204cf8d0370702510ae99e87285b217916fb2c09d76111"
}
},
"1.45": {
"version": "1.45.1"
"version": "1.45.2"
},
"1.45.2": {
"x86_64_linux_musl": {
"etag": "0x8DEA476A8DDBE86",
"hash": "8463790818b926ef97bd03633ba8943549040d7defd3951e8518903f01d360a8"
},
"x86_64_macos": {
"etag": "0x8DEA476CB697B7B",
"hash": "3ff87158bdcbc4e0886a0ed291f372cc31cd2ff489d0541cea4c3c251f4f4ad5"
},
"x86_64_windows": {
"etag": "0x8DEA47714FF211E",
"hash": "c0a53545ffcc5a0d698af4dead167184b0e8c20fd06013fd58dddceadc901689"
},
"aarch64_linux_musl": {
"etag": "0x8DEA476A9A1B8B9",
"hash": "838aad0c2a22ef4d8b4195fc288e6d7d94ba54871adc6414caa8199780ae1ef5"
},
"aarch64_macos": {
"etag": "0x8DEA476FD0DC290",
"hash": "65f3f46b03383992aa96d07a88e7859ed21fd3e3314691c65079e39461c2b38e"
}
},
"1.45.1": {
"x86_64_linux_musl": {

42
manifests/uv.json generated
View File

@@ -68,10 +68,48 @@
}
},
"latest": {
"version": "0.11.7"
"version": "0.11.8"
},
"0.11": {
"version": "0.11.7"
"version": "0.11.8"
},
"0.11.8": {
"x86_64_linux_musl": {
"etag": "0x8DEA45F71233F4B",
"hash": "de82507d12e31cfc86c1c776238f7c248e48e40d996dedc812d64fdd31c6ed12"
},
"x86_64_macos": {
"etag": "0x8DEA45F7058E3D3",
"hash": "c59d73bf34b58bc8e33a11629f7a255c11789fd00f03cd3e68ab2d1603645de9"
},
"x86_64_windows": {
"etag": "0x8DEA45F70D722AA",
"hash": "c84629a56e0706b69a47ea35862208af827cb6fbfa1d0ca763c52c67594637e8"
},
"aarch64_linux_musl": {
"etag": "0x8DEA45F6D6039F9",
"hash": "29418befb64f926a2dba3473e8e69acd00b36fb845d85344ef11321a993ad8f5"
},
"aarch64_macos": {
"etag": "0x8DEA45F6CB04DA7",
"hash": "c729adb365114e844dd7f9316313a7ed6443b89bb5681d409eebac78b0bd06c8"
},
"aarch64_windows": {
"etag": "0x8DEA45F6CE7C10C",
"hash": "bb48716e74e4998993f15bc57a55e4d0d73ccbd27a66d7cbed37605f7c67d747"
},
"powerpc64le_linux_gnu": {
"etag": "0x8DEA45F6F2236AC",
"hash": "7b66bcc99237d19fb25d8b1bcbc1f973f735027d49e7cb9ffa22cd539fefccbc"
},
"riscv64_linux_gnu": {
"etag": "0x8DEA45F6FE484F0",
"hash": "dd43289c567fda3ca59ec714ffca09125f1149289448667f36a4bb7c29c859be"
},
"s390x_linux_gnu": {
"etag": "0x8DEA45F70134F83",
"hash": "068eb3f47d0760d50cd2e0fc59cc2c09eb12a4ec8bb12c269f3aef706bf4dc1a"
}
},
"0.11.7": {
"x86_64_linux_musl": {

135
manifests/vacuum.json generated
View File

@@ -21,7 +21,140 @@
}
},
"latest": {
"version": "0.25.9"
"version": "0.26.4"
},
"0.26": {
"version": "0.26.4"
},
"0.26.4": {
"x86_64_linux_musl": {
"etag": "0x8DEA49A738E87E5",
"hash": "e1c13c3ef2814a07f83bb22e465a94f202114db38267502e4fdf2b9f4dbeda92"
},
"x86_64_macos": {
"etag": "0x8DEA49A72FEA970",
"hash": "6d0109bcc84055ca8b8ecd6a4a04ee59da52709a64e409b429bcd0fb74f4f8ca"
},
"x86_64_windows": {
"etag": "0x8DEA49A739D445F",
"hash": "f21c4227b0c64b574118877cfeb0f4465f8a19af60db49affb591daf3c7285ae"
},
"aarch64_linux_musl": {
"etag": "0x8DEA49A73B875F7",
"hash": "d0f03a55a8a7c73a2cdc00a236eec12c2899e6209618c3f1e031000c4b3eb064"
},
"aarch64_macos": {
"etag": "0x8DEA49A731021F1",
"hash": "3f2cbce7d27bc24be29deb258ac9abca821de1792fbf6114e564d13b0298e7df"
},
"aarch64_windows": {
"etag": "0x8DEA49A73CCAA9E",
"hash": "d7f9bfbee77475ac5ddd8074456cd1844345863fd38c801237311bdc08016de1"
}
},
"0.26.3": {
"x86_64_linux_musl": {
"etag": "0x8DEA3AF51982B26",
"hash": "1dbbd82f5937dce17c31c3af1790eeed2c0bb78e9abb0b135da21e529f105ad5"
},
"x86_64_macos": {
"etag": "0x8DEA3AF50B33947",
"hash": "57b4981a0b3c5853c6e36bf2922f27d324634515a78dcf1cbf1e1d928de050e9"
},
"x86_64_windows": {
"etag": "0x8DEA3AF51A2F471",
"hash": "71c86bb00fcef322cd431971521c51386fc4d3e976edf10285121b43229193c0"
},
"aarch64_linux_musl": {
"etag": "0x8DEA3AF51A70E85",
"hash": "209163b44fa1fadd7306b3572616282f13b20f909ca73aaa36ad2298ff97c6fa"
},
"aarch64_macos": {
"etag": "0x8DEA3AF50A455E2",
"hash": "68f6ccc77ea162eaa834ad2012ec78223b0135f7b95acb65261fe505fd629006"
},
"aarch64_windows": {
"etag": "0x8DEA3AF50B0A429",
"hash": "b26834cb96e0a1ebf2c743d7616b056d2a4b03049e8a7a0d44070583d41cb08d"
}
},
"0.26.2": {
"x86_64_linux_musl": {
"etag": "0x8DEA3A1443507B5",
"hash": "2b52be503b88495d68a70455bf25f1d551a4bb35b55a075da7b32bf04d3c1407"
},
"x86_64_macos": {
"etag": "0x8DEA3A14412646D",
"hash": "56496d56ea38d92db00deb912df36ff3caa894658ec8587c6e41375ff357d3a1"
},
"x86_64_windows": {
"etag": "0x8DEA3A143AC4D58",
"hash": "35ff2ff0ffaeb88177233a1f5b3d1f832ae7e33e0a21883766e1661e1f427695"
},
"aarch64_linux_musl": {
"etag": "0x8DEA3A14382AD1F",
"hash": "b86764b4941a372fbf10f1af0a4c75ec6c3fa379ec3879b8c1cfca8a8b55165a"
},
"aarch64_macos": {
"etag": "0x8DEA3A144238F2E",
"hash": "42a2b0656a0d293513b093c73de94619fc82cfcfee449fbee50cb725e42850fb"
},
"aarch64_windows": {
"etag": "0x8DEA3A143FD944D",
"hash": "48c7a2540432299dbf1c09aebfcc89c11d34b317adc53b51924711e6644953ab"
}
},
"0.26.1": {
"x86_64_linux_musl": {
"etag": "0x8DE9CB74E5A88FF",
"hash": "e5981c4df9adfe21ab63cd8d00b073b2f11d09dc7382763da6a4ee00810bdcc2"
},
"x86_64_macos": {
"etag": "0x8DE9CB74E5AAFE2",
"hash": "d1b778986b4e5aba1f533f340c8793a223880ee75f9f619c85e1cd7f06be7e65"
},
"x86_64_windows": {
"etag": "0x8DE9CB74DAAC329",
"hash": "84d518e42fd436b64deef747e10b14efd54f295fc88af607fa79e78a9dac83aa"
},
"aarch64_linux_musl": {
"etag": "0x8DE9CB74DA2B5DE",
"hash": "48a32e9affd6b37904565fcaa83f31463f523697fd19cc87d27e1fbad8f76614"
},
"aarch64_macos": {
"etag": "0x8DE9CB74E5510F4",
"hash": "d45dbc463b5cb77e440800bd8e47f735d5a97745615e5b77d1b0df850c81354b"
},
"aarch64_windows": {
"etag": "0x8DE9CB74DA1A5A8",
"hash": "158e29510ae726ffd77a9c2278ff83f1ccb995835209000aeeedd88a51f08bd3"
}
},
"0.26.0": {
"x86_64_linux_musl": {
"etag": "0x8DE9CA803D9C931",
"hash": "04e1b648096cc9fddab878fe03f1d2761c677afe5bb7e24b9814e6c28aa5b855"
},
"x86_64_macos": {
"etag": "0x8DE9CA803E63E5C",
"hash": "f5618d20dcdb47e8dd8aa43e4abaa1cf5bba4f1b5cbd13e384f59cd1247fab7f"
},
"x86_64_windows": {
"etag": "0x8DE9CA8048023EB",
"hash": "89c5e0b608f1cfe0e4651a7c4d533021d8a32fd36e6db607afb98b31e6906738"
},
"aarch64_linux_musl": {
"etag": "0x8DE9CA8047CF332",
"hash": "3f6c2c4386e594fd8f2ea407639943fca48a23aa298dd70dd29e81840eb1e800"
},
"aarch64_macos": {
"etag": "0x8DE9CA803F7B6E0",
"hash": "7fdad92a67137af1a809be812137036af2a8c859fa2e08be8949a29ca47c8007"
},
"aarch64_windows": {
"etag": "0x8DE9CA80486D327",
"hash": "52f14a24a79b47d2d2370f49e937b8c9b7dff457f815decfe9d744e25f64bd22"
}
},
"0.25": {
"version": "0.25.9"

View File

@@ -43,10 +43,32 @@
}
},
"latest": {
"version": "0.2.118"
"version": "0.2.120"
},
"0.2": {
"version": "0.2.118"
"version": "0.2.120"
},
"0.2.120": {
"x86_64_linux_musl": {
"etag": "0x8DEA4FA606184E0",
"hash": "ceb6f0b9fea9d2868f258215a1d7f86a4c28330a0d64432cc7d53674618772d6"
},
"x86_64_macos": {
"etag": "0x8DEA4FA6066D61F",
"hash": "e5fc77cb94720b87c29d810cfb6b06133b817204795ff414e0e70b1855a3d9e0"
},
"x86_64_windows": {
"etag": "0x8DEA4FA60454309",
"hash": "d8ebacbfdbee70ffdcda0bbfefd99a645aee35ba31ba77dfa3b083f031674977"
},
"aarch64_linux_gnu": {
"etag": "0x8DEA4FA605694B3",
"hash": "430abb4d1f2b68ba266bac223542747fcb994df2a300ed5edffc7dbaa219ff9d"
},
"aarch64_macos": {
"etag": "0x8DEA4FA60495D13",
"hash": "d736b3455c02f69c290fca92168a185451e4ea4376bf59a6052e3919d122b0b5"
}
},
"0.2.118": {
"x86_64_linux_musl": {

View File

@@ -23,10 +23,60 @@
}
},
"latest": {
"version": "1.246.2"
"version": "1.248.0"
},
"1": {
"version": "1.246.2"
"version": "1.248.0"
},
"1.248": {
"version": "1.248.0"
},
"1.248.0": {
"x86_64_linux_gnu": {
"etag": "0x8DEA544010D2FF2",
"hash": "dcd7d587b0f4644aabc85cd4471cb795de84f36a68ee01201d5261f87c0d6349"
},
"x86_64_macos": {
"etag": "0x8DEA544012D1727",
"hash": "188568c2990bb4c09a0936d84bfb6255199f97e4844cd45f418b59c3d6238788"
},
"x86_64_windows": {
"etag": "0x8DEA5440158632D",
"hash": "09063f9c0bc07f412d58a8c1a0202260231d8a94a9dfb7b81892d517de995c1c"
},
"aarch64_linux_gnu": {
"etag": "0x8DEA544008758A3",
"hash": "cb7a3ae7a79aeb3dbcdb1d06eedea7bb45e6d5c7a21e960e14e45d582b2b9f97"
},
"aarch64_macos": {
"etag": "0x8DEA544007DED65",
"hash": "4e03e9e342176a9c52e0c25b9707c7f809daeb0f4986742258c69749681efe79"
}
},
"1.247": {
"version": "1.247.0"
},
"1.247.0": {
"x86_64_linux_gnu": {
"etag": "0x8DE9C8F3E127F12",
"hash": "66a182ad1fc991f4f537d912e1f88f15f1e0bd734de46f2c60b11b884a44cab9"
},
"x86_64_macos": {
"etag": "0x8DE9C8F3E2A5909",
"hash": "8ef61c8206f3bd29b0031b0fff7c3118c4d0b6b2f11bf87ff25ad6592bd42e32"
},
"x86_64_windows": {
"etag": "0x8DE9C8F3E2A3225",
"hash": "33b11836688c3c134089e1f8cc1408288e0e0578a342fccc55b23c89e8440dd8"
},
"aarch64_linux_gnu": {
"etag": "0x8DE9C8F3D9639EA",
"hash": "df4343257da88340461ba9ad6886701d846721c21b5a65c05700ccd1e49104b7"
},
"aarch64_macos": {
"etag": "0x8DE9C8F3DB0CFF1",
"hash": "593bdb6e396da19164dd3032c5d1441f263f16e8273e5b124a6322ff940bdf56"
}
},
"1.246": {
"version": "1.246.2"

186
manifests/wasmtime.json generated
View File

@@ -35,13 +35,121 @@
}
},
"latest": {
"version": "43.0.1"
"version": "44.0.1"
},
"44": {
"version": "44.0.1"
},
"44.0": {
"version": "44.0.1"
},
"44.0.1": {
"x86_64_linux_gnu": {
"etag": "0x8DEA6D32DF31DFF",
"hash": "afd58715f105e3a7f454169daed22168c5736ec5f225fb04c4ac62c54c9508a3"
},
"x86_64_macos": {
"etag": "0x8DEA6D32E761250",
"hash": "db1b9ae473022eb8d6d15241d4f4f29fee0009017bb40465329c1d918efd57b7"
},
"x86_64_windows": {
"etag": "0x8DEA6D32FC4244F",
"hash": "229c645305216a8c0d84f87b867930e82e07438bacb321a24d71039c4e162ea3"
},
"aarch64_linux_gnu": {
"etag": "0x8DEA6D32A83CF17",
"hash": "9ec1e606c541099a7e8266865494e190a6f928abb3a2fb7bb4195fd2e8499d2b"
},
"aarch64_macos": {
"etag": "0x8DEA6D32A9DC97F",
"hash": "ebdf36f0748993144c16ac17ae37f51141f1d7f70eaaf0680e0ef65166d171ff"
},
"aarch64_windows": {
"etag": "0x8DEA6D32B6C8C90",
"hash": "bf73533744da65545d0be3a48eeb4b1ce34ba444bc461dc11fb5c14015883e7c"
},
"riscv64_linux_gnu": {
"etag": "0x8DEA6D32C91C0D1",
"hash": "5bbc250e7e285a61f74d2962e4c2053c23e69b96d88c21218463478e7593a928"
},
"s390x_linux_gnu": {
"etag": "0x8DEA6D32D20B587",
"hash": "978109b54a648803c3d06632fec4814cf098d5e9ab5db4ede15d3313342a42c2"
}
},
"44.0.0": {
"x86_64_linux_gnu": {
"etag": "0x8DE9EECC1A2BBAE",
"hash": "52eba06fe9f4364aa6164a4a3eafb2ca692ba9a756cbe8137b5574871f8cbfc8"
},
"x86_64_macos": {
"etag": "0x8DE9EECC1F8DF49",
"hash": "cd8043448157abc72fa1bd1b9e66ede23e48fefbab80b2744763d25b65f69662"
},
"x86_64_windows": {
"etag": "0x8DE9EECC356232C",
"hash": "6139de7554514c2df1e30cec9b1e6ca493685ece23a039f987b55bf32bc42a57"
},
"aarch64_linux_gnu": {
"etag": "0x8DE9EECBE872014",
"hash": "294cae921fb88cbbcb60a914eaaaf313df3249d718609afb5804186b3f1912f5"
},
"aarch64_macos": {
"etag": "0x8DE9EECBEC6A0D2",
"hash": "38a3b9d9fe64cee21bc9d9268e2c19fa35a7be59e030717545b84da0e6514eab"
},
"aarch64_windows": {
"etag": "0x8DE9EECBF6FB731",
"hash": "34d9e5b42b18893649c895d7794cad8866b82d1382fb5f2953ccf1306853a237"
},
"riscv64_linux_gnu": {
"etag": "0x8DE9EECC08BF58F",
"hash": "6e747f4ec40b1c5959ff002f147cbf1487a667cce42b690ad907ff0aefb0c707"
},
"s390x_linux_gnu": {
"etag": "0x8DE9EECC0E549D0",
"hash": "2bbbaeb0114c7ca4c6b9f9cceed616cb19858f961ab34bab899e2c3e86d22d31"
}
},
"43": {
"version": "43.0.1"
"version": "43.0.2"
},
"43.0": {
"version": "43.0.1"
"version": "43.0.2"
},
"43.0.2": {
"x86_64_linux_gnu": {
"etag": "0x8DEA6D3507DE0B3",
"hash": "06a0b36fd70b6fe4efc3a52325907cbfbb7513c9e1faced9b12e1113d3b89980"
},
"x86_64_macos": {
"etag": "0x8DEA6D3523F8EFE",
"hash": "34e3ad503a5cf2578489d5aa998ef1038bfb862aebc593a4411daf9f2851c34d"
},
"x86_64_windows": {
"etag": "0x8DEA6D353933FF1",
"hash": "9ccbc8f46d058425be56e694a7128f008cb660a7cfa302fff9836bb17a4bf5fe"
},
"aarch64_linux_gnu": {
"etag": "0x8DEA6D34BC901B0",
"hash": "2febb5cdbe18992e5a87598e4f58afddb4509b4ae9a1b0ebe7af4e56e14039e8"
},
"aarch64_macos": {
"etag": "0x8DEA6D34C60ED05",
"hash": "cbe9eeb255f128d0f7eca1b05c081b5fb825ecbcba9dfd2d8c53faa668ada85b"
},
"aarch64_windows": {
"etag": "0x8DEA6D34CCEC367",
"hash": "c66ece2ee99f4b9720274d2633c120a51593d4d7e5651403a333705f0444214e"
},
"riscv64_linux_gnu": {
"etag": "0x8DEA6D34F309128",
"hash": "98569e42abb91aab6a57c9afcb91a6ca22aceffc1c6b3849b03ca453cc1554a2"
},
"s390x_linux_gnu": {
"etag": "0x8DEA6D34F445102",
"hash": "461ffa1530b3877d8ea6a0a86ed0f4a4404cba0daede69e0eddeba9a24d921ca"
}
},
"43.0.1": {
"x86_64_linux_gnu": {
@@ -964,10 +1072,44 @@
}
},
"36": {
"version": "36.0.7"
"version": "36.0.8"
},
"36.0": {
"version": "36.0.7"
"version": "36.0.8"
},
"36.0.8": {
"x86_64_linux_gnu": {
"etag": "0x8DEA6D592BD7544",
"hash": "fe5f010499235a4172b597af54ba5d45f86f1dee61f9529cc5e314ba6b0b2bb7"
},
"x86_64_macos": {
"etag": "0x8DEA6D593F66967",
"hash": "1670ade5e6cd08370447742114be7f5f7dfbd44e963ee5903bf26a3b703b2017"
},
"x86_64_windows": {
"etag": "0x8DEA6D599970FB4",
"hash": "2351cd027b369236535f8e5e3f8cb576cec21ed148199d25e5e800f880bcd2f3"
},
"aarch64_linux_gnu": {
"etag": "0x8DEA6D57F60F151",
"hash": "a1d66230a10d5a4d46abf8fcca7fd90cb33eaeed890c20709a7aa2f50a49fdb6"
},
"aarch64_macos": {
"etag": "0x8DEA6D580CF860C",
"hash": "4ed5053241efebff0e05c337826dfc95a8936d77eedf5d1411bc2e7c86cea3cf"
},
"aarch64_windows": {
"etag": "0x8DEA6D583E7538E",
"hash": "7e1b0ffdd1254c4ecd0b315c404c8f6a56019af7b794551d884bacdca9ddc84b"
},
"riscv64_linux_gnu": {
"etag": "0x8DEA6D58AA2170A",
"hash": "2f9ced83a597ca38acd7a1e6b370f1524603693733b5ec262e37a9d2ec386175"
},
"s390x_linux_gnu": {
"etag": "0x8DEA6D58BED6D0B",
"hash": "09b4037c8644b405e185dbcf3fd3e8c9dec486081919398a48aa295b6bb83c93"
}
},
"36.0.7": {
"x86_64_linux_gnu": {
@@ -2108,10 +2250,40 @@
}
},
"24": {
"version": "24.0.7"
"version": "24.0.8"
},
"24.0": {
"version": "24.0.7"
"version": "24.0.8"
},
"24.0.8": {
"x86_64_linux_gnu": {
"etag": "0x8DEA6CB10789DE8",
"hash": "d125e9a7179481cdafe9a81151680f5623eff0eea9154fe265f81e5f382f88e8"
},
"x86_64_macos": {
"etag": "0x8DEA6CB11B9C61D",
"hash": "3066f5f5b29af52cd41a1fd70dbd25cb5344f2b49877771a5e44c836382c95ff"
},
"x86_64_windows": {
"etag": "0x8DEA6CB16FD2537",
"hash": "a85c5252c8838c0a26c87d8eb95db5854789cdc2f4d4fcb05c4b70880d3141f8"
},
"aarch64_linux_gnu": {
"etag": "0x8DEA6CB061F4C45",
"hash": "b8c31f837a5da7752157551f69dcb1e57f46fa211ee478f8c99a5f3e2ffc347d"
},
"aarch64_macos": {
"etag": "0x8DEA6CB076F3116",
"hash": "6625aad2e9145ef75dcf19e671a1602a8076cbe4b2adb1af8d39d5aff419559c"
},
"riscv64_linux_gnu": {
"etag": "0x8DEA6CB08E5F9DA",
"hash": "7d61a9dec9c6a21ec1687317060dcc5a051343c594851451137569c82c10d7d7"
},
"s390x_linux_gnu": {
"etag": "0x8DEA6CB0A449AFC",
"hash": "a76d17296de0932f384896a9efbda6712a0a5cbf2f63bf466a1987241f3a0885"
}
},
"24.0.7": {
"x86_64_linux_gnu": {

View File

@@ -30,9 +30,14 @@ for manifest in manifests/*.json; do
git stash pop
new_version=$(jq -r '.latest.version' "${manifest}")
if [[ "${old_version}" != "${new_version}" ]]; then
# TODO: If there is a line about updating the same tool in the "Unreleased" section, replace it.
unreleased=$(parse-changelog CHANGELOG.md Unreleased)
msg="Update \`${name}@latest\` to ${new_version}"
if grep -Eq "^- Update \`${name}@latest\` to " <<<"${unreleased}"; then
# If there is a line about updating the same tool in the "Unreleased" section, replace it.
sed -Ei "0,/^- Update \`${name}@latest\` to .*/s//- ${msg}./" CHANGELOG.md
else
sed -Ei "s/^## \\[Unreleased\\]/## [Unreleased]\\n\\n- ${msg}./" CHANGELOG.md
fi
git add "${manifest}" CHANGELOG.md
else
msg="Update ${name} manifest"

86
tools/ci/release-post-commit.sh Executable file
View File

@@ -0,0 +1,86 @@
#!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0 OR MIT
set -CeEuo pipefail
IFS=$'\n\t'
trap -- 's=$?; printf >&2 "%s\n" "${0##*/}:${LINENO}: \`${BASH_COMMAND}\` exit with ${s}"; exit ${s}' ERR
cd -- "$(dirname -- "$0")"/../..
tools=()
for tool in tools/codegen/base/*.json; do
tool="${tool##*/}"
tools+=("${tool%.*}")
done
# Aliases.
# NB: Update case for aliases in main.sh, tool input option in test-alias job
# in .github/workflows/ci.yml, and match for alias for tools/codegen/src/tools-markdown.rs.
tools+=(
nextest
taplo-cli
typos-cli
wasm-bindgen-cli
wasmtime-cli
)
# Non-manifest-based tools.
tools+=(
rust
valgrind
)
for tool in "${tools[@]}"; do
(
set -x
git checkout -b "releases/${tool}"
sed -Ei action.yml \
-e "s/required: true/required: false/g" \
-e "s/# default: #publish:tool/default: ${tool}/g"
git add action.yml
git commit -m "${tool}"
git tag -f "${tool}"
git checkout main
)
refs+=",+refs/heads/releases/${tool},+refs/tags/${tool}"
done
set -x
# Copy manifests to tmp dir.
manifests=/tmp/manifests
rm -rf -- "${manifests}"
mkdir -p -- "${manifests}"
cp -- ./manifests/* "${manifests}"
# Checkout manifest-schema branch
schema_version="$(grep -Eo "^version = \".*\" #publish:version" tools/manifest-schema/Cargo.toml)"
schema_version="$(cut -d\" -f2 <<<"${schema_version}")"
if [[ "${schema_version}" == '0.'* ]]; then
schema_version="0.$(cut -d. -f2 <<<"${schema_version}")"
else
schema_version="$(cut -d. -f1 <<<"${schema_version}")"
fi
schema_branch="manifest-schema-${schema_version}"
refs+=",refs/heads/${schema_branch}"
if git fetch origin "${schema_branch}"; then
git checkout "origin/${schema_branch}" -B "${schema_branch}"
elif ! git checkout "${schema_branch}"; then
# New branch with no history. Credit: https://stackoverflow.com/a/13969482
git checkout --orphan "${schema_branch}"
git rm -rf -- . || true
git commit -m 'Initial commit' --allow-empty
fi
# Copy over schema
cp -- "${manifests}"/* ./
# Stage changes
git add .
# Detect changes, then commit and push if changes exist
if [[ "$(git status --porcelain=v1 | LC_ALL=C wc -l)" != "0" ]]; then
git commit -m 'Update manifest schema'
fi
git checkout main
printf 'additional-refs: %s\n' "${refs}"
if [[ -n "${GITHUB_OUTPUT:-}" ]]; then
printf 'additional-refs=%s\n' "${refs}" >>"${GITHUB_OUTPUT}"
fi

View File

@@ -6,11 +6,13 @@ trap -- 's=$?; printf >&2 "%s\n" "${0##*/}:${LINENO}: \`${BASH_COMMAND}\` exit w
cd -- "$(dirname -- "$0")"/../..
# They don't provide prebuilt binaries for musl or old glibc host.
# version `GLIBC_2.35' not found
# version `GLIBC_2.39' not found
glibc_pre_2_39_incompat=(
cargo-deb
cargo-spellcheck
zizmor
)
# version `GLIBC_2.35' not found
glibc_pre_2_35_incompat=(
"${glibc_pre_2_39_incompat[@]}"
zola
@@ -19,7 +21,6 @@ glibc_pre_2_35_incompat=(
glibc_pre_2_34_incompat=(
"${glibc_pre_2_35_incompat[@]}"
cargo-sort
cargo-spellcheck
espup
wait-for-them
xbuild
@@ -38,6 +39,7 @@ glibc_pre_2_28_incompat=(
glibc_pre_2_27_incompat=(
"${glibc_pre_2_28_incompat[@]}"
cargo-watch
cyclonedx
mdbook-linkcheck
protoc
valgrind
@@ -46,6 +48,7 @@ glibc_pre_2_27_incompat=(
glibc_pre_2_17_incompat=(
"${glibc_pre_2_27_incompat[@]}"
deepsource # https://github.com/DeepSourceCorp/cli/issues/245
rust
)
musl_incompat=(
"${glibc_pre_2_17_incompat[@]}"
@@ -148,6 +151,10 @@ for manifest in tools/codegen/base/*.json; do
fi
case "${host_os}" in
linux*)
# cargo-apple-runner is not supported on Linux
if [[ "${tool_name}" == "cargo-apple-runner" ]]; then
continue
fi
if [[ "${host_arch}" != "x86_64" ]] && [[ "$(jq -r --arg p "${host_arch}_${host_os}_gnu" '.platform[$p]' "${manifest}")" == "null" ]] && [[ "$(jq -r --arg p "${host_arch}_${host_os}_musl" '.platform[$p]' "${manifest}")" == "null" ]]; then
continue
fi
@@ -188,6 +195,41 @@ if [[ "${version}" != "latest" ]]; then
fi
# Not manifest-based
case "${runner}" in
# requires glibc 2.17 / musl 1.2
centos:6 | alpine:3.2) ;;
*)
case $((RANDOM % 4)) in
0) rust=rust ;;
1) rust=rust@stable ;;
2) rust=rust@nightly ;;
3) rust=rust@1.93 ;;
esac
case $((RANDOM % 3)) in
0) ;;
1) rust+='+thumbv6m-none-eabi' ;;
2) rust+=' + thumbv6m-none-eabi' ;;
esac
if [[ "${rust}" == *'nightly'* ]]; then
component=miri
else
component=rustfmt
fi
case $((RANDOM % 5)) in
0) ;;
1) rust+="+${component}" ;;
2) rust+=" + ${component}" ;;
3) rust+=" +${component}" ;;
4) rust+="+ ${component}" ;;
esac
case $((RANDOM % 3)) in
0) ;;
1) rust+='+thumbv7m-none-eabi' ;;
2) rust+=' + thumbv7m-none-eabi' ;;
esac
tools+=("${rust}")
;;
esac
case "${host_os}" in
linux*)
# Installing snap to container is difficult...

View File

@@ -0,0 +1,11 @@
{
"repository": "https://github.com/madsmtm/cargo-apple-runner",
"license_markdown": "[Zlib](https://github.com/madsmtm/cargo-apple-runner/blob/main/LICENSE-ZLIB.txt) OR [Apache-2.0](https://github.com/madsmtm/cargo-apple-runner/blob/main/LICENSE-APACHE.txt) OR [MIT](https://github.com/madsmtm/cargo-apple-runner/blob/main/LICENSE-MIT.txt)",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.tar.gz",
"platform": {
"x86_64_macos": {},
"aarch64_macos": {}
}
}

View File

@@ -4,7 +4,7 @@
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-${rust_target}.zip",
"version_range": "latest",
"version_range": "=1.18.1",
"signing": {
"kind": "minisign-binstall"
},
@@ -18,6 +18,9 @@
"asset_name": "${package}-${rust_target}.tgz"
},
"aarch64_macos": {},
"aarch64_windows": {}
"aarch64_windows": {},
"riscv64_linux_musl": {
"asset_name": "${package}-${rust_target}.tgz"
}
}
}

View File

@@ -3,12 +3,17 @@
"license_markdown": "[LGPLv2.1](https://github.com/drahnr/cargo-spellcheck/blob/master/LICENSE-LGPL)",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": "${package}-v${version}-${rust_target}",
"asset_name": "${package}-v${version}-${rust_target}${exe}",
"version_range": ">= 0.13",
"platform": {
"x86_64_linux_gnu": {},
"x86_64_windows": {
"asset_name": "${package}-v${version}-x86_64-pc-windows-gnu.exe"
}
"asset_name": [
"${package}-v${version}-${rust_target}${exe}",
"${package}-v${version}-x86_64-pc-windows-gnu${exe}"
]
},
"aarch64_linux_gnu": {},
"aarch64_windows": {}
}
}

View File

@@ -0,0 +1,20 @@
{
"repository": "https://github.com/danieleades/mdbook-d2",
"license_markdown": "[MIT](https://github.com/danieleades/mdbook-d2/blob/main/LICENSE)",
"tag_prefix": "v",
"rust_crate": "${package}",
"asset_name": [
"${package}-${rust_target}.tar.gz",
"${package}-${rust_target}.zip"
],
"bin": "${package}${exe}",
"version_range": ">= 0.3.8",
"platform": {
"x86_64_linux_musl": {},
"x86_64_macos": {},
"x86_64_windows": {},
"aarch64_linux_musl": {},
"aarch64_macos": {},
"aarch64_windows": {}
}
}

View File

@@ -6,22 +6,38 @@
"version_range": ">= 0.7",
"platform": {
"x86_64_linux_musl": {
"asset_name": "tombi-cli-${version}-x86_64-unknown-linux-musl.gz"
"asset_name": [
"${package}-cli-${version}-x86_64-unknown-linux-musl.tar.gz",
"${package}-cli-${version}-x86_64-unknown-linux-musl.gz"
],
"bin": "${package}-cli-${version}-x86_64-unknown-linux-musl/${package}"
},
"x86_64_macos": {
"asset_name": "tombi-cli-${version}-x86_64-apple-darwin.gz"
"asset_name": [
"${package}-cli-${version}-x86_64-apple-darwin.tar.gz",
"${package}-cli-${version}-x86_64-apple-darwin.gz"
],
"bin": "${package}-cli-${version}-x86_64-apple-darwin/${package}"
},
"x86_64_windows": {
"asset_name": "tombi-cli-${version}-x86_64-pc-windows-msvc.zip"
"asset_name": "${package}-cli-${version}-x86_64-pc-windows-msvc.zip"
},
"aarch64_linux_musl": {
"asset_name": "tombi-cli-${version}-aarch64-unknown-linux-musl.gz"
"asset_name": [
"${package}-cli-${version}-aarch64-unknown-linux-musl.tar.gz",
"${package}-cli-${version}-aarch64-unknown-linux-musl.gz"
],
"bin": "${package}-cli-${version}-aarch64-unknown-linux-musl/${package}"
},
"aarch64_macos": {
"asset_name": "tombi-cli-${version}-aarch64-apple-darwin.gz"
"asset_name": [
"${package}-cli-${version}-aarch64-apple-darwin.tar.gz",
"${package}-cli-${version}-aarch64-apple-darwin.gz"
],
"bin": "${package}-cli-${version}-aarch64-apple-darwin/${package}"
},
"aarch64_windows": {
"asset_name": "tombi-cli-${version}-aarch64-pc-windows-msvc.zip"
"asset_name": "${package}-cli-${version}-aarch64-pc-windows-msvc.zip"
}
}
}

View File

@@ -4,6 +4,7 @@
"tag_prefix": "",
"rust_crate": "${package}",
"version_range": ">= 0.8.16",
"ignore": ["0.11.9"],
"signing": {
"version_range": ">= 0.9.13",
"kind": {

View File

@@ -31,9 +31,13 @@ pub struct BaseManifest {
/// Path to binaries in archive. Default to `${tool}${exe}`.
pub bin: Option<StringOrArray>,
pub signing: Option<Signing>,
pub version_range: Option<String>,
/// Include to manifest, but exclude from candidate for latest and omitted versions.
#[serde(default)]
pub broken: Vec<semver::Version>,
pub version_range: Option<String>,
/// Exclude from manifest.
#[serde(default)]
pub ignore: Vec<semver::Version>,
/// Use glibc build if host_env is gnu.
#[serde(default)]
pub prefer_linux_gnu: bool,

View File

@@ -96,7 +96,11 @@ fn main() {
semver_version = format!("{default_major_version}.{version}").parse();
}
}
Some((Reverse(semver_version.ok()?), (version, release)))
let semver_version = semver_version.ok()?;
if base_info.ignore.contains(&semver_version) {
return None;
}
Some((Reverse(semver_version), (version, release)))
})
.collect();
@@ -129,7 +133,9 @@ fn main() {
let mut latest_only = false;
if let Some(version_range) = &base_info.version_range {
if version_range == "latest" {
if version_range == "latest"
|| version_range.starts_with('=') && !version_range.contains(',')
{
latest_only = true;
}
}
@@ -171,13 +177,20 @@ fn main() {
let version_req: semver::VersionReq = match version_req {
_ if latest_only => {
let version_range = base_info.version_range.as_ref().unwrap();
if version_range == "latest" {
// Exclude very recently released version from candidate for latest version.
let req =
format!("={}", releases.iter().find(|r| r.1.1.published_at <= before).unwrap().0.0)
let req = format!(
"={}",
releases.iter().find(|r| r.1.1.published_at <= before).unwrap().0.0
)
.parse()
.unwrap();
eprintln!("update manifest for versions '{req}'");
req
} else {
version_range.parse().unwrap()
}
}
None => match base_info.version_range {
Some(version_range) => version_range.parse().unwrap(),

View File

@@ -52,7 +52,20 @@ fn main() {
let mut paths: Vec<_> = fs::read_dir(&manifest_dir).unwrap().map(|r| r.unwrap()).collect();
paths.sort_by_key(fs_err::DirEntry::path);
let mut tools = vec![MarkdownEntry {
let mut tools = vec![
MarkdownEntry {
name: "rust".to_owned(),
alias: None,
website: "https://rust-lang.org".to_owned(),
installed_to: InstalledTo::Cargo,
installed_from: InstalledFrom::Rustup,
platforms: Platforms { linux: true, macos: true, windows: true },
repository: "https://github.com/rust-lang/rust".to_owned(),
license_markdown:
"[Apache-2.0 OR MIT](https://github.com/rust-lang/rust/blob/main/COPYRIGHT)"
.to_owned(),
},
MarkdownEntry {
name: "valgrind".to_owned(),
alias: None,
website: "https://valgrind.org/".to_owned(),
@@ -63,7 +76,8 @@ fn main() {
license_markdown:
"[GPL-2.0](https://sourceware.org/git/?p=valgrind.git;a=blob;f=COPYING;hb=HEAD)"
.to_owned(),
}];
},
];
for path in paths {
let file_name = path.file_name();
@@ -153,6 +167,7 @@ struct MarkdownEntry {
#[derive(Debug, Eq, PartialEq)]
enum InstalledFrom {
GitHubRelease,
Rustup,
Snap,
}
@@ -215,6 +230,9 @@ impl fmt::Display for MarkdownEntry {
let markdown = format!("| [GitHub Releases]({}/releases) ", self.repository);
f.write_str(&markdown)?;
}
InstalledFrom::Rustup => {
f.write_str("| rustup ")?;
}
InstalledFrom::Snap => {
let markdown =
format!("| [snap](https://snapcraft.io/install/{}/ubuntu) ", self.name);

37
tools/rustup-hash.sh Executable file
View File

@@ -0,0 +1,37 @@
#!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0 OR MIT
set -CeEuo pipefail
IFS=$'\n\t'
trap -- 's=$?; printf >&2 "%s\n" "${0##*/}:${LINENO}: \`${BASH_COMMAND}\` exit with ${s}"; exit ${s}' ERR
cd -- "$(dirname -- "$0")"/..
# Get sha256 hash of rustup-init binaries
# NB: Synch with main.sh.
rustup_version=1.29.0
targets=(
x86_64-unknown-linux-gnu
x86_64-unknown-linux-musl
aarch64-unknown-linux-gnu
aarch64-unknown-linux-musl
powerpc64le-unknown-linux-gnu
powerpc64le-unknown-linux-musl
riscv64gc-unknown-linux-gnu
# riscv64gc-unknown-linux-musl # tier 2 without host tools: TODO: https://github.com/rust-lang/rust/issues/156191
s390x-unknown-linux-gnu
# s390x-unknown-linux-musl # tier 3
x86_64-apple-darwin
aarch64-apple-darwin
x86_64-pc-windows-msvc
aarch64-pc-windows-msvc
)
for rust_target in "${targets[@]}"; do
exe=''
case "${rust_target}" in
*-windows*) exe=.exe ;;
esac
url="https://static.rust-lang.org/rustup/archive/${rustup_version}/${rust_target}/rustup-init${exe}.sha256"
printf '%s: ' "${rust_target}"
curl --proto '=https' --tlsv1.2 -fsSL --retry 10 "${url}" | cut -d' ' -f1
done

View File

@@ -9,13 +9,22 @@ cd -- "$(dirname -- "$0")"/..
# GITHUB_TOKEN=$(gh auth token) ./tools/tidy.sh
#
# Note: This script requires the following tools:
# - docker
# - docker or podman (or compatible CLI specified by TIDY_DOCKER_PATH. when both available and TIDY_DOCKER_PATH is not set, docker is preferred)
#
# This script is shared by projects under github.com/taiki-e, so there may also
# be checks for files not included in this repository, but they will be skipped
# if the corresponding files do not exist.
# It is not intended for manual editing.
bail() {
if [[ -n "${GITHUB_ACTIONS:-}" ]]; then
printf '::error::%s\n' "$*"
else
printf >&2 'error: %s\n' "$*"
fi
exit 1
}
if [[ $# -gt 0 ]]; then
cat <<EOF
USAGE:
@@ -24,24 +33,29 @@ EOF
exit 1
fi
image='ghcr.io/taiki-e/tidy'
if [[ -n "${TIDY_DEV:-}" ]]; then
image="ghcr.io/taiki-e/tidy:latest"
image+=':latest'
else
image="ghcr.io/taiki-e/tidy@sha256:bce85a4321f80c09f2b68420e9149bcf7c085130ab1e1fca54443f76833cd184"
image+='@sha256:4d7ec52a86bd3c0a2d96627b0ec3aa534afc02c2d56fc9a898df64e29aa03312'
fi
user="$(id -u):$(id -g)"
workdir=$(pwd)
tmp=$(mktemp -d)
trap -- 'rm -rf -- "${tmp:?}"' EXIT
mkdir -p -- "${tmp}"/{pwsh-cache,pwsh-local,zizmor-cache,dummy-dir,tmp}
touch -- "${tmp}"/dummy
printf '' >"${tmp}"/dummy
code=0
color=''
if [[ -t 1 ]] || [[ -n "${GITHUB_ACTIONS:-}" ]]; then
color=1
fi
# Refs:
# - https://docs.docker.com/reference/cli/docker/container/run/
# - https://docs.podman.io/en/latest/markdown/podman-run.1.html
# - https://cheatsheetseries.owasp.org/cheatsheets/Docker_Security_Cheat_Sheet.html
common_args=(
run --rm --init -i --user "${user}"
run --rm --init
--cap-drop=all
--security-opt=no-new-privileges
--read-only
@@ -59,6 +73,30 @@ common_args=(
--env TIDY_EXPECTED_SHELL_FILE_COUNT
--env TIDY_EXPECTED_DOCKER_FILE_COUNT
)
if [[ -n "${TIDY_DOCKER_PATH:-}" ]]; then
docker="${TIDY_DOCKER_PATH}"
elif type -P docker >/dev/null; then
docker='docker'
elif type -P podman >/dev/null; then
docker='podman'
else
bail 'this script requires docker or podman'
fi
rootless=''
if [[ "$("${docker}" --version)" == *'podman'* ]]; then
if [[ "$("${docker}" info)" == *'rootless: true'* ]]; then
rootless=1
fi
elif [[ "$("${docker}" info -f '{{println .SecurityOptions}}')" == *'rootless'* ]]; then
rootless=1
fi
if [[ -n "${rootless}" ]]; then
printf 'docker path: %s\n' "${docker} (rootless)"
else
printf 'docker path: %s\n' "${docker}"
common_args+=(--user "${user}")
fi
# Map ignored files (e.g., .env) to dummy files.
while IFS= read -r path; do
if [[ -d "${path}" ]]; then
@@ -73,7 +111,7 @@ while IFS= read -r path; do
done < <(git status --porcelain --ignored | grep -E '^!!' | cut -d' ' -f2)
docker_run() {
docker "${common_args[@]}" "$@"
"${docker}" "${common_args[@]}" "$@"
code2="$?"
if [[ ${code} -eq 0 ]] && [[ ${code2} -ne 0 ]]; then
code="${code2}"
@@ -83,6 +121,7 @@ docker_run() {
set +e
docker_run \
--mount "type=bind,source=${workdir},target=${workdir}" --workdir "${workdir}" \
--mount "type=bind,source=${workdir}/.git,target=${workdir}/.git,readonly" \
--mount "type=bind,source=${tmp}/tmp,target=/tmp/tidy" \
--mount "type=bind,source=${tmp}/pwsh-cache,target=/.cache/powershell" \
--mount "type=bind,source=${tmp}/pwsh-local,target=/.local/share/powershell" \