Compare commits

...

50 Commits

Author SHA1 Message Date
Taiki Endo
2f990e9c48 Release 2.33.23 2024-05-14 15:16:34 +09:00
Taiki Endo
2791c528e4 Update just@latest to 1.26.0 2024-05-14 15:14:11 +09:00
Taiki Endo
c2927f0c5b Release 2.33.22 2024-05-12 10:06:47 +09:00
Taiki Endo
1ae6b4aac2 Update git-cliff@latest to 2.2.2 2024-05-12 06:37:46 +09:00
Taiki Endo
d4c31008b2 Release 2.33.21 2024-05-11 20:06:12 +09:00
Taiki Endo
55d8cef422 Update cargo-binstall@latest to 1.6.6 2024-05-11 15:12:42 +09:00
Taiki Endo
685948ac6a Update cargo-tarpaulin@latest to 0.30.0 2024-05-11 09:26:01 +09:00
Taiki Endo
0eaa33a7ad Release 2.33.20 2024-05-10 08:28:33 +09:00
Taiki Endo
ffe829f559 Update syft@latest to 1.4.1 2024-05-10 06:13:55 +09:00
Taiki Endo
3342907307 Release 2.33.19 2024-05-08 20:21:43 +09:00
Taiki Endo
56635f62d1 Update cargo-tarpaulin@latest to 0.29.2 2024-05-08 18:11:17 +09:00
Taiki Endo
040f0ebba5 Release 2.33.18 2024-05-08 10:36:40 +09:00
Taiki Endo
1a42fe4b6d Update wasmtime@latest to 20.0.2 2024-05-08 06:13:30 +09:00
Taiki Endo
6608b29f1f Release 2.33.17 2024-05-06 22:00:37 +09:00
Taiki Endo
4512171af8 Update biome@latest to 1.7.3 2024-05-06 21:19:19 +09:00
Taiki Endo
672949f0e9 Release 2.33.16 2024-05-04 18:11:55 +09:00
Taiki Endo
ac1dc7f25e Update cargo-make@latest to 0.37.12 2024-05-04 18:10:46 +09:00
Taiki Endo
b635b8d3ea Release 2.33.15 2024-05-04 10:17:37 +09:00
Taiki Endo
4bb58959fb Update wasmtime@latest to 20.0.1 2024-05-04 03:14:25 +09:00
Taiki Endo
22c308f3b9 Release 2.33.14 2024-05-04 01:09:10 +09:00
Taiki Endo
7bcbbdbff4 Support cargo-deny on aarch64 Linux 2024-05-04 01:06:25 +09:00
Taiki Endo
0884b6d9b6 Update cargo-deny@latest to 0.14.23 2024-05-04 00:13:36 +09:00
Taiki Endo
fb6a8a29a7 Release 2.33.13 2024-05-03 18:17:49 +09:00
Taiki Endo
8de347c29f Update cargo-tarpaulin@latest to 0.29.1 2024-05-03 18:16:49 +09:00
Taiki Endo
b780471fc3 Update cargo-binstall@latest to 1.6.5 2024-05-03 18:16:49 +09:00
Taiki Endo
af5d802f13 Release 2.33.12 2024-05-02 08:44:00 +09:00
Taiki Endo
82f5b44fad Update cargo-tarpaulin@latest to 0.29.0 2024-05-02 06:11:39 +09:00
Taiki Endo
f52ff8a447 Release 2.33.11 2024-05-01 07:50:32 +09:00
Taiki Endo
ff26d49a22 Update typos@latest to 1.21.0 2024-05-01 06:13:20 +09:00
Taiki Endo
1a1da3153c Release 2.33.10 2024-05-01 00:12:53 +09:00
Taiki Endo
d44853434a Update biome@latest to 1.7.2 2024-05-01 00:11:47 +09:00
Taiki Endo
00a67321d6 Release 2.33.9 2024-04-27 00:15:31 +09:00
Taiki Endo
4ffb3f38c9 Update syft@latest to 1.3.0 2024-04-27 00:14:15 +09:00
Taiki Endo
44831bc93d ci: Test ubuntu 24.04 container 2024-04-26 18:03:23 +09:00
Taiki Endo
1eda5d19da Release 2.33.8 2024-04-25 00:27:12 +09:00
Taiki Endo
483a4c24d1 Update cargo-spellcheck@latest to 0.14.0 2024-04-25 00:10:26 +09:00
Taiki Endo
6261d093c5 Release 2.33.7 2024-04-24 07:47:58 +09:00
Taiki Endo
70ccd61441 Update typos@latest to 1.20.10 2024-04-24 06:11:56 +09:00
Taiki Endo
e7e3978ba0 Release 2.33.6 2024-04-23 22:18:17 +09:00
Taiki Endo
6f555cfa9b Update cargo-deny@latest to 0.14.22 2024-04-23 18:32:12 +09:00
Taiki Endo
419e5183d6 Release 2.33.5 2024-04-23 10:29:18 +09:00
Taiki Endo
c9251afea6 Update wasmtime@latest to 20.0.0 2024-04-23 06:11:40 +09:00
Taiki Endo
6ad9974df9 Release 2.33.4 2024-04-23 03:17:15 +09:00
Taiki Endo
002ee123a6 Update biome@latest to 1.7.1 2024-04-23 03:16:52 +09:00
Taiki Endo
e553ccd87e Release 2.33.3 2024-04-22 01:23:00 +09:00
Taiki Endo
6b8c00dfc4 Update scripts 2024-04-22 00:13:22 +09:00
Taiki Endo
8b890a7ae1 Update sccache@latest to 0.8.0 2024-04-22 00:11:51 +09:00
Taiki Endo
a94d7ba895 Release 2.33.2 2024-04-20 15:14:18 +09:00
Taiki Endo
1f78543d08 tools: Update publish.sh 2024-04-20 15:10:32 +09:00
Taiki Endo
372d07651e Update parse-changelog@latest to 0.6.8 2024-04-20 15:10:14 +09:00
22 changed files with 676 additions and 146 deletions

View File

@@ -11,10 +11,10 @@ indent_style = space
insert_final_newline = true insert_final_newline = true
trim_trailing_whitespace = true trim_trailing_whitespace = true
[*.{json,md,yml}] [*.{json,md,rb,yml,yaml}]
indent_size = 2 indent_size = 2
[*.{js,yml}] [*.{js,yml,yaml}]
quote_type = single quote_type = single
[*.sh] [*.sh]

View File

@@ -100,6 +100,7 @@ jobs:
- ubuntu:18.04 # glibc 2.27 - ubuntu:18.04 # glibc 2.27
- ubuntu:20.04 # glibc 2.31 - ubuntu:20.04 # glibc 2.31
- ubuntu:22.04 # glibc 2.35 - ubuntu:22.04 # glibc 2.35
- ubuntu:24.04 # glibc 2.39
- debian:10-slim # glibc 2.28 - debian:10-slim # glibc 2.28
- debian:11-slim # glibc 2.31 - debian:11-slim # glibc 2.31
- debian:12-slim # glibc 2.36 - debian:12-slim # glibc 2.36
@@ -155,7 +156,7 @@ jobs:
test-no-cargo: test-no-cargo:
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 60 timeout-minutes: 60
container: ubuntu:22.04 container: ubuntu
steps: steps:
- uses: taiki-e/checkout-action@v1 - uses: taiki-e/checkout-action@v1
- name: Generate tool list - name: Generate tool list

10
.markdownlint-cli2.yaml Normal file
View File

@@ -0,0 +1,10 @@
# https://github.com/DavidAnson/markdownlint#rules--aliases
config:
line-length: false
no-duplicate-heading: false
no-inline-html: false
no-emphasis-as-heading: false
# https://github.com/DavidAnson/markdownlint-cli2#markdownlint-cli2jsonc
noBanner: true
noProgress: true

