Compare commits

...

11 Commits

Author SHA1 Message Date
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
Taiki Endo
55451daf94 Release 2.48.19 2025-02-21 00:15:51 +09:00
Taiki Endo
964cdcf277 Update typos@latest to 1.29.9 2025-02-21 00:13:17 +09:00
Taiki Endo
dd548c6593 Release 2.48.18 2025-02-20 20:18:57 +09:00
Taiki Endo
de33aea2e5 Update cargo-deny@latest to 0.17.0 2025-02-20 20:09:17 +09:00
10 changed files with 192 additions and 52 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

@@ -53,7 +53,7 @@ jobs:
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
- run: git add -N . && git -c color.ui=always diff --exit-code
- id: create-pull-request
uses: peter-evans/create-pull-request@v7
with:

View File

@@ -10,6 +10,24 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
## [Unreleased]
## [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.
## [2.48.18] - 2025-02-20
- Update `cargo-deny@latest` to 0.17.0.
## [2.48.17] - 2025-02-20
- Update `wasmtime@latest` to 30.0.0.
@@ -3530,7 +3548,11 @@ 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.17...HEAD
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.48.21...HEAD
[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
[2.48.16]: https://github.com/taiki-e/install-action/compare/v2.48.15...v2.48.16
[2.48.15]: https://github.com/taiki-e/install-action/compare/v2.48.14...v2.48.15

View File

@@ -24,7 +24,32 @@
},
"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.16.4"
"version": "0.17.0"
},
"0.17": {
"version": "0.17.0"
},
"0.17.0": {
"x86_64_linux_musl": {
"etag": "0x8DD518E866BDAA6",
"checksum": "eafaffd87b2c7e97a644ed6eeac267b2af471a5bcf9cff7435852661caadf353"
},
"x86_64_macos": {
"etag": "0x8DD518E713313D0",
"checksum": "fdd12d35aee874abcebe1ce9aff10fb224219326895edd5d5eb23e014366b301"
},
"x86_64_windows": {
"etag": "0x8DD518F2975306A",
"checksum": "95d72fd9a079e83e93ddc345227fd9dfb4d4133275f5d0cb0f7df322eac6d3b7"
},
"aarch64_linux_musl": {
"etag": "0x8DD518E96C67017",
"checksum": "147422f4914e0c322ac8f2d0676afddfcd40c91a226d69b5b799af8c6978cf21"
},
"aarch64_macos": {
"etag": "0x8DD518E9D5EDDB7",
"checksum": "8f59efe8d4785ba4febe0e8b079952a03d435f50345533c3dd4ef2b107ba18e0"
}
},
"0.16": {
"version": "0.16.4"

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": {

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"

24
manifests/typos.json generated
View File

@@ -16,13 +16,31 @@
},
"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.8"
"version": "1.29.9"
},
"1": {
"version": "1.29.8"
"version": "1.29.9"
},
"1.29": {
"version": "1.29.8"
"version": "1.29.9"
},
"1.29.9": {
"x86_64_linux_musl": {
"etag": "0x8DD51BEAEB7902D",
"checksum": "ef985fe226e823297c9c2aa8553fb718bb11838b744c54429f2900d5dbfd5415"
},
"x86_64_macos": {
"etag": "0x8DD51BED49B2305",
"checksum": "2dbe0f9ac6a0377592c7d0cf6709caba68765036c00646bd02d608e723b64014"
},
"x86_64_windows": {
"etag": "0x8DD51BF1E2DE6DA",
"checksum": "8e85bf422026ee15b9464796c48bfb26b53a040132ed5cdf905cbf60d4283764"
},
"aarch64_macos": {
"etag": "0x8DD51BEDDC55FCA",
"checksum": "d8cdf714be02e1b5ea78376d257ebd8776e5bf2bd9ea92954b6289e7f5f041f9"
}
},
"1.29.8": {
"x86_64_linux_musl": {

View File

@@ -28,13 +28,39 @@
},
"license_markdown": "[Apache-2.0 WITH LLVM-exception](https://github.com/bytecodealliance/wasmtime/blob/main/LICENSE)",
"latest": {
"version": "30.0.0"
"version": "30.0.1"
},
"30": {
"version": "30.0.0"
"version": "30.0.1"
},
"30.0": {
"version": "30.0.0"
"version": "30.0.1"
},
"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,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