Compare commits

...

10 Commits

Author SHA1 Message Date
Taiki Endo
e9e8e031bc Release 2.70.2 2026-03-30 01:34:03 +00:00
Taiki Endo
f225969a9e Update vacuum@latest to 0.25.3 2026-03-30 00:57:06 +00:00
Taiki Endo
2e8700ad0b Update tombi@latest to 0.9.11 2026-03-29 19:25:13 +00:00
Taiki Endo
41213fbc0e zizmor: Apply more lints 2026-03-30 01:56:27 +09:00
Taiki Endo
fd0f63e180 Release 2.70.1 2026-03-29 08:34:38 +00:00
Taiki Endo
7487d4091f Update cargo-insta@latest to 1.47.1 2026-03-29 06:46:40 +00:00
Taiki Endo
ea3bdd400e Update cargo-binstall@latest to 1.17.9 2026-03-29 06:46:40 +00:00
Taiki Endo
7d31177690 ci: Test ubuntu 26.04 container 2026-03-29 12:55:04 +09:00
Taiki Endo
b933e429e1 Update tombi@latest to 0.9.10 2026-03-28 21:25:56 +00:00
Taiki Endo
3eeb0f944d tools: Update tidy.sh 2026-03-29 02:56:38 +09:00
10 changed files with 172 additions and 60 deletions

View File