View File

@@ -1,6 +0,0 @@
# https://github.com/DavidAnson/markdownlint#rules--aliases
MD013: false # line-length
MD024: false # no-duplicate-heading/no-duplicate-header
MD033: false # no-inline-html
MD036: false # no-emphasis-as-heading/no-emphasis-as-header

View File

@@ -10,6 +10,100 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
## [Unreleased] ## [Unreleased]
## [2.33.23] - 2024-05-14
- Update `just@latest` to 1.26.0.
## [2.33.22] - 2024-05-12
- Update `git-cliff@latest` to 2.2.2.
## [2.33.21] - 2024-05-11
- Update `cargo-binstall@latest` to 1.6.6.
- Update `cargo-tarpaulin@latest` to 0.30.0.
## [2.33.20] - 2024-05-09
- Update `syft@latest` to 1.4.1.
## [2.33.19] - 2024-05-08
- Update `cargo-tarpaulin@latest` to 0.29.2.
## [2.33.18] - 2024-05-08
- Update `wasmtime@latest` to 20.0.2.
## [2.33.17] - 2024-05-06
- Update `biome@latest` to 1.7.3.
## [2.33.16] - 2024-05-04
- Update `cargo-make@latest` to 0.37.12.
## [2.33.15] - 2024-05-04
- Update `wasmtime@latest` to 20.0.1.
## [2.33.14] - 2024-05-03
- Update `cargo-deny@latest` to 0.14.23.
- Support `cargo-deny` on aarch64 Linux.
## [2.33.13] - 2024-05-03
- Update `cargo-tarpaulin@latest` to 0.29.1.
- Update `cargo-binstall@latest` to 1.6.5.
## [2.33.12] - 2024-05-01
- Update `cargo-tarpaulin@latest` to 0.29.0.
## [2.33.11] - 2024-04-30
- Update `typos@latest` to 1.21.0.
## [2.33.10] - 2024-04-30
- Update `biome@latest` to 1.7.2.
## [2.33.9] - 2024-04-26
- Update `syft@latest` to 1.3.0.
## [2.33.8] - 2024-04-24
- Update `cargo-spellcheck@latest` to 0.14.0.
## [2.33.7] - 2024-04-23
- Update `typos@latest` to 1.20.10.
## [2.33.6] - 2024-04-23
- Update `cargo-deny@latest` to 0.14.22.
## [2.33.5] - 2024-04-23
- Update `wasmtime@latest` to 20.0.0.
## [2.33.4] - 2024-04-22
- Update `biome@latest` to 1.7.1.
## [2.33.3] - 2024-04-21
- Update `sccache@latest` to 0.8.0.
## [2.33.2] - 2024-04-20
- Update `parse-changelog@latest` to 0.6.8.
## [2.33.1] - 2024-04-19 ## [2.33.1] - 2024-04-19
- Update `parse-changelog@latest` to 0.6.7. - Update `parse-changelog@latest` to 0.6.7.
@@ -2079,7 +2173,29 @@ Note: This release is considered a breaking change because installing on version
Initial release Initial release
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.33.1...HEAD [Unreleased]: https://github.com/taiki-e/install-action/compare/v2.33.23...HEAD
[2.33.23]: https://github.com/taiki-e/install-action/compare/v2.33.22...v2.33.23
[2.33.22]: https://github.com/taiki-e/install-action/compare/v2.33.21...v2.33.22
[2.33.21]: https://github.com/taiki-e/install-action/compare/v2.33.20...v2.33.21
[2.33.20]: https://github.com/taiki-e/install-action/compare/v2.33.19...v2.33.20
[2.33.19]: https://github.com/taiki-e/install-action/compare/v2.33.18...v2.33.19
[2.33.18]: https://github.com/taiki-e/install-action/compare/v2.33.17...v2.33.18
[2.33.17]: https://github.com/taiki-e/install-action/compare/v2.33.16...v2.33.17
[2.33.16]: https://github.com/taiki-e/install-action/compare/v2.33.15...v2.33.16
[2.33.15]: https://github.com/taiki-e/install-action/compare/v2.33.14...v2.33.15
[2.33.14]: https://github.com/taiki-e/install-action/compare/v2.33.13...v2.33.14
[2.33.13]: https://github.com/taiki-e/install-action/compare/v2.33.12...v2.33.13
[2.33.12]: https://github.com/taiki-e/install-action/compare/v2.33.11...v2.33.12
[2.33.11]: https://github.com/taiki-e/install-action/compare/v2.33.10...v2.33.11
[2.33.10]: https://github.com/taiki-e/install-action/compare/v2.33.9...v2.33.10
[2.33.9]: https://github.com/taiki-e/install-action/compare/v2.33.8...v2.33.9
[2.33.8]: https://github.com/taiki-e/install-action/compare/v2.33.7...v2.33.8
[2.33.7]: https://github.com/taiki-e/install-action/compare/v2.33.6...v2.33.7
[2.33.6]: https://github.com/taiki-e/install-action/compare/v2.33.5...v2.33.6
[2.33.5]: https://github.com/taiki-e/install-action/compare/v2.33.4...v2.33.5
[2.33.4]: https://github.com/taiki-e/install-action/compare/v2.33.3...v2.33.4
[2.33.3]: https://github.com/taiki-e/install-action/compare/v2.33.2...v2.33.3
[2.33.2]: https://github.com/taiki-e/install-action/compare/v2.33.1...v2.33.2
[2.33.1]: https://github.com/taiki-e/install-action/compare/v2.33.0...v2.33.1 [2.33.1]: https://github.com/taiki-e/install-action/compare/v2.33.0...v2.33.1
[2.33.0]: https://github.com/taiki-e/install-action/compare/v2.32.20...v2.33.0 [2.33.0]: https://github.com/taiki-e/install-action/compare/v2.32.20...v2.33.0
[2.32.20]: https://github.com/taiki-e/install-action/compare/v2.32.19...v2.32.20 [2.32.20]: https://github.com/taiki-e/install-action/compare/v2.32.19...v2.32.20

View File

@@ -409,7 +409,7 @@ case "$(uname -s)" in
Linux) Linux)
host_os=linux host_os=linux
if grep -q '^ID_LIKE=' /etc/os-release; then if grep -q '^ID_LIKE=' /etc/os-release; then
base_distro=$(grep '^ID_LIKE=' /etc/os-release | sed 's/^ID_LIKE=//') base_distro=$(grep '^ID_LIKE=' /etc/os-release | cut -d= -f2)
case "${base_distro}" in case "${base_distro}" in
*debian*) base_distro=debian ;; *debian*) base_distro=debian ;;
*fedora*) base_distro=fedora ;; *fedora*) base_distro=fedora ;;
@@ -418,7 +418,7 @@ case "$(uname -s)" in
*alpine*) base_distro=alpine ;; *alpine*) base_distro=alpine ;;
esac esac
else else
base_distro=$(grep '^ID=' /etc/os-release | sed 's/^ID=//') base_distro=$(grep '^ID=' /etc/os-release | cut -d= -f2)
fi fi
case "${base_distro}" in case "${base_distro}" in
fedora) fedora)

66
manifests/biome.json generated
View File

