Compare commits

...

37 Commits

Author SHA1 Message Date
Taiki Endo
0b63bc859f Release 2.49.9 2025-03-01 13:49:10 +09:00
Taiki Endo
366fcd03e0 Update typos@latest to 1.30.0 2025-03-01 13:46:15 +09:00
Taiki Endo
dccf3df6e0 Release 2.49.8 2025-03-01 00:24:02 +09:00
Taiki Endo
a1324e40ca Update cargo-binstall@latest to 1.11.2 2025-03-01 00:12:23 +09:00
Taiki Endo
f0776fc234 Update cargo-audit@latest to 0.21.2 2025-02-28 21:15:42 +09:00
Taiki Endo
ada1a57be8 Release 2.49.7 2025-02-27 21:24:10 +09:00
Taiki Endo
afc83a47c0 Update cargo-deny@latest to 0.18.1 2025-02-27 18:14:42 +09:00
Taiki Endo
3fc1605ecf Release 2.49.6 2025-02-27 10:48:44 +09:00
Taiki Endo
85ca29eaeb Update cargo-lambda@latest to 1.7.0 2025-02-27 09:31:24 +09:00
Taiki Endo
93a6e1f102 ci: Open update manifest PR also from workflow_dispatch 2025-02-27 02:40:35 +09:00
Taiki Endo
019e221005 Release 2.49.5 2025-02-26 03:53:24 +09:00
Taiki Endo
624ef34326 Update wasmtime@latest to 30.0.2 2025-02-26 03:52:39 +09:00
Taiki Endo
c984ca7702 Update release-plz@latest to 0.3.123 2025-02-26 03:16:13 +09:00
Taiki Endo
6c595e9f7b Release 2.49.4 2025-02-26 00:45:14 +09:00
Taiki Endo
892838bca9 Update typos@latest to 1.29.10 2025-02-26 00:18:52 +09:00
Taiki Endo
7ea888af71 Release 2.49.3 2025-02-25 09:32:31 +09:00
Taiki Endo
d65f93a644 Update wash@latest to 0.39.0 2025-02-25 09:24:38 +09:00
Taiki Endo
7795204009 Update cargo-nextest@latest to 0.9.92 2025-02-25 09:24:38 +09:00
Taiki Endo
a3bd4a6f9c Release 2.49.2 2025-02-25 09:17:00 +09:00
Taiki Endo
a124e0a223 Update sccache@latest to 0.10.0 2025-02-25 06:13:23 +09:00
Taiki Endo
77262c00ec Update cargo-machete@latest to 0.8.0 2025-02-25 06:13:23 +09:00
Taiki Endo
ae97ff9daf Release 2.49.1 2025-02-24 18:50:52 +09:00
Taiki Endo
4226e24080 Update cargo-deny@latest to 0.18.0 2025-02-24 18:44:52 +09:00
Taiki Endo
e03236526a Release 2.49.0 2025-02-24 03:58:48 +09:00
Taiki Endo
7cd5fd4051 Update changelog 2025-02-24 03:58:09 +09:00
Taiki Endo
bfd7aadad6 Allow installing pre-release versions using binstall 2025-02-24 03:57:25 +09:00
Taiki Endo
011a3fc5ce rustfmt: set style_edition = "2024" 2025-02-23 22:32:18 +09:00
Taiki Endo
eb454bad93 Release 2.48.22 2025-02-23 13:39:07 +09:00
Taiki Endo
d041e4befe Update cargo-binstall@latest to 1.11.1 2025-02-23 13:22:51 +09:00
Taiki Endo
1f8ff2cc46 Update release-plz@latest to 0.3.122 2025-02-23 06:12:03 +09:00
Taiki Endo
6a4015d722 Release 2.48.21 2025-02-22 12:37:02 +09:00
Taiki Endo
817fcd18a5 Update wasmtime@latest to 30.0.1 2025-02-22 09:28:46 +09:00
Taiki Endo
dee334f610 Update syft@latest to 1.20.0 2025-02-22 06:14:30 +09:00
Taiki Endo
38c7691f46 Update scripts 2025-02-21 23:48:30 +09:00
Taiki Endo
2dbeb927f5 Release 2.48.20 2025-02-21 20:15:39 +09:00
Taiki Endo
7852930e42 Update cargo-udeps@latest to 0.1.55 2025-02-21 09:31:15 +09:00
Taiki Endo
46724b7a3e Revert "ci: Temporarily disable buggy ubuntu-24.04-arm runner"
This reverts commit 0b0596dd1e.
2025-02-21 00:40:15 +09:00
22 changed files with 584 additions and 91 deletions

View File

@@ -62,7 +62,7 @@ jobs:
- os: ubuntu-22.04
- os: ubuntu-22.04-arm
- os: ubuntu-24.04
# - os: ubuntu-24.04-arm # TODO: re-enable when https://github.com/rust-lang/rust/issues/135867 solved
- os: ubuntu-24.04-arm
- os: ubuntu-22.04
tool: major.minor.patch
- os: ubuntu-22.04

View File

@@ -52,8 +52,8 @@ jobs:
- name: Handle diff
id: diff
run: tools/ci/manifest.sh
if: github.repository_owner == 'taiki-e' && (github.event_name == 'schedule' || github.event_name == 'push' && github.ref == 'refs/heads/main')
- run: git add -N . && git diff --exit-code
if: github.repository_owner == 'taiki-e' && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || github.event_name == 'push' && github.ref == 'refs/heads/main')
- run: git add -N . && git -c color.ui=always diff --exit-code
- id: create-pull-request
uses: peter-evans/create-pull-request@v7
with:
@@ -64,16 +64,16 @@ jobs:
This will be auto-merged when CI has passed because this is an auto-generated PR in a defined format and is usually considered no additional review is required.
branch: update-manifest
token: ${{ secrets.CREATE_PR_TOKEN }}
if: github.repository_owner == 'taiki-e' && (github.event_name == 'schedule' || github.event_name == 'push' && github.ref == 'refs/heads/main') && steps.diff.outputs.success == 'false'
if: github.repository_owner == 'taiki-e' && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || github.event_name == 'push' && github.ref == 'refs/heads/main') && steps.diff.outputs.success == 'false'
- name: Enable auto-merge for auto-generated PR
run: gh pr merge --rebase --auto "${PR_NUMBER:?}"
env:
GITHUB_TOKEN: ${{ secrets.CREATE_PR_TOKEN }}
PR_NUMBER: ${{ steps.create-pull-request.outputs.pull-request-number }}
if: github.repository_owner == 'taiki-e' && (github.event_name == 'schedule' || github.event_name == 'push' && github.ref == 'refs/heads/main') && steps.diff.outputs.success == 'false' && steps.create-pull-request.outputs.pull-request-operation == 'created'
if: github.repository_owner == 'taiki-e' && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || github.event_name == 'push' && github.ref == 'refs/heads/main') && steps.diff.outputs.success == 'false' && steps.create-pull-request.outputs.pull-request-operation == 'created'
- name: Approve auto-generated PR for auto-merge
run: gh pr review --approve "${PR_NUMBER:?}"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ steps.create-pull-request.outputs.pull-request-number }}
if: github.repository_owner == 'taiki-e' && (github.event_name == 'schedule' || github.event_name == 'push' && github.ref == 'refs/heads/main') && steps.diff.outputs.success == 'false' && (steps.create-pull-request.outputs.pull-request-operation == 'created' || steps.create-pull-request.outputs.pull-request-operation == 'updated')
if: github.repository_owner == 'taiki-e' && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || github.event_name == 'push' && github.ref == 'refs/heads/main') && steps.diff.outputs.success == 'false' && (steps.create-pull-request.outputs.pull-request-operation == 'created' || steps.create-pull-request.outputs.pull-request-operation == 'updated')