@@ -51,7 +51,8 @@ jobs:
contents: write # for creating branch for pr
pull-requests: write # unused (used in `codegen-automerge: true` case)
security-events: write # for github/codeql-action/*
secrets: inherit
secrets:
PR_TOKEN_APP_PRIVATE_KEY: ${{ secrets.PR_TOKEN_APP_PRIVATE_KEY }}
test:
strategy:
@@ -99,7 +100,11 @@ jobs:
- run: rm -- Cargo.toml
- name: Generate tool list
id: tool-list
run: tools/ci/tool-list.sh "${{ matrix.tool }}" "${{ matrix.os }}" "${{ matrix.bash }}" >>"${GITHUB_OUTPUT}"
run: tools/ci/tool-list.sh "${TOOL}" "${OS}" "${BASH}" >>"${GITHUB_OUTPUT}"
env:
TOOL: ${{ matrix.tool }}
OS: ${{ matrix.os }}
BASH: ${{ matrix.bash }}
- run: |
printf '%s\n' 'C:\msys64\mingw32\bin' >>"${GITHUB_PATH}"
printf '%s\n' 'C:\msys64\usr\bin' >>"${GITHUB_PATH}"
@@ -215,6 +220,7 @@ jobs:
- ubuntu:20.04 # glibc 2.31
- ubuntu:22.04 # glibc 2.35
- ubuntu:24.04 # glibc 2.39
- ubuntu:26.04 # glibc 2.42
- debian:9-slim # glibc 2.24
- debian:10-slim # glibc 2.28
- debian:11-slim # glibc 2.31
@@ -263,7 +269,7 @@ jobs:
sed -i /etc/yum.repos.d/*.repo -e 's!^mirrorlist!#mirrorlist!' \
-e 's!^#baseurl=http://mirror.centos.org/!baseurl=https://vault.centos.org/!'
sed -i 's/enabled=1/enabled=0/' /etc/yum/pluginconf.d/fastestmirror.conf
if [[ "${{ matrix.container }}" == "centos:6" ]]; then
if [[ "${CONTAINER}" == "centos:6" ]]; then
# CentOS 6's curl (7.19.7) has no curl has no --proto/--tlsv1.2.
yum install -y gcc openssl-devel
curl -fsSL --retry 10 https://curl.se/download/curl-7.34.0.tar.gz | tar xzf -
@@ -277,13 +283,17 @@ jobs:
https://vault.ius.io/el6/x86_64/packages/p/perl-Git18-1.8.5.5-4.ius.el6.noarch.rpm \
https://vault.ius.io/el6/x86_64/packages/g/git18-1.8.5.5-4.ius.el6.x86_64.rpm
fi
env:
CONTAINER: ${{ matrix.container }}
if: startsWith(matrix.container, 'centos')
- uses: taiki-e/checkout-action@v1
# cross attempts to install rust-src when Cargo.toml is available even if `cross --version`
- run: rm -- Cargo.toml
- name: Generate tool list
id: tool-list
run: tools/ci/tool-list.sh "" "${{ matrix.container }}" >>"${GITHUB_OUTPUT}"
run: tools/ci/tool-list.sh "" "${CONTAINER}" >>"${GITHUB_OUTPUT}"
env:
CONTAINER: ${{ matrix.container }}
# remove bash installed by checkout-action
- run: apk --no-cache del bash
shell: sh

View File

@@ -37,7 +37,8 @@ jobs:
permissions:
contents: write # for creating branch for pr
pull-requests: write # for gh pr review --approve
secrets: inherit
secrets:
PR_TOKEN_APP_PRIVATE_KEY: ${{ secrets.PR_TOKEN_APP_PRIVATE_KEY }}
with:
script: tools/manifest.sh
commit-script: tools/ci/manifest.sh

View File

@@ -26,6 +26,10 @@ defaults:
run:
shell: bash --noprofile --norc -CeEuxo pipefail {0}
concurrency:
group: ${{ github.workflow }}
cancel-in-progress: false
jobs:
prepare:
if: github.repository_owner == 'taiki-e' && inputs.target == 'install-action'
@@ -435,7 +439,8 @@ jobs:
contents: write # for taiki-e/create-gh-release-action
id-token: write # for rust-lang/crates-io-auth-action
attestations: write # unused (used when options for uploading binaries are set)
secrets: inherit
secrets:
PUSH_TOKEN: ${{ secrets.PUSH_TOKEN }}
with:
version: ${{ inputs.version }}
tag-prefix: install-action-manifest-schema-

2
.github/zizmor.yml vendored
View File

@@ -2,7 +2,7 @@
# https://docs.zizmor.sh/configuration/
rules:
secrets-inherit: { disable: true }
anonymous-definition: { disable: true }
unpinned-uses:
config:
policies:

View File

@@ -10,6 +10,20 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
## [Unreleased]
## [2.70.2] - 2026-03-30
- Update `vacuum@latest` to 0.25.3.
- Update `tombi@latest` to 0.9.11.
## [2.70.1] - 2026-03-29
- Update `cargo-insta@latest` to 1.47.1.
- Update `cargo-binstall@latest` to 1.17.9.
- Update `tombi@latest` to 0.9.10.
## [2.70.0] - 2026-03-28
- Install `uv`, `uvw` (Windows-only), and `uvx` binaries when installing `uv`. Previously, only `uv` binary was installed. ([#1632](https://github.com/taiki-e/install-action/pull/1632))
@@ -6057,7 +6071,9 @@ Note: This release is considered a breaking change because installing on version
Initial release
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.70.0...HEAD
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.70.2...HEAD
[2.70.2]: https://github.com/taiki-e/install-action/compare/v2.70.1...v2.70.2
[2.70.1]: https://github.com/taiki-e/install-action/compare/v2.70.0...v2.70.1
[2.70.0]: https://github.com/taiki-e/install-action/compare/v2.69.14...v2.70.0
[2.69.14]: https://github.com/taiki-e/install-action/compare/v2.69.13...v2.69.14
[2.69.13]: https://github.com/taiki-e/install-action/compare/v2.69.12...v2.69.13

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.17.8"
"version": "1.17.9"
},
"1.17.8": {
"1.17.9": {
"x86_64_linux_musl": {
"etag": "0x8DE8715DB8A1417",
"hash": "1da1ef72448db667cc4ae6d48e37451087602c8c07dc61782a4a5e538303e015"
"etag": "0x8DE8D54CBD7C8ED",
"hash": "bdea3fd820b118576316bf69c8240f454857287717809e6ecef010faace901ff"
},
"x86_64_macos": {
"etag": "0x8DE8715E03D9720",
"hash": "db353e01b582c97382178db9b4dfe22d81109782e480a38f3db953e62f569952"
"etag": "0x8DE8D54D0C7EA49",
"hash": "1d4fbd74c15274a029dd92e19a0ead8e1831b6e6b60f0f5c3690ef517022c41c"
},
"x86_64_windows": {
"etag": "0x8DE8715DEAA171B",
"hash": "fef07560d4e391812091bb30c6ed1bd5289f74403a0c947b47b8a8c7a597b51b"
"etag": "0x8DE8D54CF270B9E",
"hash": "d17b413a19592af2cf57f9f742d49bef8837099e1407d73e79de5bc7834c4fd6"
},
"aarch64_linux_musl": {
"etag": "0x8DE8715E6784BD0",
"hash": "81d6245bd1a7a89e914d29af81d82280540e94927e61492a0fc359820cd97abb"
"etag": "0x8DE8D54D9B48785",
"hash": "89df253cc00a307209daee7648272bba4d8a342fce084d5922f6b3f4e4db0e25"
},
"aarch64_macos": {
"etag": "0x8DE8715EBEC4A3F",
"hash": "af87346fdb186f0a2333bc0a30cfddd6faa98b31145ef1bb19c284aedea65972"
"etag": "0x8DE8D54DF4E885F",
"hash": "021d537caa2071bbcd8ec50b210ea45af68a6983cca7780918b3603ef68d2585"
},
"aarch64_windows": {
"etag": "0x8DE8715EA179DDA",
"hash": "2270a5a7a8b3e85bd5fe32ac3fbd48cfd32d6f468a8c35499af8b65b806d271d"
"etag": "0x8DE8D54DD746155",
"hash": "37295aa1c3aed07bda2b757f613477c8ca2de1208ec360c7d00238b6886de780"
}
}
}

View File

@@ -20,13 +20,31 @@
},
"license_markdown": "[Apache-2.0](https://github.com/mitsuhiko/insta/blob/master/LICENSE)",
"latest": {
"version": "1.47.0"
"version": "1.47.1"
},
"1": {
"version": "1.47.0"
"version": "1.47.1"
},
"1.47": {
"version": "1.47.0"
"version": "1.47.1"
},
"1.47.1": {
"x86_64_linux_musl": {
"etag": "0x8DE8D549F25E618",
"hash": "b5c162d25f477f0a7989edc5b82297a63c69d764c3c6f2839f12a546a00c188a"
},
"x86_64_macos": {
"etag": "0x8DE8D549EDE5832",
"hash": "3197c099ca857e36211b7b10d383404f305e036181ca2cb42495c8d08e4dcc86"
},
"x86_64_windows": {
"etag": "0x8DE8D549EF37620",
"hash": "7d6cad4a8768abc2bda8f0ea244f51ae077d426e6e7bc6561503876b4eba18e8"
},
"aarch64_macos": {
"etag": "0x8DE8D549ED08513",
"hash": "b92971f37be1e22401de1187ee842a7e15f936838bdce06fb9d3582dd538efa7"
}
},
"1.47.0": {
"x86_64_linux_musl": {

56
manifests/tombi.json generated
View File

@@ -22,10 +22,62 @@
},
"license_markdown": "[MIT](https://github.com/tombi-toml/tombi/blob/main/LICENSE)",
"latest": {
"version": "0.9.9"
"version": "0.9.11"
},
"0.9": {
"version": "0.9.9"
"version": "0.9.11"
},
"0.9.11": {
"x86_64_linux_musl": {
"etag": "0x8DE8D9EC510FD7C",
"hash": "a26165a20198b7af772c1abafebac31fe70ea76de438cdc14975d451ef9282a3"
},
"x86_64_macos": {
"etag": "0x8DE8D9EC4ABF6BC",
"hash": "80c70ef17dc76a0f997d8284911a178f90d4c3d04354eaa653b5dd3e15efff44"
},
"x86_64_windows": {
"etag": "0x8DE8D9EC53C498A",
"hash": "f073c5aa5cfdf291023207a58390a4593b7774ccd8a49d12fdefa2d859285f95"
},
"aarch64_linux_musl": {
"etag": "0x8DE8D9EC4A89F22",
"hash": "1a4cdb63e5ab57d0eb12f170493a7902c3244572b6a3052ae894d06c082d4ddc"
},
"aarch64_macos": {
"etag": "0x8DE8D9EC4AC1DA5",
"hash": "1c3b3335f3feeda3f7676d90ffb6463ee2bca5a5393b1bbae76926e3fdb2b514"
},
"aarch64_windows": {
"etag": "0x8DE8D9EC4BA8C4E",
"hash": "85624e7e2f0bac43d8267c88a767afbb18ca338b72cf45c879046fc3a23a2e89"
}
},
"0.9.10": {
"x86_64_linux_musl": {
"etag": "0x8DE8CEDFE4FEBC7",
"hash": "eddad889a7194e6b993015475ccd6303edb06f076b632b3a1b134936e280b103"
},
"x86_64_macos": {
"etag": "0x8DE8CEDFECFAF7A",
"hash": "8421af429bec96ec09b621267d3ad505d202dc1ac8e3e5f2677dca0efa348395"
},
"x86_64_windows": {
"etag": "0x8DE8CEDFE5E3394",
"hash": "f6a722ef9f1a5d3656338cf45f88a35aebd29d6bf045b1dd2e91d0dcb356a92e"
},
"aarch64_linux_musl": {
"etag": "0x8DE8CEDFE539126",
"hash": "5373de8f10af1e626bbedc2beb46fbc7dd8bb3ccd73517b45108e165469e69e6"
},
"aarch64_macos": {
"etag": "0x8DE8CEDFE6E9BDE",
"hash": "1c7fcccf0c14d4c3189cfc405357f524b8db0ac7278bee434212f6c113070eb4"
},
"aarch64_windows": {
"etag": "0x8DE8CEDFED8CCF3",
"hash": "e3a5ce5bb2f4071974250b27dd8cc9df76c1feaa1be7c5a7e814191d9999311f"
}
},
"0.9.9": {
"x86_64_linux_musl": {

30
manifests/vacuum.json generated
View File

@@ -22,10 +22,36 @@
},
"license_markdown": "[MIT](https://github.com/daveshanley/vacuum/blob/main/LICENSE)",
"latest": {
"version": "0.25.2"
"version": "0.25.3"
},
"0.25": {
"version": "0.25.2"
"version": "0.25.3"
},
"0.25.3": {
"x86_64_linux_musl": {
"etag": "0x8DE8DEA35C78445",
"hash": "dbcd9ea50b0ac74c181d905a1d162e2457f8bbc619d0f8e974ff3b38dcd23384"
},
"x86_64_macos": {
"etag": "0x8DE8DEA3675C50B",
"hash": "450964b9f2cbe9b63403bfe7b07cd2b3fb16eded4668c9e5749b9b469d288290"
},
"x86_64_windows": {
"etag": "0x8DE8DEA35DB442D",
"hash": "00a1a230fe2dbd45ee11e579d7d8d00daf83fa83a083fd66044514fdfd73e993"
},
"aarch64_linux_musl": {
"etag": "0x8DE8DEA35C7AB2A",
"hash": "a2db87faa3e04c2e0f8b5dd2c9162a33829eda0a1196ed49e3562a1a9434d3e0"
},
"aarch64_macos": {
"etag": "0x8DE8DEA367A7AB1",
"hash": "9ab96a00628c69c6aa4a62fcafb6d8cb8de792db94adb53c00344d19ff0c4af6"
},
"aarch64_windows": {
"etag": "0x8DE8DEA36512824",
"hash": "ed70ee1e9af46ba69c79b8d4bddea59c0bcc37613f92d12a77fe327f4832089d"
}
},
"0.25.2": {
"x86_64_linux_musl": {

View File

@@ -7,13 +7,13 @@ trap -- 'printf >&2 "%s\n" "${0##*/}: trapped SIGINT"; exit 1' SIGINT
cd -- "$(dirname -- "$0")"/..
# USAGE:
# GH_TOKEN=$(gh auth token) ./tools/tidy.sh
# GITHUB_TOKEN=$(gh auth token) ./tools/tidy.sh
#
# Note: This script requires the following tools:
# - git 1.8+
# - jq 1.6+
# - npm (node 18+)
# - python 3.6+, pipx
# - python 3.6+, uv
# - shfmt
# - shellcheck
# - zizmor
@@ -86,11 +86,6 @@ check_config() {
check_install() {
for tool in "$@"; do
if ! type -P "${tool}" >/dev/null; then
if [[ "${tool}" == 'python3' ]]; then
if type -P python >/dev/null; then
continue
fi
fi
error "'${tool}' is required to run this check"
return 1
fi
@@ -132,12 +127,8 @@ EOF
exit 1
fi
py_suffix=''
if type -P python3 >/dev/null; then
py_suffix=3
fi
yq() { pipx run yq "$@"; }
tomlq() { pipx run --spec yq tomlq "$@"; }
yq() { uvx yq "$@"; }
tomlq() { uvx --from yq tomlq "$@"; }
case "$(uname -s)" in
Linux)
if [[ "$(uname -o)" == 'Android' ]]; then
@@ -190,8 +181,8 @@ case "$(uname -s)" in
else
jq() { command jq "$@" | tr -d '\r'; }
fi
yq() { pipx run yq "$@" | tr -d '\r'; }
tomlq() { pipx run --spec yq tomlq "$@" | tr -d '\r'; }
yq() { uvx yq "$@" | tr -d '\r'; }
tomlq() { uvx --from yq tomlq "$@" | tr -d '\r'; }
fi
fi
;;
@@ -248,7 +239,7 @@ if [[ ${#rust_files[@]} -gt 0 ]]; then
info "checking Rust code style"
check_config .rustfmt.toml "; consider adding with reference to https://github.com/taiki-e/cargo-hack/blob/HEAD/.rustfmt.toml"
check_config .clippy.toml "; consider adding with reference to https://github.com/taiki-e/cargo-hack/blob/HEAD/.clippy.toml"
if check_install cargo jq pipx; then
if check_install cargo jq uv; then
# `cargo fmt` cannot recognize files not included in the current workspace and modules
# defined inside macros, so run rustfmt directly.
# We need to use nightly rustfmt because we use the unstable formatting options of rustfmt.
@@ -700,7 +691,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 check_install jq python3 parse-dockerfile; then
if check_install jq parse-dockerfile; then
shellcheck_for_dockerfile() {
local text=$1
local shell=$2
@@ -833,7 +824,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 check_install jq python3 pipx; then
if check_install jq uv; then
shellcheck_for_gha() {
local text=$1
local shell=$2
@@ -846,16 +837,8 @@ elif check_install shellcheck; then
*) return ;;
esac
text="#!/usr/bin/env ${shell%' {0}'}"$'\n'"${text}"
# Use python because sed doesn't support .*?.
text=$(
"python${py_suffix}" - <<EOF
import re
text = re.sub(r"\\\${{.*?}}", "\${__GHA_SYNTAX__}", r'''${text}''')
print(text)
EOF
)
case "${ostype}" in
windows) text=${text//$'\r'/} ;; # Python print emits \r\n.
windows) text=${text//$'\r'/} ;; # Parse error on git bash/msys2 bash.
esac
local color=auto
if [[ -t 1 ]] || [[ -n "${GITHUB_ACTIONS:-}" ]]; then
@@ -988,11 +971,12 @@ if [[ ${#zizmor_targets[@]} -gt 0 ]]; then
if [[ "${ostype}" =~ ^(netbsd|openbsd|dragonfly|illumos|solaris)$ ]] && [[ -n "${CI:-}" ]] && ! type -P zizmor >/dev/null; then
warn "this check is skipped on NetBSD/OpenBSD/Dragonfly/illumos/Solaris due to installing zizmor is hard on these platform"
elif check_install zizmor; then
# zizmor can also be used via pipx, but old version will be installed if glibc version is old.
# zizmor can also be used via uvx, but old version will be installed if glibc version is old.
# Do not use `zizmor .` here because it also attempts to check submodules.
IFS=' '
info "running \`zizmor -q ${zizmor_targets[*]}\`"
info "running \`zizmor -q --pedantic ${zizmor_targets[*]}\`"
IFS=$'\n\t'
zizmor -q "${zizmor_targets[@]}"
zizmor -q --pedantic "${zizmor_targets[@]}"
fi
fi
printf '\n'
@@ -1045,7 +1029,7 @@ fi
if [[ -f .cspell.json ]]; then
info "spell checking"
project_dictionary=.github/.cspell/project-dictionary.txt
if check_install npm jq pipx; then
if check_install npm jq uv; then
has_rust=''
if [[ -n "$(ls_files '*Cargo.toml')" ]]; then
has_rust=1