@@ -35,13 +35,73 @@
} }
}, },
"latest": { "latest": {
"version": "1.7.0" "version": "1.7.3"
}, },
"1": { "1": {
"version": "1.7.0" "version": "1.7.3"
}, },
"1.7": { "1.7": {
"version": "1.7.0" "version": "1.7.3"
},
"1.7.3": {
"x86_64_linux_musl": {
"checksum": "f4c2db816081527e18f4219d4c2ee97f3613f9b04aa2c2480b97f85fd0b1c744"
},
"x86_64_macos": {
"checksum": "97541273ec677c3dc90cd43989a10f1437e9ca61c8ecc1340706a56b1490ca77"
},
"x86_64_windows": {
"checksum": "a44a6787eb664cd8977da4cfcbc58092c3b8b7e44419895944858dd1eae13855"
},
"aarch64_linux_musl": {
"checksum": "8495ff8f76a19a12779c43e49811f5eecb1c88e79e82de7bd61ab968062eca20"
},
"aarch64_macos": {
"checksum": "6c9ff5223173b71aaa12693451369c287e8f4e5625803a9ceefd815a9bb8a0c6"
},
"aarch64_windows": {
"checksum": "6f545f42e3b47f5489f75f30f309611e3ae470dd92e568e44311d2ee3ffdb3f9"
}
},
"1.7.2": {
"x86_64_linux_musl": {
"checksum": "1bad2fd02d9dc2d38800bb20d6222d0b6a3092e707ac8e0ec0f51134ea2525ae"
},
"x86_64_macos": {
"checksum": "568377bb375af65a9d6205365708a38fe1ac30105f7d1137248d7c343d69e8fa"
},
"x86_64_windows": {
"checksum": "5ebcab7d65c98268b199fcfe6e6732f46f2b41aeea77716a59110a380560d307"
},
"aarch64_linux_musl": {
"checksum": "bdfe7c9fe1b3118c88190e0e5fbc8b1e3cb6dde08b0510a326f3f962f09a7f67"
},
"aarch64_macos": {
"checksum": "c0c20ca8f6f9f2441e2aacfca9e1625793195f54224ba0358dc84e85bdee58f0"
},
"aarch64_windows": {
"checksum": "e48a8de12448ba6b7d5b274ced53ebddf98a3bfabf676c45c8b60a8b7ad2572b"
}
},
"1.7.1": {
"x86_64_linux_musl": {
"checksum": "1b2115fdab03dba4c59cb3d512822e11ceb16f294519343b2e373f9b7aa1a074"
},
"x86_64_macos": {
"checksum": "9b25832f3686399aaee8fd3db611178ea5529c4ed3c3a275e05d0cbabe642530"
},
"x86_64_windows": {
"checksum": "6bb7ab5f7b88fd7ae8e66abe6558d5ba7ee27939fc6d27dcd8e950540f0d7760"
},
"aarch64_linux_musl": {
"checksum": "02e41aa2eb4994db7316913f58a38b5c7c7876f7d8320625d0c12ccdbc62d0fa"
},
"aarch64_macos": {
"checksum": "6a5c9f7fcab3dfb4723c23c66ab58ed345e082a66a5406b7d30e1c50d990c89f"
},
"aarch64_windows": {
"checksum": "076c15a8a314ba151118295da7f182630dfab160bde22f50b3c87e482912f337"
}
}, },
"1.7.0": { "1.7.0": {
"x86_64_linux_musl": { "x86_64_linux_musl": {

View File

@@ -21,26 +21,26 @@
} }
}, },
"latest": { "latest": {
"version": "1.6.4" "version": "1.6.6"
}, },
"1.6.4": { "1.6.6": {
"x86_64_linux_musl": { "x86_64_linux_musl": {
"checksum": "b07160c21cdfcc24c3afe94b3cb12bf6d111cef7b218cce85a0c1dfae7e106dd" "checksum": "49f891fddf795f33b02c0ea58d7af7a7dc087fbb47a504ca1bf69f403f711c46"
}, },
"x86_64_macos": { "x86_64_macos": {
"checksum": "761839db77de482f9bbddb87d43563f8308e7dbdccf2bb3c66f3bcbe13a5dee0" "checksum": "7c7e59c116fc452cedfd7142224729ec8e6ec4ff1962fda3a3e87e1c7c51fbb9"
}, },
"x86_64_windows": { "x86_64_windows": {
"checksum": "2a05851e1a854cc27c7c6a04f665d506bf2b7aa0aa62721a82af9aeeff9d20d2" "checksum": "5556b4d1c829b854dc71ca3b258950227957d7f9c258f808d8eb15849810a9b4"
}, },
"aarch64_linux_musl": { "aarch64_linux_musl": {
"checksum": "70c17459e4bc0b417679e66af55199603d80fa751d819b86713f700e3e9a6602" "checksum": "141b546d52353657706e63ee596f2637c4b34b1705aaa9ec716db74f813d436f"
}, },
"aarch64_macos": { "aarch64_macos": {
"checksum": "64755bfa178ba061c90d46fdf6c977c9b78564bcb4605ff827855d6623453be9" "checksum": "6670805e15799cc6caa5ac35f0c0bc599ee6d51cdf2f21346deeaaf821e763a8"
}, },
"aarch64_windows": { "aarch64_windows": {
"checksum": "1277c4ae1a772f803355e256192c2b8bc434421dbd137a9b895ca8031a31ddb3" "checksum": "bf7321de10806e051868819c3fe61127f5bac1619181c955da06f5e06c2612e8"
} }
} }
} }

View File