View File

@@ -8,7 +8,6 @@ error_on_line_overflow = true
# Override the default formatting style.
# See https://internals.rust-lang.org/t/running-rustfmt-on-rust-lang-rust-and-other-rust-lang-repositories/8732/81.
use_small_heuristics = "Max"
# This is the default of 2024 edition https://github.com/rust-lang/rust/pull/114764.
# This is unstable (tracking issue: https://github.com/rust-lang/rustfmt/issues/3370)
overflow_delimited_expr = true
# This is unstable (tracking issue: https://github.com/rust-lang/rustfmt/issues/4991).
@@ -27,6 +26,7 @@ use_try_shorthand = true
# Set the default settings again to always apply the proper formatting without
# being affected by the editor settings.
edition = "2021"
style_edition = "2024"
hard_tabs = false
newline_style = "Unix"
tab_spaces = 4

View File

@@ -10,6 +10,70 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
## [Unreleased]
## [2.49.9] - 2025-03-01
- Update `typos@latest` to 1.30.0.
## [2.49.8] - 2025-02-28
- Update `cargo-binstall@latest` to 1.11.2.
- Update `cargo-audit@latest` to 0.21.2.
## [2.49.7] - 2025-02-27
- Update `cargo-deny@latest` to 0.18.1.
## [2.49.6] - 2025-02-27
- Update `cargo-lambda@latest` to 1.7.0.
## [2.49.5] - 2025-02-25
- Update `wasmtime@latest` to 30.0.2.
- Update `release-plz@latest` to 0.3.123.
## [2.49.4] - 2025-02-25
- Update `typos@latest` to 1.29.10.
## [2.49.3] - 2025-02-25
- Update `wash@latest` to 0.39.0.
- Update `cargo-nextest@latest` to 0.9.92.
## [2.49.2] - 2025-02-25
- Update `sccache@latest` to 0.10.0.
- Update `cargo-machete@latest` to 0.8.0.
## [2.49.1] - 2025-02-24
- Update `cargo-deny@latest` to 0.18.0.
## [2.49.0] - 2025-02-23
- Allow installing pre-release versions using binstall. ([#868](https://github.com/taiki-e/install-action/pull/868))
## [2.48.22] - 2025-02-23
- Update `cargo-binstall@latest` to 1.11.1.
- Update `release-plz@latest` to 0.3.122.
## [2.48.21] - 2025-02-22
- Update `wasmtime@latest` to 30.0.1.
- Update `syft@latest` to 1.20.0.
## [2.48.20] - 2025-02-21
- Update `cargo-udeps@latest` to 0.1.55.
## [2.48.19] - 2025-02-20
- Update `typos@latest` to 1.29.9.
@@ -3538,7 +3602,20 @@ Note: This release is considered a breaking change because installing on version
Initial release
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.48.19...HEAD
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.49.9...HEAD
[2.49.9]: https://github.com/taiki-e/install-action/compare/v2.49.8...v2.49.9
[2.49.8]: https://github.com/taiki-e/install-action/compare/v2.49.7...v2.49.8
[2.49.7]: https://github.com/taiki-e/install-action/compare/v2.49.6...v2.49.7
[2.49.6]: https://github.com/taiki-e/install-action/compare/v2.49.5...v2.49.6
[2.49.5]: https://github.com/taiki-e/install-action/compare/v2.49.4...v2.49.5
[2.49.4]: https://github.com/taiki-e/install-action/compare/v2.49.3...v2.49.4
[2.49.3]: https://github.com/taiki-e/install-action/compare/v2.49.2...v2.49.3
[2.49.2]: https://github.com/taiki-e/install-action/compare/v2.49.1...v2.49.2
[2.49.1]: https://github.com/taiki-e/install-action/compare/v2.49.0...v2.49.1
[2.49.0]: https://github.com/taiki-e/install-action/compare/v2.48.22...v2.49.0
[2.48.22]: https://github.com/taiki-e/install-action/compare/v2.48.21...v2.48.22
[2.48.21]: https://github.com/taiki-e/install-action/compare/v2.48.20...v2.48.21
[2.48.20]: https://github.com/taiki-e/install-action/compare/v2.48.19...v2.48.20
[2.48.19]: https://github.com/taiki-e/install-action/compare/v2.48.18...v2.48.19
[2.48.18]: https://github.com/taiki-e/install-action/compare/v2.48.17...v2.48.18
[2.48.17]: https://github.com/taiki-e/install-action/compare/v2.48.16...v2.48.17

View File

@@ -639,11 +639,11 @@ for tool in "${tools[@]}"; do
if [[ "${tool}" == *"@"* ]]; then
version="${tool#*@}"
tool="${tool%@*}"
if [[ ! "${version}" =~ ^([1-9][0-9]*(\.[0-9]+(\.[0-9]+)?)?|0\.[1-9][0-9]*(\.[0-9]+)?|^0\.0\.[0-9]+)$|^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\.-]+)?$|^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}'"
fi
bail "install-action v2 does not support semver pre-release and build-metadata: '${version}'; if you need these supports again, please submit an issue at <https://github.com/taiki-e/install-action>"
bail "install-action v2 does not support semver build-metadata: '${version}'; if you need these supports again, please submit an issue at <https://github.com/taiki-e/install-action>"
fi
else
version=latest

View File

@@ -20,10 +20,28 @@
},
"license_markdown": "[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)",
"latest": {
"version": "0.21.1"
"version": "0.21.2"
},
"0.21": {
"version": "0.21.1"
"version": "0.21.2"
},
"0.21.2": {
"x86_64_linux_musl": {
"etag": "0x8DD57EB7FBC973F",
"checksum": "422912aa851458bc9bf37a458b75890cb5a4e2a7e5216dcee7df91507fc594d9"
},
"x86_64_macos": {
"etag": "0x8DD57EB6E096D56",
"checksum": "35bb991a09591ace872c86210931875dca013a53400eddb75ff2883e00b8eb67"
},
"x86_64_windows": {
"etag": "0x8DD57EBD7A4AB19",
"checksum": "9499b234149962c03f2e4d089ecc756c598d8fee6531f76c719a47feaff7468e"
},
"aarch64_linux_gnu": {
"etag": "0x8DD57EB8E4432AF",
"checksum": "f29959b2792bb0864db5db1d2facf16c2f8bc3be323ca57cee9609147cd6f64d"
}
},
"0.21.1": {
"x86_64_linux_musl": {

View File

@@ -22,32 +22,32 @@
},
"license_markdown": "[GPL-3.0](https://github.com/cargo-bins/cargo-binstall/blob/HEAD/crates/bin/LICENSE)",
"latest": {
"version": "1.11.0"
"version": "1.11.2"
},
"1.11.0": {
"1.11.2": {
"x86_64_linux_musl": {
"etag": "0x8DD4DA50EF05FF4",
"checksum": "1d9afc284393a341d7c6317101c0f208d8fad9f7a2ed6f1853628cc5c1403b7d"
"etag": "0x8DD57FA7BB48549",
"checksum": "ea9ce8f0b4139aaa7f8cce03fb0e54f206a6a9d0b8e2e586dfae99d4a92c3fa0"
},
"x86_64_macos": {
"etag": "0x8DD4DA4AFD6B7B5",
"checksum": "89b3c2e847ba3edd2e016850d1223c5df3743d5c801f08c60da64d39dd4cc8d6"
"etag": "0x8DD57FA5478A8DB",
"checksum": "7fac7c408bc001f211dfc2bd6cd614e7dd5022087f134a37e545dceb760e19f8"
},
"x86_64_windows": {
"etag": "0x8DD4DA60C2A3B51",
"checksum": "0cd260738ea30032c0c0a6eeb446cfe5c5ec5974323d7a2a031da1fd10c7760d"
"etag": "0x8DD57FB7B0E7292",
"checksum": "abae034a133e89c6ad532e2d2c473cf3558b70072ec366e0933f6b3c275dfbec"
},
"aarch64_linux_musl": {
"etag": "0x8DD4DA478073A0E",
"checksum": "0023091a41560dd8f948f401c21401d036e42408e7183e62017b6b90b5973b7c"
"etag": "0x8DD57FA1DF05862",
"checksum": "e346df04a676ddfe46f4b900507d7d844a472182dd0c849c582b786be971be6a"
},
"aarch64_macos": {
"etag": "0x8DD4DA4E6F4CEBC",
"checksum": "bd746c656e5cc9820fb277b442f438127bc461c52f20500452b845a767d15322"
"etag": "0x8DD57FB2B5DC5EC",
"checksum": "933a58e3b12e35564d69e0d5d67b93f9417e913af23f39d3567d76cb0140ac9f"
},
"aarch64_windows": {
"etag": "0x8DD4DA5B9D4FBEE",
"checksum": "80fc65c0bd700e68489244b60b67cf88bc5f5c50eccc337d8d79e7a81a7b5383"
"etag": "0x8DD57FB28B74CA4",
"checksum": "902634c196f849d62b2edf84e5e6f80aefe89cd4f432f179cd3a1a0a89a93fb6"
}
}
}

View File

@@ -24,7 +24,54 @@
},
"license_markdown": "[MIT](https://github.com/EmbarkStudios/cargo-deny/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/EmbarkStudios/cargo-deny/blob/main/LICENSE-APACHE)",
"latest": {
"version": "0.17.0"
"version": "0.18.1"
},
"0.18": {
"version": "0.18.1"
},
"0.18.1": {
"x86_64_linux_musl": {
"etag": "0x8DD56FE3AFCABBF",
"checksum": "0ea3ced1541ae7a06487dbe723a95d809dbe964891fb5ec704227bd8e7fc33e0"
},
"x86_64_macos": {
"etag": "0x8DD56FE37FF0016",
"checksum": "27158590309c0198b713c79500f2ba092375cbc75bde7f6ff576ac57b4836e8b"
},
"x86_64_windows": {
"etag": "0x8DD56FEBED58597",
"checksum": "a2f0146ca2e15a93a796ee5e5d364b0eed8a8ea6e959dc32dba1b36916e2f796"
},
"aarch64_linux_musl": {
"etag": "0x8DD56FE49C48325",
"checksum": "564241cea4948775e91eaa96899c1259e3b5fd678366d2f626950dc686aae4fb"
},
"aarch64_macos": {
"etag": "0x8DD56FE330F2FF5",
"checksum": "12ffa1faeaaff6fa37bf24cff24acd2d6dc95b47c5d339dd337ceb930ed7286e"
}
},
"0.18.0": {
"x86_64_linux_musl": {
"etag": "0x8DD54AD3CA8695C",
"checksum": "9f0c7b5b84242db9b1d4c47155c4cecc006a9dd657aa730a186939379a8c2200"
},
"x86_64_macos": {
"etag": "0x8DD54AD2A210547",
"checksum": "b131c2871d982aa1e322a65c09c5c2971dffb24689921df287d73f423c888991"
},
"x86_64_windows": {
"etag": "0x8DD54ADAE24EDA7",
"checksum": "5f1d1ad125f2e626b2c393d71e2ab36b4f468c47711547832c1f4da19f892ca0"
},
"aarch64_linux_musl": {
"etag": "0x8DD54AD5819A2C2",
"checksum": "1a6f16dbaf308a64dfa1fb310a717a268f2b38bfd1bc32d5ce2c1f8b72adeec2"
},
"aarch64_macos": {
"etag": "0x8DD54AD34C97FE5",
"checksum": "e1cb27af1d1020a19dd3c48019071b0c21b2641b8fbc49a2806223f6cb47e2ff"
}
},
"0.17": {
"version": "0.17.0"

View File

@@ -20,10 +20,35 @@
},
"license_markdown": "[MIT](https://github.com/cargo-lambda/cargo-lambda/blob/main/LICENSE)",
"latest": {
"version": "1.6.3"
"version": "1.7.0"
},
"1": {
"version": "1.6.3"
"version": "1.7.0"
},
"1.7": {
"version": "1.7.0"
},
"1.7.0": {
"x86_64_linux_musl": {
"etag": "0x8DD56BF9E11BA5C",
"checksum": "f5166a3f382056d819b90974a97c71db7f5bf84c5078edc94f79b143886cdf90"
},
"x86_64_macos": {
"etag": "0x8DD56BF9EA60050",
"checksum": "7b188fef3c9476958cdeca463d649165adcae782b8ef88c43b3d87c392a94cd1"
},
"x86_64_windows": {
"etag": "0x8DD56BF9F5D3743",
"checksum": "e3e1c5aee7d34d6d2b12cf833ef549baeb9c4d67e3bd3bc89841c8dc01bc5c83"
},
"aarch64_linux_musl": {
"etag": "0x8DD56BFA000AE63",
"checksum": "4f13f82823a2d06bc28d0c7f38dc398514a4279866ba8c1e543e30a24a762891"
},
"aarch64_macos": {
"etag": "0x8DD56BFA09FE47E",
"checksum": "d9dc72ab5b4ef8fca16bcd24b21072c4f5397b233b4a05e85e10a01bcd0b6920"
}
},
"1.6": {
"version": "1.6.3"

View File

@@ -3,7 +3,36 @@
"template": null,
"license_markdown": "[MIT](https://github.com/bnjbvr/cargo-machete/blob/main/LICENSE.md)",
"latest": {
"version": "0.7.0"
"version": "0.8.0"
},
"0.8": {
"version": "0.8.0"
},
"0.8.0": {
"x86_64_linux_musl": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.8.0/cargo-machete-v0.8.0-x86_64-unknown-linux-musl.tar.gz",
"etag": "0x8DD550F01B09F95",
"checksum": "020f6608f9be1562d1fb601e5808e541ccb8806e7e4dfde27d48bc22254a002c",
"bin": "cargo-machete-v0.8.0-x86_64-unknown-linux-musl/cargo-machete"
},
"x86_64_macos": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.8.0/cargo-machete-v0.8.0-x86_64-apple-darwin.tar.gz",
"etag": "0x8DD550F074262C8",
"checksum": "f1304100fef4012e6b3f4b74fa7d6a71ff0de3cc3d8a3e67773a434f2854a0d8",
"bin": "cargo-machete-v0.8.0-x86_64-apple-darwin/cargo-machete"
},
"x86_64_windows": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.8.0/cargo-machete-v0.8.0-x86_64-pc-windows-msvc.tar.gz",
"etag": "0x8DD550F250F5178",
"checksum": "19f15db89529f0e01fa0afb56d1d3c3d54bfb709086479bd190a0f4a3e2efd8c",
"bin": "cargo-machete-v0.8.0-x86_64-pc-windows-msvc/cargo-machete.exe"
},
"aarch64_macos": {
"url": "https://github.com/bnjbvr/cargo-machete/releases/download/v0.8.0/cargo-machete-v0.8.0-aarch64-apple-darwin.tar.gz",
"etag": "0x8DD550F00F685B8",
"checksum": "9047eacf791e23ff2b3b7b3489a9537c34df02dbdbbfe46541720e9ed3308adf",
"bin": "cargo-machete-v0.8.0-aarch64-apple-darwin/cargo-machete"
}
},
"0.7": {
"version": "0.7.0"

View File

@@ -19,10 +19,33 @@
},
"license_markdown": "[Apache-2.0](https://github.com/nextest-rs/nextest/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/nextest-rs/nextest/blob/main/LICENSE-MIT)",
"latest": {
"version": "0.9.91"
"version": "0.9.92"
},
"0.9": {
"version": "0.9.91"
"version": "0.9.92"
},
"0.9.92": {
"previous_stable_version": "0.9.91",
"x86_64_linux_gnu": {
"etag": "0x8DD552945447848",
"checksum": "7d8fabc1b012075aab1b77c9462670e5ea34f9e40c6cf2c12a2ec2f9ee32bf20"
},
"x86_64_linux_musl": {
"etag": "0x8DD55296F1AEA89",
"checksum": "49e0727163248c394f9d1860da0f3eceff7ff2dbfd01da1a1ce93d4e46870896"
},
"x86_64_macos": {
"etag": "0x8DD55295BB83B68",
"checksum": "9490f380ea0568d179423bb5028955f91690e58051a95be0eb15f0119bc3df7a"
},
"x86_64_windows": {
"etag": "0x8DD5529B6381BC4",
"checksum": "e07391ea2bda51cb2ff26d536061723c7ea9e14adc69cd2ab9de44019bae7b03"
},
"aarch64_linux_gnu": {
"etag": "0x8DD55293D4A0C2F",
"checksum": "6adc85b7ffebe5bc3c4f30127c047d4766f65ddca906e12731591ea1cc81e995"
}
},
"0.9.91": {
"previous_stable_version": "0.9.90",

View File

@@ -32,10 +32,36 @@
},
"license_markdown": "[Apache-2.0 OR MIT](https://github.com/est31/cargo-udeps/blob/HEAD/LICENSE)",
"latest": {
"version": "0.1.54"
"version": "0.1.55"
},
"0.1": {
"version": "0.1.54"
"version": "0.1.55"
},
"0.1.55": {
"x86_64_linux_musl": {
"etag": "0x8DD51FD656FD61C",
"checksum": "63b9dd69eef610477ead31a02a8262ec321a0e0272080c8db60d547233b2b55f"
},
"x86_64_macos": {
"etag": "0x8DD51FD3F1522FD",
"checksum": "bf5264e82de4db53dda851cfadf1fc84681e89f839703077b99238562da9b4be"
},
"x86_64_windows": {
"etag": "0x8DD51FDD1BF0962",
"checksum": "b6ac0a3aaa91609924e8f116bedf33f9892f25bea10437b73ac62b886baf0bdd"
},
"aarch64_linux_musl": {
"etag": "0x8DD51FD66F8DA00",
"checksum": "a7b554ce1ad67e7e2c7679496c6bc4e57e35a36be50300670314fa3879405b2a"
},
"aarch64_macos": {
"etag": "0x8DD51FD5B3C7F18",
"checksum": "83727df0216eb08b4af11ab0f6f0699d06cfe807973b7cad83bc0a8a3b61ca1a"
},
"aarch64_windows": {
"etag": "0x8DD51FDD55FDE6B",
"checksum": "d0a2c26f11369c5855ffeaafaf6f299d179eb87afe3f2955fad893a7eff12dd3"
}
},
"0.1.54": {
"x86_64_linux_musl": {

View File

@@ -22,10 +22,88 @@
},
"license_markdown": "[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)",
"latest": {
"version": "0.3.120"
"version": "0.3.123"
},
"0.3": {
"version": "0.3.120"
"version": "0.3.123"
},
"0.3.123": {
"x86_64_linux_musl": {
"etag": "0x8DD55B71CC7C6AD",
"checksum": "19d590704d7560f5d2acea40828a8a9a80bf2a931a61c8f75698e6e91912e163"
},
"x86_64_macos": {
"etag": "0x8DD55B759679238",
"checksum": "c20ad8124fdc8ef79dde10637b968a801ea6c20c93aa74bf6ff29bdf447e1815"
},
"x86_64_windows": {
"etag": "0x8DD55B7C1CF5CA5",
"checksum": "590bfae52c96f88422e92d1ce27f19705c10184057dddd02647649d8b34659bc"
},
"aarch64_linux_musl": {
"etag": "0x8DD55B7248F236F",
"checksum": "718fba2a45c87b8ba06b49070670b42f9d9dbeaf9dd7ef5b15fb104e606a3156"
},
"aarch64_macos": {
"etag": "0x8DD55B7745F658C",
"checksum": "377d1a9c8408e193b97105127dece36d16f9a1401b56642f539ff0b53130c167"
},
"aarch64_windows": {
"etag": "0x8DD55B7B12E1D1D",
"checksum": "13ba4474f422ac75be9099ab0bc754d22911428dc974109fc92beac8b02f3d51"
}
},
"0.3.122": {
"x86_64_linux_musl": {
"etag": "0x8DD537551B92DC7",
"checksum": "c2d96cccacc03dcfa29d8300bd2acaab1a5e2cab25952d0e4b1d131918ad756a"
},
"x86_64_macos": {
"etag": "0x8DD5375D4F795CB",
"checksum": "eb08314c438a6a4af29dcb574a32ae140156c0f084e46273680660af6dafa082"
},
"x86_64_windows": {
"etag": "0x8DD537619A1C1AF",
"checksum": "74f4d5bc392c2f4cff7fd32d7241ccb8a5531cf60b180e435b22f4a5fe2716b9"
},
"aarch64_linux_musl": {
"etag": "0x8DD53755C4828BF",
"checksum": "1ca3021665e381bda6d10b5e91e24773141e62a6559a2b09d59f558c47977ce8"
},
"aarch64_macos": {
"etag": "0x8DD5375C9894846",
"checksum": "2ad90e487ce5fa010b3349606e6c8d8be483fc9a09cf5853b77c205f0a1cdfb1"
},
"aarch64_windows": {
"etag": "0x8DD53761D58537A",
"checksum": "34feea582a64a179ea9a03824c65299132a557ef7db2c3edba18420195e99e04"
}
},
"0.3.121": {
"x86_64_linux_musl": {
"etag": "0x8DD536DECC2FBC1",
"checksum": "8efd266e4254dc3caf75788645d99df96dfaa6e89ae0370846667f997389ac93"
},
"x86_64_macos": {
"etag": "0x8DD536E8F265D59",
"checksum": "90d89d597cdd4eaa72472ef7f7b07bd691bff98343b155bd3880d5eb5547c8b3"
},
"x86_64_windows": {
"etag": "0x8DD536E96DF0255",
"checksum": "3e896b61d4c98cdf24435df5f6670cc884cfe376e75406f1bcc2e953947591a6"
},
"aarch64_linux_musl": {
"etag": "0x8DD536DFC95334C",
"checksum": "1b4a5a41e473cda09fd07bfb2041dc26172b976a797e341a26b7f1b9b607697c"
},
"aarch64_macos": {
"etag": "0x8DD536E3D04F1FB",
"checksum": "26f81aeee258a3f2dc071bebd82e4c829e1c00f8d0c3c4179880ad2d49012eba"
},
"aarch64_windows": {
"etag": "0x8DD536EA3C7BF48",
"checksum": "eeb321d688421ff73aed37652d7bec2eb68e9399f9bed6f215bed6409c6c6453"
}
},
"0.3.120": {
"x86_64_linux_musl": {

31
manifests/sccache.json generated
View File

@@ -28,7 +28,36 @@
},
"license_markdown": "[Apache-2.0](https://github.com/mozilla/sccache/blob/main/LICENSE)",
"latest": {
"version": "0.9.1"
"version": "0.10.0"
},
"0.10": {
"version": "0.10.0"
},
"0.10.0": {
"x86_64_linux_musl": {
"etag": "0x8DD55012416929F",
"checksum": "1fbb35e135660d04a2d5e42b59c7874d39b3deb17de56330b25b713ec59f849b"
},
"x86_64_macos": {
"etag": "0x8DD550122EF3D9A",
"checksum": "6d4a77802ec83607478df7b6338be28171e65e58a38a49497ebec1fbb300fce4"
},
"x86_64_windows": {
"etag": "0x8DD550123829A62",
"checksum": "0d499d0f73fa575f805df014af6ece49b840195fb7de0c552230899d77186ceb"
},
"aarch64_linux_musl": {
"etag": "0x8DD5501211A9151",
"checksum": "d6a1ce4acd02b937cd61bc675a8be029a60f7bc167594c33d75732bbc0a07400"
},
"aarch64_macos": {
"etag": "0x8DD55011FE604AA",
"checksum": "5aba39252e2efa26bd76144f87ac59787d60fe567ab785e27e2a8c8190892eac"
},
"aarch64_windows": {
"etag": "0x8DD5501207F9BF4",
"checksum": "5fd6cd6dd474e91c37510719bf27cfe1826f929e40dd383c22a7b96da9a5458d"
}
},
"0.9": {
"version": "0.9.1"

29
manifests/syft.json generated
View File

@@ -24,10 +24,35 @@
},
"license_markdown": "[Apache-2.0](https://github.com/anchore/syft/blob/main/LICENSE)",
"latest": {
"version": "1.19.0"
"version": "1.20.0"
},
"1": {
"version": "1.19.0"
"version": "1.20.0"
},
"1.20": {
"version": "1.20.0"
},
"1.20.0": {
"x86_64_linux_musl": {
"etag": "0x8DD52B9B44D9131",
"checksum": "689e12c5cbf67521ce61b9c126068f9eaabe1223e77971b2fede50033ff6b5cc"
},
"x86_64_macos": {
"etag": "0x8DD52B9B5107ADF",
"checksum": "5fdf7afd0f1bfdbb2a1a575eacef8e10edfcb4783631baaa7572a9f4a4d86441"
},
"x86_64_windows": {
"etag": "0x8DD52B9B4FD568D",
"checksum": "b8bfdedb261de2a69768097422a73bc72273ee92136ff676a20c3161e658881f"
},
"aarch64_linux_musl": {
"etag": "0x8DD52B9B448B4AE",
"checksum": "53f76737ddbf425c89240d5b0be0990b1a71e66890b44f19743221b17e6ee635"
},
"aarch64_macos": {
"etag": "0x8DD52B9B5075D68",
"checksum": "91365712a06af0c0dcd06f5e87fc8791c4332831b3dd6f5474acaaf803d71d82"
}
},
"1.19": {
"version": "1.19.0"

45
manifests/typos.json generated
View File

@@ -16,13 +16,52 @@
},
"license_markdown": "[MIT](https://github.com/crate-ci/typos/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/crate-ci/typos/blob/master/LICENSE-APACHE)",
"latest": {
"version": "1.29.9"
"version": "1.30.0"
},
"1": {
"version": "1.29.9"
"version": "1.30.0"
},
"1.30": {
"version": "1.30.0"
},
"1.30.0": {
"x86_64_linux_musl": {
"etag": "0x8DD586CA6610BB1",
"checksum": "701b69e8fb23ee6f42338537523927113063cf239c3e775c8794ea7866cdb1a8"
},
"x86_64_macos": {
"etag": "0x8DD586C88AE8FA7",
"checksum": "9c59d34978d8aa1b4b546bbdc251ea9b43a0d71479619de092552709c01ed857"
},
"x86_64_windows": {
"etag": "0x8DD586CD7D654FE",
"checksum": "ca2f1620393ec2dfd62668ca7d9e6753443582aedaf46ab1da154a012eaa9a31"
},
"aarch64_macos": {
"etag": "0x8DD586C9BCC2DE2",
"checksum": "dbb1ff5c308f6328efb6f2c9d60d84b0e3a8bda963f63ecda5c62af1765902e1"
}
},
"1.29": {
"version": "1.29.9"
"version": "1.29.10"
},
"1.29.10": {
"x86_64_linux_musl": {
"etag": "0x8DD55AC1E75B717",
"checksum": "853d001535396e52b1c4b335cd4a57975dd70b68ef80a2e630365c6d5a2e9236"
},
"x86_64_macos": {
"etag": "0x8DD55AC0C8BFA3F",
"checksum": "fe270e559968fdf60bdec32e5de474689e761617c0823676e87a1f9780662ed2"
},
"x86_64_windows": {
"etag": "0x8DD55AC5A390B2C",
"checksum": "795daf8175179d2b1ab992fa3d5c45bae6818d07b62b2f82a664a4787eb02326"
},
"aarch64_macos": {
"etag": "0x8DD55AC2283CA7B",
"checksum": "789537a84b40034cde80637baf989e6d3866f41155e16c22659d9ca929015348"
}
},
"1.29.9": {
"x86_64_linux_musl": {

27
manifests/wash.json generated
View File

@@ -19,7 +19,32 @@
},
"license_markdown": "[Apache-2.0](https://github.com/wasmCloud/wasmCloud/blob/main/LICENSE)",
"latest": {
"version": "0.38.0"
"version": "0.39.0"
},
"0.39": {
"version": "0.39.0"
},
"0.39.0": {
"x86_64_linux_musl": {
"etag": "0x8DD550CA196B8BA",
"checksum": "7cfc3a7c62db1cffa93c92c8f42be9fb10525cde1354e38531508c7500170cf8"
},
"x86_64_macos": {
"etag": "0x8DD550CA189A812",
"checksum": "b96c77148758fb3c8ae74f94f13c3e95a526c592d125ae61d3a6d36bc438f21c"
},
"x86_64_windows": {
"etag": "0x8DD550CA1730540",
"checksum": "1ad7928bf88e3828409921026329af2ecfd86c792322171a9bed8e260127b8e8"
},
"aarch64_linux_musl": {
"etag": "0x8DD550CA185B4ED",
"checksum": "279efdd262c9ea25a21b6f9b89eec67aae6583776b4f99e8c72fc3a15ce848c0"
},
"aarch64_macos": {
"etag": "0x8DD550CA1825D4D",
"checksum": "7805d1c2a6b7b76181329737555bd9a70cc6b006ea67de81d97ce2d5a40c5d3c"
}
},
"0.38": {
"version": "0.38.0"

View File

@@ -28,13 +28,65 @@
},
"license_markdown": "[Apache-2.0 WITH LLVM-exception](https://github.com/bytecodealliance/wasmtime/blob/main/LICENSE)",
"latest": {
"version": "30.0.0"
"version": "30.0.2"
},
"30": {
"version": "30.0.0"
"version": "30.0.2"
},
"30.0": {
"version": "30.0.0"
"version": "30.0.2"
},
"30.0.2": {
"x86_64_linux_gnu": {
"etag": "0x8DD55CAB43B7C70",
"checksum": "7f8ac87e40cee0987a5e0a1918a4330fd42e984400e2ec3080ff019ba254e788"
},
"x86_64_macos": {
"etag": "0x8DD55CAB545A62E",
"checksum": "610d054fcabb4902f788e45afb7434ce9264277c5ccae24b46292602c4bb4146"
},
"x86_64_windows": {
"etag": "0x8DD55CAB9128AEE",
"checksum": "bd32eba62ba4f2978bd0aecc95d3742b8b7101b806cf7de8c4b62c1fbd7a8017"
},
"aarch64_linux_gnu": {
"etag": "0x8DD55CAA8387AC8",
"checksum": "197c5c8c4debc3394ba1e5b1193bfd0acb64a97d1dbcbe52d15192d12dc796ee"
},
"aarch64_macos": {
"etag": "0x8DD55CAA910D029",
"checksum": "accbbadb4891c8c623dd315a28ebb0c3764b0863bc09f99031fedf7e037ab253"
},
"aarch64_windows": {
"etag": "0x8DD55CAAB1AA83F",
"checksum": "0948bb53352b76077355f96c948a208efa5d6f84efe67610fd5a49230d722bbe"
}
},
"30.0.1": {
"x86_64_linux_gnu": {
"etag": "0x8DD52CF8F3C37D8",
"checksum": "199ad22a5bd21bb58254a08694ea21736218eb98543d8115fe5b061c86acce88"
},
"x86_64_macos": {
"etag": "0x8DD52CF90715FF0",
"checksum": "14b1c4544e8bd0b5634b8abc6645f067b4805f1cfed888c472311beb171d38a1"
},
"x86_64_windows": {
"etag": "0x8DD52CF956BD41D",
"checksum": "2403df495779198f55199bcf96b4755338bcecc47803ec892280c79936ff5a88"
},
"aarch64_linux_gnu": {
"etag": "0x8DD52CF7F0DAC3F",
"checksum": "3c7898be02de6daf70dae9daba2916dc04916ce1c5c08d7480dc394059f1962b"
},
"aarch64_macos": {
"etag": "0x8DD52CF8028D9DE",
"checksum": "7d5484feb0711efa546173e6db4a7006a8412ec1ff0df01498cf83b1450d4840"
},
"aarch64_windows": {
"etag": "0x8DD52CF82FDA8E7",
"checksum": "378304dd8b05d6ca6547013594e022af923ad047e66d4c8539c0b30f7a4fccbf"
}
},
"30.0.0": {
"x86_64_linux_gnu": {

View File

@@ -22,7 +22,7 @@ set -x
has_update=''
for manifest in manifests/*.json; do
git add -N "${manifest}"
if ! git diff --exit-code -- "${manifest}"; then
if ! git diff --exit-code -- "${manifest}" &>/dev/null; then
name="${manifest##*/}"
name="${name%.*}"
git stash

View File

@@ -11,11 +11,11 @@ use std::{
time::Duration,
};
use anyhow::{bail, Context as _, Result};
use anyhow::{Context as _, Result, bail};
use fs_err as fs;
use install_action_internal_codegen::{
workspace_root, BaseManifest, HostPlatform, Manifest, ManifestDownloadInfo, ManifestRef,
ManifestTemplate, ManifestTemplateDownloadInfo, Manifests, Signing, SigningKind, Version,
BaseManifest, HostPlatform, Manifest, ManifestDownloadInfo, ManifestRef, ManifestTemplate,
ManifestTemplateDownloadInfo, Manifests, Signing, SigningKind, Version, workspace_root,
};
use sha2::{Digest as _, Sha256};
use spdx::expression::{ExprNode, ExpressionReq, Operator};
@@ -193,7 +193,7 @@ fn main() -> Result<()> {
let version_req: Option<semver::VersionReq> = match version_req {
_ if latest_only => {
let req = format!("={}", releases.first_key_value().unwrap().0 .0).parse()?;
let req = format!("={}", releases.first_key_value().unwrap().0.0).parse()?;
eprintln!("update manifest for versions '{req}'");
Some(req)
}
@@ -215,7 +215,7 @@ fn main() -> Result<()> {
let req = if version_req == "latest" {
// TODO: this should check all missing versions
if manifests.map.is_empty() {
format!("={}", releases.first_key_value().unwrap().0 .0).parse()?
format!("={}", releases.first_key_value().unwrap().0.0).parse()?
} else {
format!(">={}", semver_versions.last().unwrap()).parse()?
}
@@ -852,7 +852,9 @@ fn get_license_markdown(spdx_expr: &str, repo: &str, default_branch: &str) -> Op
panic!("Unable to find any license files in the repo for licenses {license_ids:?}");
}
if license_markdowns.len() != len {
panic!("Unable to find license files in the repo for all licenses {license_ids:?}; found {license_markdowns:?}");
panic!(
"Unable to find license files in the repo for all licenses {license_ids:?}; found {license_markdowns:?}"
);
}
match op {
None => panic!("op expected"),

View File

@@ -8,7 +8,7 @@ use std::{
use anyhow::Result;
use fs_err as fs;
use install_action_internal_codegen::{workspace_root, BaseManifest, Manifests};
use install_action_internal_codegen::{BaseManifest, Manifests, workspace_root};
const HEADER: &str = "# Tools

View File

@@ -11,7 +11,7 @@ cd -- "$(dirname -- "$0")"/..
# ./tools/tidy.sh
#
# Note: This script requires the following tools:
# - git
# - git 1.8+
# - jq 1.6+
# - npm (node 18+)
# - python 3.6+
@@ -60,7 +60,11 @@ print_fenced() {
printf '=======================================\n\n'
}
check_diff() {
if [[ -n "${CI:-}" ]]; then
if [[ -n "${GITHUB_ACTIONS:-}" ]]; then
if ! git -c color.ui=always --no-pager diff --exit-code "$@"; then
should_fail=1
fi
elif [[ -n "${CI:-}" ]]; then
if ! git --no-pager diff --exit-code "$@"; then
should_fail=1
fi
@@ -489,9 +493,7 @@ prettier_ext=('*.css' '*.html' '*.js' '*.json' '*.yml' '*.yaml')
if [[ -n "$(ls_files "${prettier_ext[@]}")" ]]; then
info "checking YAML/HTML/CSS/JavaScript/JSON code style"
check_config .editorconfig
if [[ "${ostype}" == 'solaris' ]] && [[ -n "${CI:-}" ]] && ! type -P npm >/dev/null; then
warn "this check is skipped on Solaris due to no node 18+ in upstream package manager"
elif check_install npm; then
if check_install npm; then
IFS=' '
info "running \`npx -y prettier -l -w \$(git ls-files ${prettier_ext[*]})\`"
IFS=$'\n\t'
@@ -510,9 +512,7 @@ check_alt '.yml extension' '.yaml extension' "$(ls_files '*.yaml' | { grep -Fv '
if [[ -n "$(ls_files '*.toml' | { grep -Fv '.taplo.toml' || true; })" ]]; then
info "checking TOML style"
check_config .taplo.toml
if [[ "${ostype}" == 'solaris' ]] && [[ -n "${CI:-}" ]] && ! type -P npm >/dev/null; then
warn "this check is skipped on Solaris due to no node 18+ in upstream package manager"
elif check_install npm; then
if check_install npm; then
info "running \`npx -y @taplo/cli fmt \$(git ls-files '*.toml')\`"
RUST_LOG=warn npx -y @taplo/cli fmt $(ls_files '*.toml')
check_diff $(ls_files '*.toml')
@@ -527,9 +527,7 @@ check_hidden taplo.toml
if [[ -n "$(ls_files '*.md')" ]]; then
info "checking markdown style"
check_config .markdownlint-cli2.yaml
if [[ "${ostype}" == 'solaris' ]] && [[ -n "${CI:-}" ]] && ! type -P npm >/dev/null; then
warn "this check is skipped on Solaris due to no node 18+ in upstream package manager"
elif check_install npm; then
if check_install npm; then
info "running \`npx -y markdownlint-cli2 \$(git ls-files '*.md')\`"
if ! npx -y markdownlint-cli2 $(ls_files '*.md'); then
error "check failed; please resolve the above markdownlint error(s)"
@@ -669,12 +667,7 @@ elif check_install shellcheck; then
# Exclude SC2096 due to the way the temporary script is created.
shellcheck_exclude=SC2096
info "running \`shellcheck --exclude ${shellcheck_exclude}\` for scripts in \$(git ls-files '*Dockerfile*')\`"
if [[ "${ostype}" == 'windows' ]]; then
# No such file or directory: '/proc/N/fd/N'
warn "this check is skipped on Windows due to upstream bug (failed to found fd created by <())"
elif [[ "${ostype}" == 'dragonfly' ]]; then
warn "this check is skipped on DragonFly BSD due to upstream bug (hang)"
elif check_install jq python3 parse-dockerfile; then
if check_install jq python3 parse-dockerfile; then
shellcheck_for_dockerfile() {
local text=$1
local shell=$2
@@ -684,15 +677,23 @@ elif check_install shellcheck; then
fi
text="#!${shell}"$'\n'"${text}"
case "${ostype}" in
windows) text=${text//\r/} ;;
windows) text=${text//$'\r'/} ;; # Parse error on git bash/msys2 bash.
esac
local color=auto
if [[ -t 1 ]] || [[ -n "${GITHUB_ACTIONS:-}" ]]; then
color=always
fi
if ! shellcheck --color="${color}" --exclude "${shellcheck_exclude}" <(printf '%s\n' "${text}") | sed "s/\/dev\/fd\/[0-9][0-9]*/$(sed_rhs_escape "${display_path}")/g"; then
# We don't use <(printf '%s\n' "${text}") here because:
# Windows: failed to found fd created by <() ("/proc/*/fd/* (git bash/msys2 bash) /dev/fd/* (cygwin bash): openBinaryFile: does not exist (No such file or directory)" error)
# DragonFly BSD: hang
# Others: false negative
trap -- 'rm -- ./tools/.tidy-tmp; printf >&2 "%s\n" "${0##*/}: trapped SIGINT"; exit 1' SIGINT
printf '%s\n' "${text}" >|./tools/.tidy-tmp
if ! shellcheck --color="${color}" --exclude "${shellcheck_exclude}" ./tools/.tidy-tmp | sed "s/\.\/tools\/\.tidy-tmp/$(sed_rhs_escape "${display_path}")/g"; then
error "check failed; please resolve the above shellcheck error(s)"
fi
rm -- ./tools/.tidy-tmp
trap -- 'printf >&2 "%s\n" "${0##*/}: trapped SIGINT"; exit 1' SIGINT
}
for dockerfile_path in ${docker_files[@]+"${docker_files[@]}"}; do
dockerfile=$(parse-dockerfile "${dockerfile_path}")
@@ -799,12 +800,7 @@ elif check_install shellcheck; then
# Exclude SC2096 due to the way the temporary script is created.
shellcheck_exclude=SC2086,SC2096,SC2129
info "running \`shellcheck --exclude ${shellcheck_exclude}\` for scripts in .github/workflows/*.yml and **/action.yml"
if [[ "${ostype}" == 'windows' ]]; then
# No such file or directory: '/proc/N/fd/N'
warn "this check is skipped on Windows due to upstream bug (failed to found fd created by <())"
elif [[ "${ostype}" == 'dragonfly' ]]; then
warn "this check is skipped on DragonFly BSD due to upstream bug (hang)"
elif check_install jq python3; then
if check_install jq python3; then
shellcheck_for_gha() {
local text=$1
local shell=$2
@@ -816,27 +812,33 @@ elif check_install shellcheck; then
bash* | sh*) ;;
*) return ;;
esac
text="#!/usr/bin/env ${shell%' {0}'}"$'\n'"${text}"
# Use python because sed doesn't support .*?.
text=$(
"python${py_suffix}" - <(printf '%s\n%s' "#!/usr/bin/env ${shell%' {0}'}" "${text}") <<EOF
"python${py_suffix}" - <<EOF
import re
import sys
with open(sys.argv[1], 'r') as f:
text = f.read()
text = re.sub(r"\\\${{.*?}}", "\${__GHA_SYNTAX__}", text)
text = re.sub(r"\\\${{.*?}}", "\${__GHA_SYNTAX__}", r'''${text}''')
print(text)
EOF
)
case "${ostype}" in
windows) text=${text//\r/} ;;
windows) text=${text//$'\r'/} ;; # Python print emits \r\n.
esac
local color=auto
if [[ -t 1 ]] || [[ -n "${GITHUB_ACTIONS:-}" ]]; then
color=always
fi
if ! shellcheck --color="${color}" --exclude "${shellcheck_exclude}" <(printf '%s\n' "${text}") | sed "s/\/dev\/fd\/[0-9][0-9]*/$(sed_rhs_escape "${display_path}")/g"; then
# We don't use <(printf '%s\n' "${text}") here because:
# Windows: failed to found fd created by <() ("/proc/*/fd/* (git bash/msys2 bash) /dev/fd/* (cygwin bash): openBinaryFile: does not exist (No such file or directory)" error)
# DragonFly BSD: hang
# Others: false negative
trap -- 'rm -- ./tools/.tidy-tmp; printf >&2 "%s\n" "${0##*/}: trapped SIGINT"; exit 1' SIGINT
printf '%s\n' "${text}" >|./tools/.tidy-tmp
if ! shellcheck --color="${color}" --exclude "${shellcheck_exclude}" ./tools/.tidy-tmp | sed "s/\.\/tools\/\.tidy-tmp/$(sed_rhs_escape "${display_path}")/g"; then
error "check failed; please resolve the above shellcheck error(s)"
fi
rm -- ./tools/.tidy-tmp
trap -- 'printf >&2 "%s\n" "${0##*/}: trapped SIGINT"; exit 1' SIGINT
}
for workflow_path in ${workflows[@]+"${workflows[@]}"}; do
workflow=$(yq -c '.' "${workflow_path}")
@@ -966,11 +968,7 @@ fi
if [[ -f .cspell.json ]]; then
info "spell checking"
project_dictionary=.github/.cspell/project-dictionary.txt
if [[ "${ostype}" == 'solaris' ]] && [[ -n "${CI:-}" ]] && ! type -P npm >/dev/null; then
warn "this check is skipped on Solaris due to no node 18+ in upstream package manager"
elif [[ "${ostype}" == 'illumos' ]]; then
warn "this check is skipped on illumos due to upstream bug (dictionaries are not loaded correctly)"
elif check_install npm jq python3; then
if check_install npm jq python3; then
has_rust=''
if [[ -n "$(ls_files '*Cargo.toml')" ]]; then
has_rust=1