@@ -13,16 +13,51 @@
"url": "https://github.com/EmbarkStudios/cargo-deny/releases/download/${version}/cargo-deny-${version}-x86_64-pc-windows-msvc.tar.gz", "url": "https://github.com/EmbarkStudios/cargo-deny/releases/download/${version}/cargo-deny-${version}-x86_64-pc-windows-msvc.tar.gz",
"bin": "cargo-deny-${version}-x86_64-pc-windows-msvc/cargo-deny.exe" "bin": "cargo-deny-${version}-x86_64-pc-windows-msvc/cargo-deny.exe"
}, },
"aarch64_linux_musl": {
"url": "https://github.com/EmbarkStudios/cargo-deny/releases/download/${version}/cargo-deny-${version}-aarch64-unknown-linux-musl.tar.gz",
"bin": "cargo-deny-${version}-aarch64-unknown-linux-musl/cargo-deny"
},
"aarch64_macos": { "aarch64_macos": {
"url": "https://github.com/EmbarkStudios/cargo-deny/releases/download/${version}/cargo-deny-${version}-aarch64-apple-darwin.tar.gz", "url": "https://github.com/EmbarkStudios/cargo-deny/releases/download/${version}/cargo-deny-${version}-aarch64-apple-darwin.tar.gz",
"bin": "cargo-deny-${version}-aarch64-apple-darwin/cargo-deny" "bin": "cargo-deny-${version}-aarch64-apple-darwin/cargo-deny"
} }
}, },
"latest": { "latest": {
"version": "0.14.21" "version": "0.14.23"
}, },
"0.14": { "0.14": {
"version": "0.14.21" "version": "0.14.23"
},
"0.14.23": {
"x86_64_linux_musl": {
"checksum": "05d6cb0cd61350d3227e1f0af9252fce7a66f6b109a8850bb0af83507892c4da"
},
"x86_64_macos": {
"checksum": "d8d3e97d95521dcc2e95a4293b3e774aeee5591cad9994ad49b5d177ca98bf8e"
},
"x86_64_windows": {
"checksum": "5da19ca3efc6d207d075fdc29e22dc74bcb5476ec33eabfba9d788fc23513858"
},
"aarch64_linux_musl": {
"checksum": "027f050ba79720645e1c7c8239ee0c8896485c961152b8d025756be88266b302"
},
"aarch64_macos": {
"checksum": "95562322593b203ffdf4d209a3781069c268fd6a4b3267b0a6b67919ff672225"
}
},
"0.14.22": {
"x86_64_linux_musl": {
"checksum": "e35f4fec1016106a3acee949a9eedc70f5aeca1d85a911db6d43f071797a85ce"
},
"x86_64_macos": {
"checksum": "2a753c46a9848229c7fb63be6b00f50a76b132f9a051df7bbcb4717604b8842e"
},
"x86_64_windows": {
"checksum": "0a82e22cdc054e0d5da72d6961bf12b3e6f1cd812f993ea219eb75244422e038"
},
"aarch64_macos": {
"checksum": "b569c772ed3146e8a8019ef0b03d6ea191af0e2a51b62274018906b5e9eb48fb"
}
}, },
"0.14.21": { "0.14.21": {
"x86_64_linux_musl": { "x86_64_linux_musl": {

View File

@@ -19,10 +19,24 @@
} }
}, },
"latest": { "latest": {
"version": "0.37.11" "version": "0.37.12"
}, },
"0.37": { "0.37": {
"version": "0.37.11" "version": "0.37.12"
},
"0.37.12": {
"x86_64_linux_musl": {
"checksum": "d07149c4425ec93fc1cfedf8c8092d3b405482acdb2d01ecd8fba3ac755a381a"
},
"x86_64_macos": {
"checksum": "96799def4c15cfe81e72b96a8df90a49e1cca0d2899f4e928e69e8a1f6e46ee1"
},
"x86_64_windows": {
"checksum": "271c37b5f63b02a1c4ff5f33935976df7cb473ada221dd06bce7282520f7be65"
},
"aarch64_macos": {
"checksum": "091b93de51096c406c698b567e8d5bab83c2ab030b5b2a763104efe841ffb079"
}
}, },
"0.37.11": { "0.37.11": {
"x86_64_linux_musl": { "x86_64_linux_musl": {

View File

@@ -9,7 +9,18 @@
} }
}, },
"latest": { "latest": {
"version": "0.13.2" "version": "0.14.0"
},
"0.14": {
"version": "0.14.0"
},
"0.14.0": {
"x86_64_linux_gnu": {
"checksum": "6f35073843f2eb87990ef19c841c61ded5263e3a7ff38f885cfab22193b84f13"
},
"x86_64_windows": {
"checksum": "ad97a1471b7e718902ec385c3ad045a6afbc986f736d0c4986855ec99a79c80c"
}
}, },
"0.13": { "0.13": {
"version": "0.13.2" "version": "0.13.2"

View File

@@ -18,7 +18,81 @@
} }
}, },
"latest": { "latest": {
"version": "0.28.0" "version": "0.30.0"
},
"0.30": {
"version": "0.30.0"
},
"0.30.0": {
"x86_64_linux_musl": {
"checksum": "7adaec5afad826e8b758fffe3b9804d3a371553fa4cdb56ddd9a3592c08a03ac"
},
"x86_64_macos": {
"checksum": "cc2b8b84c0f19db57f00b5e2e322c3115a744d2fccc823700f3b7f60dd13a289"
},
"x86_64_windows": {
"checksum": "fa1dee30c073f72b03303c3d6479d0198eb0f8079e1b65582a502f411247754d"
},
"aarch64_linux_musl": {
"checksum": "e06ef0e98fc78da0a447f8560fbfe797a57cebe1b71a7161e0810f6d65151758"
},
"aarch64_macos": {
"checksum": "a7f582a21083f2be93aeb3f7d13d534ee5d63c1aec9e1f8c570253a970f4d18e"
}
},
"0.29": {
"version": "0.29.2"
},
"0.29.2": {
"x86_64_linux_musl": {
"checksum": "d6ba7a39fa27c1792741860dc28225daaab9ba74f7ebdd5cf4f175009f079167"
},
"x86_64_macos": {
"checksum": "e489e193d0d520002ad10673f6027ff80cd516a5ffbc8f8e4269f2181428ae0d"
},
"x86_64_windows": {
"checksum": "f3e7bf5ea970d543b9b47cd4ad62fa9f6316fed61e57132abf085ddde6e60692"
},
"aarch64_linux_musl": {
"checksum": "3c8b9db1d5f38e741ee84e15e038216c7a74a5b550770f8a273296aea65e7292"
},
"aarch64_macos": {
"checksum": "15bc3f52422c8e72f1385a113d35a9e7b4ab6a15503fceef2155fe0fe5bbcb4f"
}
},
"0.29.1": {
"x86_64_linux_musl": {
"checksum": "be2be986abde1f7b9544f217acce4d1699a04bc3b09e17c05b3fbd239d52456a"
},
"x86_64_macos": {
"checksum": "6809df4fb7f559e30ed4134abca203fcd92cbe1db5117fa17a7e9c64933ee80b"
},
"x86_64_windows": {
"checksum": "a8827dfd6cbe3280bd474d7f49ee58544016ad8eaa11769edaa05936c91ae882"
},
"aarch64_linux_musl": {
"checksum": "9e3791c191fa8224d038e54d988c3937e446c9e8673f5db5c0e43cc76af1ab16"
},
"aarch64_macos": {
"checksum": "2e4eac469f93ac46721d527958a6ec690d4084ed6893900214c504cce6a3303d"
}
},
"0.29.0": {
"x86_64_linux_musl": {
"checksum": "7f5fda7ace039963e0413b5949c40292e0cb1c0ffc4e1b6cb60aadab167b1725"
},
"x86_64_macos": {
"checksum": "df21c946c69b6d653bb59e6ddb0e99c1f184e74f1b2a077a3654427171a37497"
},
"x86_64_windows": {
"checksum": "1d7f4b814d1757438ddce75ddbd12b02c54d681803f9aa7703a8087e3a391d34"
},
"aarch64_linux_musl": {
"checksum": "4d33d6072976c0b9c717b18ff12ee283ae4b38a0b4ec50f1ef208bf47689f2a4"
},
"aarch64_macos": {
"checksum": "36dbfbd7ebaad25372fb7faa9263bd3e5b07316be95fc0bb450deb2f4791b255"
}
}, },
"0.28": { "0.28": {
"version": "0.28.0" "version": "0.28.0"

View File

@@ -27,13 +27,33 @@
} }
}, },
"latest": { "latest": {
"version": "2.2.1" "version": "2.2.2"
}, },
"2": { "2": {
"version": "2.2.1" "version": "2.2.2"
}, },
"2.2": { "2.2": {
"version": "2.2.1" "version": "2.2.2"
},
"2.2.2": {
"x86_64_linux_musl": {
"checksum": "3a199e08786eeb8801e40c6f2e022e236c1a640eb172695898ded679089eb5cf"
},
"x86_64_macos": {
"checksum": "3efc16a26b1e511f285395a241d338991dc89494a1d3b4fc4c67c99a5b8cedce"
},
"x86_64_windows": {
"checksum": "9e2956b4ec65dbf48ca9b9fa1815012ca9486c721a143b6eb35412f395f2fd7f"
},
"aarch64_linux_musl": {
"checksum": "a5484af486d8ac20748c681ae205c698415550783d3cf13d0a5e230c0cca5961"
},
"aarch64_macos": {
"checksum": "0f5b598795b6b6f2c6b7f683559ef90b2cbe59393c88c057892a12713e08d20b"
},
"aarch64_windows": {
"checksum": "919f5b90966dc90c695ab327cedd840ef2fe705270c3a0902d106abde8110c0f"
}
}, },
"2.2.1": { "2.2.1": {
"x86_64_linux_musl": { "x86_64_linux_musl": {

24
manifests/just.json generated
View File

@@ -18,10 +18,30 @@
} }
}, },
"latest": { "latest": {
"version": "1.25.2" "version": "1.26.0"
}, },
"1": { "1": {
"version": "1.25.2" "version": "1.26.0"
},
"1.26": {
"version": "1.26.0"
},
"1.26.0": {
"x86_64_linux_musl": {
"checksum": "be7233b3ebfd5bdda8cae6537c21c839d3d24ecf075f1494a2e67f93539b1e12"
},
"x86_64_macos": {
"checksum": "aa9ad8d097c4d3744c9d06520e28837c5e3fa50519a4cd657e0f2f7a226897af"
},
"x86_64_windows": {
"checksum": "e326f8552ac7119b643fed1b8af8fe392593280c185c44beadc313e0291f412a"
},
"aarch64_linux_musl": {
"checksum": "56352027a18e64bc58aa77d4c020bd79163f10cecc859595b0474b5a442369d3"
},
"aarch64_macos": {
"checksum": "1b8b12f348eea603ba935d0799e03b87adb9b15779ff21cd67b3ddb1e6ab21d2"
}
}, },
"1.25": { "1.25": {
"version": "1.25.2" "version": "1.25.2"

View File

@@ -2,10 +2,36 @@
"rust_crate": "parse-changelog", "rust_crate": "parse-changelog",
"template": null, "template": null,
"latest": { "latest": {
"version": "0.6.7" "version": "0.6.8"
}, },
"0.6": { "0.6": {
"version": "0.6.7" "version": "0.6.8"
},
"0.6.8": {
"x86_64_linux_musl": {
"url": "https://github.com/taiki-e/parse-changelog/releases/download/v0.6.8/parse-changelog-x86_64-unknown-linux-musl.tar.gz",
"checksum": "c5d34291892c66cf5e2d45e61f822c420a86c48c54631422863894eeee8d11f1"
},
"x86_64_macos": {
"url": "https://github.com/taiki-e/parse-changelog/releases/download/v0.6.8/parse-changelog-x86_64-apple-darwin.tar.gz",
"checksum": "37a3fb9b9e1a46c99ca306a2a68a8c317d3011375d7274256389d16986b5c3f4"
},
"x86_64_windows": {
"url": "https://github.com/taiki-e/parse-changelog/releases/download/v0.6.8/parse-changelog-x86_64-pc-windows-msvc.tar.gz",
"checksum": "e4f971462c2fb29387af7269634027d57b06c05b644d7412249c8d0c25cfc799"
},
"aarch64_linux_musl": {
"url": "https://github.com/taiki-e/parse-changelog/releases/download/v0.6.8/parse-changelog-aarch64-unknown-linux-musl.tar.gz",
"checksum": "a3f1705c925d0b158c0a555a97848baa952d160cc7952dc66e1be1735d787316"
},
"aarch64_macos": {
"url": "https://github.com/taiki-e/parse-changelog/releases/download/v0.6.8/parse-changelog-aarch64-apple-darwin.tar.gz",
"checksum": "76314b47a0b6f60b5f635ad9af7577d618ea69759306b954dbe3b0196b32550e"
},
"aarch64_windows": {
"url": "https://github.com/taiki-e/parse-changelog/releases/download/v0.6.8/parse-changelog-aarch64-pc-windows-msvc.tar.gz",
"checksum": "c9e7db9dff60ec0adff8658968d0d9430db9a7c77fd1885b21d688a0d82e88ee"
}
}, },
"0.6.7": { "0.6.7": {
"x86_64_linux_musl": { "x86_64_linux_musl": {

22
manifests/sccache.json generated
View File

@@ -23,7 +23,27 @@
} }
}, },
"latest": { "latest": {
"version": "0.7.7" "version": "0.8.0"
},
"0.8": {
"version": "0.8.0"
},
"0.8.0": {
"x86_64_linux_musl": {
"checksum": "2e0e7df61bc7dcf61fd65c1b345d05cd1f832598a15c6f42e7e21f86b8d39b1f"
},
"x86_64_macos": {
"checksum": "d1b871daf7f96f8d01c50746e588d50e2c54559c0de508257db3cb55b7fb8ec0"
},
"x86_64_windows": {
"checksum": "a58bee25f1042477e6a2f9e0e1aae505172d0e85dddedc75b667cccdb3563ed8"
},
"aarch64_linux_musl": {
"checksum": "23d6920bf5a21a2269833ca5ef387e59c8dce69c03770b7aa44be4b130b07511"
},
"aarch64_macos": {
"checksum": "9439be7bd81ee86af6e8d866fd129150aefe24c78d857de9c99d57845187fc7e"
}
}, },
"0.7": { "0.7": {
"version": "0.7.7" "version": "0.7.7"

61
manifests/syft.json generated
View File

@@ -23,10 +23,67 @@
} }
}, },
"latest": { "latest": {
"version": "1.2.0" "version": "1.4.1"
}, },
"1": { "1": {
"version": "1.2.0" "version": "1.4.1"
},
"1.4": {
"version": "1.4.1"
},
"1.4.1": {
"x86_64_linux_musl": {
"checksum": "5e4c6a0d1ca28d25e060a29c7cca0aedc50d951bfb270b45bc9a71e86ac6fbe2"
},
"x86_64_macos": {
"checksum": "c25872b4ddd6f0d06d8454cce6351469b51ee5c04939b5d4ea86c6048c9021e9"
},
"x86_64_windows": {
"checksum": "ac97125b56b21987d35bcb6b5d300a686bc241272b0b91a12a3c6c743a0567a9"
},
"aarch64_linux_musl": {
"checksum": "a28d63bb2bca96092a1a42cd5afdd0787633ae05998935a5e6e2aac8f2e2ec44"
},
"aarch64_macos": {
"checksum": "9e23ce6ab8e36c9fc102f21a47d0ae5cd39362f21ff58f33b09a58f456f36c03"
}
},
"1.4.0": {
"x86_64_linux_musl": {
"checksum": "b6c940a0ebc79840d1dd4049d481e0d7b7ea8b70a70ff9b4d10408ea226da9e9"
},
"x86_64_macos": {
"checksum": "235ec3197f15fb4f3cb509ef519b7281de7a1f4a5e43f9ade691791b31a6c44d"
},
"x86_64_windows": {
"checksum": "49742d3ba007a1c477f6c1b15ba19aed7592697d321eee2ef37902001b3dd5e6"
},
"aarch64_linux_musl": {
"checksum": "7cb482f7d7fc3fe8bc4d25673f17d5e4b81ac43a73e746f1862085276f523931"
},
"aarch64_macos": {
"checksum": "ecf2aa6c922fba65c9ecd9b5774770468e9bf083a4759fdc87e3a68733f1b677"
}
},
"1.3": {
"version": "1.3.0"
},
"1.3.0": {
"x86_64_linux_musl": {
"checksum": "9124b3e75b7d0beebcf9dbfd12d9e13e92a1951c7a9fb74100db08f379e49ea4"
},
"x86_64_macos": {
"checksum": "9ca5945824ee610a6d2cbc034e518c48a956e175001f6747c5867afdc38d38f4"
},
"x86_64_windows": {
"checksum": "90c526c99f794a33d57a2d7ba379206a4382ddb877e061daacf7569ff19bc892"
},
"aarch64_linux_musl": {
"checksum": "2bdd6ddd32b4947cea7a4f1e90e769a27e8e0dd2ad6ef3b29e48b57fc43090c6"
},
"aarch64_macos": {
"checksum": "4e68515226429697e6475c9af6c10269edd597e603e8f86e942420da814b47bd"
}
}, },
"1.2": { "1.2": {
"version": "1.2.0" "version": "1.2.0"

37
manifests/typos.json generated
View File

@@ -15,13 +15,44 @@
} }
}, },
"latest": { "latest": {
"version": "1.20.9" "version": "1.21.0"
}, },
"1": { "1": {
"version": "1.20.9" "version": "1.21.0"
},
"1.21": {
"version": "1.21.0"
},
"1.21.0": {
"x86_64_linux_musl": {
"checksum": "e28b75a55460b18245edf18a3f4da28b0c9271c9c19edb1c32fe4301db573e7f"
},
"x86_64_macos": {
"checksum": "b808f5598249e7e8f6a7dc9e58a6591c62de1d273c04baba50ea248cad01f8b5"
},
"x86_64_windows": {
"checksum": "caa1c4c83e6a7ab2e6432d6412f826da94f3967dc5f5cd80d6df845c0ef4f6bd"
},
"aarch64_macos": {
"checksum": "f6d2088ac6af68a02f68e12c4cc5e37278c702f3e1b7fc7da99f925435a9a5c5"
}
}, },
"1.20": { "1.20": {
"version": "1.20.9" "version": "1.20.10"
},
"1.20.10": {
"x86_64_linux_musl": {
"checksum": "2f0758620492b6f0fb3f1c3b916a6e7741c171d814e1204cbc923481c85e0867"
},
"x86_64_macos": {
"checksum": "e0fdd6fa3838f0d538655a8c205b8e34add56e4803b133af13879cce7f7dbb0b"
},
"x86_64_windows": {
"checksum": "60bbd4bb97b7e622d43e7353764de055f7e62ef0e6db4f22e1fe42f3543997ff"
},
"aarch64_macos": {
"checksum": "80f170e22bdb635d2424fa03eeb021d3efcbd11bbafa428671e36fd435f6a000"
}
}, },
"1.20.9": { "1.20.9": {
"x86_64_linux_musl": { "x86_64_linux_musl": {

View File

@@ -23,7 +23,64 @@
} }
}, },
"latest": { "latest": {
"version": "19.0.2" "version": "20.0.2"
},
"20": {
"version": "20.0.2"
},
"20.0": {
"version": "20.0.2"
},
"20.0.2": {
"x86_64_linux_gnu": {
"checksum": "88857222f6098e1d2988d66cbcb3f73b0b5230e8e6871967de7b44f652a542ff"
},
"x86_64_macos": {
"checksum": "1206b8afa8f2c89f4599886647bae7258cedcb68e4f73e68a6610a68c9141be5"
},
"x86_64_windows": {
"checksum": "b6653044531806d424a1f3eff4bf664e071c163f0536b6447318bced316478d8"
},
"aarch64_linux_gnu": {
"checksum": "6df6dfa37c6b7eaef7853b65d0e691eac45c9fb5793ecb37c9404b077d5098f4"
},
"aarch64_macos": {
"checksum": "69d3cfdece114def47cb21bfb37fdc89a2217d2dc7582a68cae4ff2b243837d6"
}
},
"20.0.1": {
"x86_64_linux_gnu": {
"checksum": "b3335181e672527c1f4b5b424413e6bed437cb4b6cc089082f836e03d076bd2d"
},
"x86_64_macos": {
"checksum": "3c921b994a078a0e703e80e9d2714de60deaec3ecbc25f500eac7d1d098c8d74"
},
"x86_64_windows": {
"checksum": "ca065cd227da0e5c8cadf4ef822b6dbc05a1eeab6d5d85ad558c8c761fd4a9b5"
},
"aarch64_linux_gnu": {
"checksum": "8b685a76e6a7b2dd89b5778a2b2c17a1ab3ba05e2f1b9cd6955d5a416de572fe"
},
"aarch64_macos": {
"checksum": "ed972d27e55e80af7baf79003791e9a4434af6b82fcc1a51bea33144f730d8d4"
}
},
"20.0.0": {
"x86_64_linux_gnu": {
"checksum": "c604a929f1039df20b4a2055496fd211a9190b493183b3311bf332be0018f0e2"
},
"x86_64_macos": {
"checksum": "8f2876f85f63f77d9625ef0b75eb7d67329174f57290f47e1b171ebc8d44c493"
},
"x86_64_windows": {
"checksum": "aaaf21fa1ea20b6b184ff9d31683038783caf82c2b940a233b40f04e9d2cf89b"
},
"aarch64_linux_gnu": {
"checksum": "97dc7a3c7bb0541f938918d7effe89958c86619c6408d30eb6ded5fca3e80726"
},
"aarch64_macos": {
"checksum": "1fbbc16736004f455b2c8ea685573dcfae953ce4c2c6da559533be8e600da491"
}
}, },
"19": { "19": {
"version": "19.0.2" "version": "19.0.2"

View File

@@ -8,6 +8,7 @@
"x86_64_linux_musl": {}, "x86_64_linux_musl": {},
"x86_64_macos": {}, "x86_64_macos": {},
"x86_64_windows": {}, "x86_64_windows": {},
"aarch64_linux_musl": {},
"aarch64_macos": {} "aarch64_macos": {}
} }
} }

View File

@@ -15,14 +15,6 @@ trap 's=$?; echo >&2 "$0: error on line "${LINENO}": ${BASH_COMMAND}"; exit ${s}
# Note: This script requires the following tools: # Note: This script requires the following tools:
# - parse-changelog <https://github.com/taiki-e/parse-changelog> # - parse-changelog <https://github.com/taiki-e/parse-changelog>
x() {
local cmd="$1"
shift
(
set -x
"${cmd}" "$@"
)
}
retry() { retry() {
for i in {1..10}; do for i in {1..10}; do
if "$@"; then if "$@"; then
@@ -106,12 +98,6 @@ echo "============== CHANGELOG =============="
echo "${changes}" echo "${changes}"
echo "=======================================" echo "======================================="
if [[ -n "${tags}" ]]; then
# Create a release commit.
x git add "${changelog}"
x git commit -m "Release ${version}"
fi
tools=() tools=()
for tool in tools/codegen/base/*.json; do for tool in tools/codegen/base/*.json; do
tools+=("$(basename "${tool%.*}")") tools+=("$(basename "${tool%.*}")")
@@ -119,7 +105,15 @@ done
# Not manifest-based # Not manifest-based
tools+=(valgrind nextest cargo-nextest) tools+=(valgrind nextest cargo-nextest)
if [[ -n "${tags}" ]]; then
# Create a release commit.
( (
set -x
git add "${changelog}"
git commit -m "Release ${version}"
)
fi
set -x set -x
git tag "${tag}" git tag "${tag}"
@@ -134,13 +128,11 @@ tools+=(valgrind nextest cargo-nextest)
retry git push --delete origin refs/tags/"${major_version_tag}" retry git push --delete origin refs/tags/"${major_version_tag}"
fi fi
git tag "${major_version_tag}" git tag "${major_version_tag}"
retry git push origin --tags
git checkout main git checkout main
git branch -d "${major_version_tag}" git branch -d "${major_version_tag}"
)
for tool in "${tools[@]}"; do for tool in "${tools[@]}"; do
(
set -x
git checkout -b "${tool}" git checkout -b "${tool}"
sed -i -e "s/required: true/required: false/g" action.yml sed -i -e "s/required: true/required: false/g" action.yml
sed -i -e "s/# default: #publish:tool/default: ${tool}/g" action.yml sed -i -e "s/# default: #publish:tool/default: ${tool}/g" action.yml
@@ -152,11 +144,7 @@ for tool in "${tools[@]}"; do
retry git push --delete origin refs/tags/"${tool}" retry git push --delete origin refs/tags/"${tool}"
fi fi
git tag "${tool}" git tag "${tool}"
retry git push origin --tags
git checkout main git checkout main
git branch -D "${tool}" git branch -D "${tool}"
)
done done
set -x
retry git push origin --tags

View File

@@ -35,17 +35,14 @@ check_diff() {
fi fi
fi fi
} }
check_config() {
if [[ ! -e "$1" ]]; then
error "could not found $1 in the repository root"
fi
}
info() { info() {
echo >&2 "info: $*" echo >&2 "info: $*"
} }
warn() {
if [[ -n "${GITHUB_ACTIONS:-}" ]]; then
echo "::warning::$*"
else
echo >&2 "warning: $*"
fi
should_fail=1
}
error() { error() {
if [[ -n "${GITHUB_ACTIONS:-}" ]]; then if [[ -n "${GITHUB_ACTIONS:-}" ]]; then
echo "::error::$*" echo "::error::$*"
@@ -71,14 +68,12 @@ fi
# Rust (if exists) # Rust (if exists)
if [[ -n "$(git ls-files '*.rs')" ]]; then if [[ -n "$(git ls-files '*.rs')" ]]; then
info "checking Rust code style" info "checking Rust code style"
if [[ ! -e .rustfmt.toml ]]; then check_config .rustfmt.toml
warn "could not found .rustfmt.toml in the repository root"
fi
if type -P rustup &>/dev/null; then if type -P rustup &>/dev/null; then
# `cargo fmt` cannot recognize files not included in the current workspace and modules # `cargo fmt` cannot recognize files not included in the current workspace and modules
# defined inside macros, so run rustfmt directly. # defined inside macros, so run rustfmt directly.
# We need to use nightly rustfmt because we use the unstable formatting options of rustfmt. # We need to use nightly rustfmt because we use the unstable formatting options of rustfmt.
rustc_version=$(rustc -Vv | grep 'release: ' | sed 's/release: //') rustc_version=$(rustc -vV | grep '^release:' | cut -d' ' -f2)
if [[ "${rustc_version}" == *"nightly"* ]] || [[ "${rustc_version}" == *"dev"* ]]; then if [[ "${rustc_version}" == *"nightly"* ]] || [[ "${rustc_version}" == *"dev"* ]]; then
rustup component add rustfmt &>/dev/null rustup component add rustfmt &>/dev/null
echo "+ rustfmt \$(git ls-files '*.rs')" echo "+ rustfmt \$(git ls-files '*.rs')"
@@ -90,7 +85,7 @@ if [[ -n "$(git ls-files '*.rs')" ]]; then
fi fi
check_diff $(git ls-files '*.rs') check_diff $(git ls-files '*.rs')
else else
warn "'rustup' is not installed; skipped Rust code style check" error "'rustup' is not installed; skipped Rust code style check"
fi fi
cast_without_turbofish=$(grep -n -E '\.cast\(\)' $(git ls-files '*.rs') || true) cast_without_turbofish=$(grep -n -E '\.cast\(\)' $(git ls-files '*.rs') || true)
if [[ -n "${cast_without_turbofish}" ]]; then if [[ -n "${cast_without_turbofish}" ]]; then
@@ -132,7 +127,7 @@ if [[ -n "$(git ls-files '*.rs')" ]]; then
publish=$(jq <<<"${pkg}" -r '.publish') publish=$(jq <<<"${pkg}" -r '.publish')
manifest_path=$(jq <<<"${pkg}" -r '.manifest_path') manifest_path=$(jq <<<"${pkg}" -r '.manifest_path')
if ! grep -q '^\[lints\]' "${manifest_path}" && ! grep -q '^\[lints\.rust\]' "${manifest_path}"; then if ! grep -q '^\[lints\]' "${manifest_path}" && ! grep -q '^\[lints\.rust\]' "${manifest_path}"; then
warn "no [lints] table in ${manifest_path} please add '[lints]' with 'workspace = true'" error "no [lints] table in ${manifest_path} please add '[lints]' with 'workspace = true'"
fi fi
# Publishing is unrestricted if null, and forbidden if an empty array. # Publishing is unrestricted if null, and forbidden if an empty array.
if [[ "${publish}" == "[]" ]]; then if [[ "${publish}" == "[]" ]]; then
@@ -149,10 +144,14 @@ if [[ -n "$(git ls-files '*.rs')" ]]; then
publish=$(jq <<<"${root_pkg}" -r '.publish') publish=$(jq <<<"${root_pkg}" -r '.publish')
# Publishing is unrestricted if null, and forbidden if an empty array. # Publishing is unrestricted if null, and forbidden if an empty array.
if [[ "${publish}" != "[]" ]]; then if [[ "${publish}" != "[]" ]]; then
if ! grep -Eq '^exclude = \[.*\.\*.*\]' Cargo.toml; then if ! grep -Eq '^exclude = \[.*"/\.\*".*\]' Cargo.toml; then
error "top-level Cargo.toml of real manifest should have exclude field with \"/.*\" and \"/tools\"" error "top-level Cargo.toml of non-virtual workspace should have 'exclude' field with \"/.*\""
elif ! grep -Eq '^exclude = \[.*/tools.*\]' Cargo.toml; then fi
error "top-level Cargo.toml of real manifest should have exclude field with \"/.*\" and \"/tools\"" if [[ -e tools ]] && ! grep -Eq '^exclude = \[.*"/tools".*\]' Cargo.toml; then
error "top-level Cargo.toml of non-virtual workspace should have 'exclude' field with \"/tools\" if it exists"
fi
if [[ -e target-specs ]] && ! grep -Eq '^exclude = \[.*"/target-specs".*\]' Cargo.toml; then
error "top-level Cargo.toml of non-virtual workspace should have 'exclude' field with \"/target-specs\" if it exists"
fi fi
fi fi
fi fi
@@ -165,7 +164,7 @@ if [[ -n "$(git ls-files '*.rs')" ]]; then
# Top-level hidden files/directories and tools/* are excluded from crates.io (ensured by the above check). # Top-level hidden files/directories and tools/* are excluded from crates.io (ensured by the above check).
# TODO: fully respect exclude field in Cargo.toml. # TODO: fully respect exclude field in Cargo.toml.
case "${p}" in case "${p}" in
.* | tools/*) continue ;; .* | tools/* | target-specs/*) continue ;;
esac esac
if [[ -x "${p}" ]]; then if [[ -x "${p}" ]]; then
executables+="${p}"$'\n' executables+="${p}"$'\n'
@@ -189,35 +188,35 @@ if [[ -n "$(git ls-files '*.rs')" ]]; then
echo "=======================================" echo "======================================="
fi fi
fi fi
elif [[ -e .rustfmt.toml ]]; then
error ".rustfmt.toml is unused"
fi fi
# C/C++ (if exists) # C/C++ (if exists)
if [[ -n "$(git ls-files '*.c' '*.h' '*.cpp' '*.hpp')" ]]; then if [[ -n "$(git ls-files '*.c' '*.h' '*.cpp' '*.hpp')" ]]; then
info "checking C/C++ code style" info "checking C/C++ code style"
if [[ ! -e .clang-format ]]; then check_config .clang-format
warn "could not found .clang-format in the repository root"
fi
if type -P clang-format &>/dev/null; then if type -P clang-format &>/dev/null; then
echo "+ clang-format -i \$(git ls-files '*.c' '*.h' '*.cpp' '*.hpp')" echo "+ clang-format -i \$(git ls-files '*.c' '*.h' '*.cpp' '*.hpp')"
clang-format -i $(git ls-files '*.c' '*.h' '*.cpp' '*.hpp') clang-format -i $(git ls-files '*.c' '*.h' '*.cpp' '*.hpp')
check_diff $(git ls-files '*.c' '*.h' '*.cpp' '*.hpp') check_diff $(git ls-files '*.c' '*.h' '*.cpp' '*.hpp')
else else
warn "'clang-format' is not installed; skipped C/C++ code style check" error "'clang-format' is not installed; skipped C/C++ code style check"
fi fi
elif [[ -e .clang-format ]]; then
error ".clang-format is unused"
fi fi
# YAML/JavaScript/JSON (if exists) # YAML/JavaScript/JSON (if exists)
if [[ -n "$(git ls-files '*.yml' '*.js' '*.json')" ]]; then if [[ -n "$(git ls-files '*.yml' '*.yaml' '*.js' '*.json')" ]]; then
info "checking YAML/JavaScript/JSON code style" info "checking YAML/JavaScript/JSON code style"
if [[ ! -e .editorconfig ]]; then check_config .editorconfig
warn "could not found .editorconfig in the repository root"
fi
if type -P npm &>/dev/null; then if type -P npm &>/dev/null; then
echo "+ npx -y prettier -l -w \$(git ls-files '*.yml' '*.js' '*.json')" echo "+ npx -y prettier -l -w \$(git ls-files '*.yml' '*.yaml' '*.js' '*.json')"
npx -y prettier -l -w $(git ls-files '*.yml' '*.js' '*.json') npx -y prettier -l -w $(git ls-files '*.yml' '*.yaml' '*.js' '*.json')
check_diff $(git ls-files '*.yml' '*.js' '*.json') check_diff $(git ls-files '*.yml' '*.yaml' '*.js' '*.json')
else else
warn "'npm' is not installed; skipped YAML/JavaScript/JSON code style check" error "'npm' is not installed; skipped YAML/JavaScript/JSON code style check"
fi fi
# Check GitHub workflows. # Check GitHub workflows.
if [[ -d .github/workflows ]]; then if [[ -d .github/workflows ]]; then
@@ -266,45 +265,45 @@ if [[ -n "$(git ls-files '*.yml' '*.js' '*.json')" ]]; then
fi fi
done done
else else
warn "'python3' is not installed; skipped GitHub workflow check" error "'python3' is not installed; skipped GitHub workflow check"
fi fi
else else
warn "'jq' is not installed; skipped GitHub workflow check" error "'jq' is not installed; skipped GitHub workflow check"
fi fi
fi fi
fi fi
if [[ -n "$(git ls-files '*.yaml')" ]]; then if [[ -n "$(git ls-files '*.yaml' | (grep -v .markdownlint-cli2.yaml || true))" ]]; then
error "please use '.yml' instead of '.yaml' for consistency" error "please use '.yml' instead of '.yaml' for consistency"
git ls-files '*.yaml' git ls-files '*.yaml' | (grep -v .markdownlint-cli2.yaml || true)
fi fi
# TOML (if exists) # TOML (if exists)
if [[ -n "$(git ls-files '*.toml')" ]]; then if [[ -n "$(git ls-files '*.toml' | (grep -v .taplo.toml || true))" ]]; then
info "checking TOML style" info "checking TOML style"
if [[ ! -e .taplo.toml ]]; then check_config .taplo.toml
warn "could not found .taplo.toml in the repository root"
fi
if type -P npm &>/dev/null; then if type -P npm &>/dev/null; then
echo "+ npx -y @taplo/cli fmt \$(git ls-files '*.toml')" echo "+ npx -y @taplo/cli fmt \$(git ls-files '*.toml')"
npx -y @taplo/cli fmt $(git ls-files '*.toml') RUST_LOG=warn npx -y @taplo/cli fmt $(git ls-files '*.toml')
check_diff $(git ls-files '*.toml') check_diff $(git ls-files '*.toml')
else else
warn "'npm' is not installed; skipped TOML style check" error "'npm' is not installed; skipped TOML style check"
fi fi
elif [[ -e .taplo.toml ]]; then
error ".taplo.toml is unused"
fi fi
# Markdown (if exists) # Markdown (if exists)
if [[ -n "$(git ls-files '*.md')" ]]; then if [[ -n "$(git ls-files '*.md')" ]]; then
info "checking Markdown style" info "checking Markdown style"
if [[ ! -e .markdownlint.yml ]]; then check_config .markdownlint-cli2.yaml
warn "could not found .markdownlint.yml in the repository root"
fi
if type -P npm &>/dev/null; then if type -P npm &>/dev/null; then
echo "+ npx -y markdownlint-cli2 \$(git ls-files '*.md')" echo "+ npx -y markdownlint-cli2 \$(git ls-files '*.md')"
npx -y markdownlint-cli2 $(git ls-files '*.md') npx -y markdownlint-cli2 $(git ls-files '*.md')
else else
warn "'npm' is not installed; skipped Markdown style check" error "'npm' is not installed; skipped Markdown style check"
fi fi
elif [[ -e .markdownlint-cli2.yaml ]]; then
error ".markdownlint-cli2.yaml is unused"
fi fi
if [[ -n "$(git ls-files '*.markdown')" ]]; then if [[ -n "$(git ls-files '*.markdown')" ]]; then
error "please use '.md' instead of '.markdown' for consistency" error "please use '.md' instead of '.markdown' for consistency"
@@ -314,19 +313,15 @@ fi
# Shell scripts # Shell scripts
info "checking Shell scripts" info "checking Shell scripts"
if type -P shfmt &>/dev/null; then if type -P shfmt &>/dev/null; then
if [[ ! -e .editorconfig ]]; then check_config .editorconfig
warn "could not found .editorconfig in the repository root"
fi
echo "+ shfmt -l -w \$(git ls-files '*.sh')" echo "+ shfmt -l -w \$(git ls-files '*.sh')"
shfmt -l -w $(git ls-files '*.sh') shfmt -l -w $(git ls-files '*.sh')
check_diff $(git ls-files '*.sh') check_diff $(git ls-files '*.sh')
else else
warn "'shfmt' is not installed; skipped Shell scripts style check" error "'shfmt' is not installed; skipped Shell scripts style check"
fi fi
if type -P shellcheck &>/dev/null; then if type -P shellcheck &>/dev/null; then
if [[ ! -e .shellcheckrc ]]; then check_config .shellcheckrc
warn "could not found .shellcheckrc in the repository root"
fi
echo "+ shellcheck \$(git ls-files '*.sh')" echo "+ shellcheck \$(git ls-files '*.sh')"
if ! shellcheck $(git ls-files '*.sh'); then if ! shellcheck $(git ls-files '*.sh'); then
should_fail=1 should_fail=1
@@ -339,7 +334,7 @@ if type -P shellcheck &>/dev/null; then
fi fi
fi fi
else else
warn "'shellcheck' is not installed; skipped Shell scripts style check" error "'shellcheck' is not installed; skipped Shell scripts style check"
fi fi
# License check # License check
@@ -424,7 +419,7 @@ EOF
fi fi
check_diff .github/.cspell/rust-dependencies.txt check_diff .github/.cspell/rust-dependencies.txt
if ! grep -Eq "^\.github/\.cspell/rust-dependencies.txt linguist-generated" .gitattributes; then if ! grep -Eq "^\.github/\.cspell/rust-dependencies.txt linguist-generated" .gitattributes; then
echo "warning: you may want to mark .github/.cspell/rust-dependencies.txt linguist-generated" error "you may want to mark .github/.cspell/rust-dependencies.txt linguist-generated"
fi fi
echo "+ npx -y cspell --no-progress --no-summary \$(git ls-files)" echo "+ npx -y cspell --no-progress --no-summary \$(git ls-files)"
@@ -460,7 +455,7 @@ EOF
echo "=======================================" echo "======================================="
fi fi
else else
warn "'npm' is not installed; skipped spell check" error "'npm' is not installed; skipped spell check"
fi fi
fi fi