mirror of
https://github.com/taiki-e/install-action.git
synced 2026-05-04 12:10:29 +00:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d858f81139 | ||
|
|
beb0949bbd | ||
|
|
3e95df35e0 | ||
|
|
27a3f68117 | ||
|
|
0cccd59f03 | ||
|
|
01b93a891a | ||
|
|
8ae92145e3 |
2
.github/.cspell/project-dictionary.txt
vendored
2
.github/.cspell/project-dictionary.txt
vendored
@@ -17,6 +17,7 @@ grcov
|
|||||||
gungraun
|
gungraun
|
||||||
insta
|
insta
|
||||||
knope
|
knope
|
||||||
|
LASTEXITCODE
|
||||||
libicu
|
libicu
|
||||||
linkcheck
|
linkcheck
|
||||||
mdbook
|
mdbook
|
||||||
@@ -38,6 +39,7 @@ sigstore
|
|||||||
syft
|
syft
|
||||||
tombi
|
tombi
|
||||||
udeps
|
udeps
|
||||||
|
USERPROFILE
|
||||||
wasmtime
|
wasmtime
|
||||||
watchexec
|
watchexec
|
||||||
worktree
|
worktree
|
||||||
|
|||||||
20
CHANGELOG.md
20
CHANGELOG.md
@@ -10,6 +10,22 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [2.71.2] - 2026-04-02
|
||||||
|
|
||||||
|
- Implement workaround for [windows-11-arm runner bug](https://github.com/actions/partner-runner-images/issues/169) which sometimes causes installation failure. ([#1657](https://github.com/taiki-e/install-action/pull/1657))
|
||||||
|
|
||||||
|
This addresses an issue that was attempted to be worked around in 2.71.0 but was insufficient.
|
||||||
|
|
||||||
|
- Update `mise@latest` to 2026.4.1.
|
||||||
|
|
||||||
|
- Update `uv@latest` to 0.11.3.
|
||||||
|
|
||||||
|
## [2.71.1] - 2026-04-02
|
||||||
|
|
||||||
|
- Fix a regression that caused an execution policy violation on self-hosted Windows runner due to use of non-default `powershell` shell, introduced in 2.71.0.
|
||||||
|
|
||||||
|
- Update `dprint@latest` to 0.53.2.
|
||||||
|
|
||||||
## [2.71.0] - 2026-04-01
|
## [2.71.0] - 2026-04-01
|
||||||
|
|
||||||
- Support `wasm-tools`. ([#1642](https://github.com/taiki-e/install-action/pull/1642), thanks @crepererum)
|
- Support `wasm-tools`. ([#1642](https://github.com/taiki-e/install-action/pull/1642), thanks @crepererum)
|
||||||
@@ -6105,7 +6121,9 @@ 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.71.0...HEAD
|
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.71.2...HEAD
|
||||||
|
[2.71.2]: https://github.com/taiki-e/install-action/compare/v2.71.1...v2.71.2
|
||||||
|
[2.71.1]: https://github.com/taiki-e/install-action/compare/v2.71.0...v2.71.1
|
||||||
[2.71.0]: https://github.com/taiki-e/install-action/compare/v2.70.4...v2.71.0
|
[2.71.0]: https://github.com/taiki-e/install-action/compare/v2.70.4...v2.71.0
|
||||||
[2.70.4]: https://github.com/taiki-e/install-action/compare/v2.70.3...v2.70.4
|
[2.70.4]: https://github.com/taiki-e/install-action/compare/v2.70.3...v2.70.4
|
||||||
[2.70.3]: https://github.com/taiki-e/install-action/compare/v2.70.2...v2.70.3
|
[2.70.3]: https://github.com/taiki-e/install-action/compare/v2.70.2...v2.70.3
|
||||||
|
|||||||
24
action.yml
24
action.yml
@@ -52,13 +52,27 @@ runs:
|
|||||||
DEFAULT_GITHUB_TOKEN: ${{ github.token }}
|
DEFAULT_GITHUB_TOKEN: ${{ github.token }}
|
||||||
ACTION_USER_AGENT: ${{ github.action_repository }} (${{ github.action_ref }})
|
ACTION_USER_AGENT: ${{ github.action_repository }} (${{ github.action_ref }})
|
||||||
if: runner.os != 'Windows'
|
if: runner.os != 'Windows'
|
||||||
# Workaround for https://github.com/actions/partner-runner-images/issues/169
|
# Use pwsh and retry on bash startup failure to work around windows-11-arm runner bug: https://github.com/actions/partner-runner-images/issues/169
|
||||||
# TODO: Is it necessary to retry for main.sh call? Or is this sufficient? https://github.com/taiki-e/install-action/pull/1647
|
|
||||||
- run: |
|
- run: |
|
||||||
Set-StrictMode -Version Latest
|
Set-StrictMode -Version Latest
|
||||||
$action_path = $env:GITHUB_ACTION_PATH
|
for ($i=1; $i -le 10; $i++) {
|
||||||
& bash --noprofile --norc "${action_path}/main.sh"
|
$prev_err_action = $ErrorActionPreference
|
||||||
shell: powershell
|
$ErrorActionPreference = "Continue"
|
||||||
|
& bash --noprofile --norc "$env:GITHUB_ACTION_PATH/main.sh"
|
||||||
|
$code = $LASTEXITCODE
|
||||||
|
$ErrorActionPreference = "$prev_err_action"
|
||||||
|
if (Test-Path "$env:USERPROFILE\.install-action\init") {
|
||||||
|
# If bash started successfully, main.sh creates init file.
|
||||||
|
Remove-Item "$env:USERPROFILE\.install-action\init" -Force
|
||||||
|
exit $code
|
||||||
|
}
|
||||||
|
if ($i -lt 10) {
|
||||||
|
Write-Output "::warning::installation failed due to bash startup failure (<https://github.com/actions/partner-runner-images/issues/169>); retrying..."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Write-Output "::error::installation failed due to bash startup failure (<https://github.com/actions/partner-runner-images/issues/169>); this maybe resolved by re-running job"
|
||||||
|
exit 1
|
||||||
|
shell: pwsh
|
||||||
env:
|
env:
|
||||||
# NB: Sync with non-Windows case.
|
# NB: Sync with non-Windows case.
|
||||||
INPUT_TOOL: ${{ inputs.tool }}
|
INPUT_TOOL: ${{ inputs.tool }}
|
||||||
|
|||||||
83
main.sh
83
main.sh
@@ -436,46 +436,6 @@ canonicalize_windows_path() {
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
# cargo-binstall may call `cargo install` on their fallback: https://github.com/taiki-e/install-action/pull/54#issuecomment-1383140833
|
|
||||||
# cross calls rustup on `cross --version` if the current directly is cargo workspace.
|
|
||||||
export CARGO_NET_RETRY=10
|
|
||||||
export RUSTUP_MAX_RETRIES=10
|
|
||||||
|
|
||||||
if [[ $# -gt 0 ]]; then
|
|
||||||
bail "invalid argument '$1'"
|
|
||||||
fi
|
|
||||||
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
manifest_dir="$(dirname -- "$0")/manifests"
|
|
||||||
|
|
||||||
# Inputs
|
|
||||||
tool="${INPUT_TOOL:-}"
|
|
||||||
tools=()
|
|
||||||
if [[ -n "${tool}" ]]; then
|
|
||||||
while read -rd,; do
|
|
||||||
tools+=("${REPLY}")
|
|
||||||
done < <(normalize_comma_or_space_separated "${tool}")
|
|
||||||
fi
|
|
||||||
if [[ ${#tools[@]} -eq 0 ]]; then
|
|
||||||
warn "no tool specified; this could be caused by a dependabot bug where @<tool_name> tags on this action are replaced by @<version> tags"
|
|
||||||
# Exit with 0 for backward compatibility.
|
|
||||||
# TODO: We want to reject it in the next major release.
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
enable_checksum="${INPUT_CHECKSUM:-}"
|
|
||||||
case "${enable_checksum}" in
|
|
||||||
true) ;;
|
|
||||||
false) enable_checksum='' ;;
|
|
||||||
*) bail "'checksum' input option must be 'true' or 'false': '${enable_checksum}'" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
fallback="${INPUT_FALLBACK:-}"
|
|
||||||
case "${fallback}" in
|
|
||||||
none | cargo-binstall | cargo-install) ;;
|
|
||||||
*) bail "'fallback' input option must be 'none', 'cargo-binstall', or 'cargo-install': '${fallback}'" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Refs: https://github.com/rust-lang/rustup/blob/HEAD/rustup-init.sh
|
# Refs: https://github.com/rust-lang/rustup/blob/HEAD/rustup-init.sh
|
||||||
base_distro=''
|
base_distro=''
|
||||||
exe=''
|
exe=''
|
||||||
@@ -590,6 +550,9 @@ cargo_bin="${CARGO_HOME:-"${home}/.cargo"}/bin"
|
|||||||
# is used ($CARGO_HOME/bin is most likely not included in the PATH), fallback to
|
# is used ($CARGO_HOME/bin is most likely not included in the PATH), fallback to
|
||||||
# $install_action_dir/bin.
|
# $install_action_dir/bin.
|
||||||
if [[ "${host_os}" == "windows" ]]; then
|
if [[ "${host_os}" == "windows" ]]; then
|
||||||
|
mkdir -p -- "${install_action_dir}"
|
||||||
|
# See action.yml.
|
||||||
|
touch -- "${install_action_dir}"/init
|
||||||
if type -P cargo >/dev/null; then
|
if type -P cargo >/dev/null; then
|
||||||
info "cargo is located at $(type -P cargo)"
|
info "cargo is located at $(type -P cargo)"
|
||||||
cargo_bin=$(dirname -- "$(type -P cargo)")
|
cargo_bin=$(dirname -- "$(type -P cargo)")
|
||||||
@@ -604,6 +567,46 @@ elif [[ ! -e "${cargo_bin}" ]] || [[ "$(type -P cargo || true)" != "${cargo_bin}
|
|||||||
cargo_bin="${install_action_dir}/bin"
|
cargo_bin="${install_action_dir}/bin"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# cargo-binstall may call `cargo install` on their fallback: https://github.com/taiki-e/install-action/pull/54#issuecomment-1383140833
|
||||||
|
# cross calls rustup on `cross --version` if the current directly is cargo workspace.
|
||||||
|
export CARGO_NET_RETRY=10
|
||||||
|
export RUSTUP_MAX_RETRIES=10
|
||||||
|
|
||||||
|
if [[ $# -gt 0 ]]; then
|
||||||
|
bail "invalid argument '$1'"
|
||||||
|
fi
|
||||||
|
|
||||||
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
manifest_dir="$(dirname -- "$0")/manifests"
|
||||||
|
|
||||||
|
# Inputs
|
||||||
|
tool="${INPUT_TOOL:-}"
|
||||||
|
tools=()
|
||||||
|
if [[ -n "${tool}" ]]; then
|
||||||
|
while read -rd,; do
|
||||||
|
tools+=("${REPLY}")
|
||||||
|
done < <(normalize_comma_or_space_separated "${tool}")
|
||||||
|
fi
|
||||||
|
if [[ ${#tools[@]} -eq 0 ]]; then
|
||||||
|
warn "no tool specified; this could be caused by a dependabot bug where @<tool_name> tags on this action are replaced by @<version> tags"
|
||||||
|
# Exit with 0 for backward compatibility.
|
||||||
|
# TODO: We want to reject it in the next major release.
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
enable_checksum="${INPUT_CHECKSUM:-}"
|
||||||
|
case "${enable_checksum}" in
|
||||||
|
true) ;;
|
||||||
|
false) enable_checksum='' ;;
|
||||||
|
*) bail "'checksum' input option must be 'true' or 'false': '${enable_checksum}'" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
fallback="${INPUT_FALLBACK:-}"
|
||||||
|
case "${fallback}" in
|
||||||
|
none | cargo-binstall | cargo-install) ;;
|
||||||
|
*) bail "'fallback' input option must be 'none', 'cargo-binstall', or 'cargo-install': '${fallback}'" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
case "${host_os}" in
|
case "${host_os}" in
|
||||||
linux)
|
linux)
|
||||||
if ! type -P jq >/dev/null || ! type -P curl >/dev/null || ! type -P tar >/dev/null; then
|
if ! type -P jq >/dev/null || ! type -P curl >/dev/null || ! type -P tar >/dev/null; then
|
||||||
|
|||||||
30
manifests/dprint.json
generated
30
manifests/dprint.json
generated
@@ -28,10 +28,36 @@
|
|||||||
},
|
},
|
||||||
"license_markdown": "[MIT](https://github.com/dprint/dprint/blob/main/LICENSE)",
|
"license_markdown": "[MIT](https://github.com/dprint/dprint/blob/main/LICENSE)",
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.53.1"
|
"version": "0.53.2"
|
||||||
},
|
},
|
||||||
"0.53": {
|
"0.53": {
|
||||||
"version": "0.53.1"
|
"version": "0.53.2"
|
||||||
|
},
|
||||||
|
"0.53.2": {
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"etag": "0x8DE9007EE1278D0",
|
||||||
|
"hash": "7ff2cf9b25c687bd59867528ae9a5526c17e75e82e9788bf1f84a0e3ca7163b6"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"etag": "0x8DE9007EE1EC70A",
|
||||||
|
"hash": "902a9cff86a0ce643d5f1bb53e3e2434096511542363924e18016ee7bedb769f"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"etag": "0x8DE9007EDFFA241",
|
||||||
|
"hash": "f18910879d6796b05b0666513391ab7963b346723c041dc4d777d3f43179e416"
|
||||||
|
},
|
||||||
|
"aarch64_linux_musl": {
|
||||||
|
"etag": "0x8DE9007EE226C77",
|
||||||
|
"hash": "c3843a4604dac7428f41f762c4c352e409c63bd634172765bbac482dc59773ba"
|
||||||
|
},
|
||||||
|
"aarch64_macos": {
|
||||||
|
"etag": "0x8DE9007EE116890",
|
||||||
|
"hash": "a185ba53f74e1e3a8ccdaf03a5d6f96b67d3fdf3f86d0d0f98950d15817eb0c4"
|
||||||
|
},
|
||||||
|
"riscv64_linux_gnu": {
|
||||||
|
"etag": "0x8DE9007EE210E69",
|
||||||
|
"hash": "9fe90a2e414cfd59c6df984a3910ce11e0c349d5326ab7debec06682f3ba1150"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"0.53.1": {
|
"0.53.1": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
|
|||||||
32
manifests/mise.json
generated
32
manifests/mise.json
generated
@@ -28,13 +28,39 @@
|
|||||||
},
|
},
|
||||||
"license_markdown": "[MIT](https://github.com/jdx/mise/blob/main/LICENSE)",
|
"license_markdown": "[MIT](https://github.com/jdx/mise/blob/main/LICENSE)",
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "2026.4.0"
|
"version": "2026.4.1"
|
||||||
},
|
},
|
||||||
"2026": {
|
"2026": {
|
||||||
"version": "2026.4.0"
|
"version": "2026.4.1"
|
||||||
},
|
},
|
||||||
"2026.4": {
|
"2026.4": {
|
||||||
"version": "2026.4.0"
|
"version": "2026.4.1"
|
||||||
|
},
|
||||||
|
"2026.4.1": {
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"etag": "0x8DE90A9CD760EC0",
|
||||||
|
"hash": "fdbe9804c76f6e223a662cbd7356fefc42e791f5752cc0d5a621ffee81b735e5"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"etag": "0x8DE90A9CFC11483",
|
||||||
|
"hash": "8673b9b846d247ba13ccde1bf95b3b8b53fb3eb464f82c59d9787562222e7fd8"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"etag": "0x8DE90A9D0A67B10",
|
||||||
|
"hash": "5d2cdf8ed9901a92840154cd2e2046400c03b26f35906c4e9e1a60318b2af83a"
|
||||||
|
},
|
||||||
|
"aarch64_linux_musl": {
|
||||||
|
"etag": "0x8DE90A9C9F9D36E",
|
||||||
|
"hash": "faca5c453001dafd6caf1f9186cf8640103fabbc29b3218cbac5d8c69f0422d2"
|
||||||
|
},
|
||||||
|
"aarch64_macos": {
|
||||||
|
"etag": "0x8DE90A9CEFE9F12",
|
||||||
|
"hash": "b7696c98581ffcc45989a777e75982495f23be5cdbfe092523c2915eb196272c"
|
||||||
|
},
|
||||||
|
"aarch64_windows": {
|
||||||
|
"etag": "0x8DE90A9D04E84B7",
|
||||||
|
"hash": "6d268edf452acd93af983da2a803180987b85140698541a4a587fe17200e8858"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"2026.4.0": {
|
"2026.4.0": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
|
|||||||
42
manifests/uv.json
generated
42
manifests/uv.json
generated
@@ -69,10 +69,48 @@
|
|||||||
},
|
},
|
||||||
"license_markdown": "[Apache-2.0](https://github.com/astral-sh/uv/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/astral-sh/uv/blob/main/LICENSE-MIT)",
|
"license_markdown": "[Apache-2.0](https://github.com/astral-sh/uv/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/astral-sh/uv/blob/main/LICENSE-MIT)",
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.11.2"
|
"version": "0.11.3"
|
||||||
},
|
},
|
||||||
"0.11": {
|
"0.11": {
|
||||||
"version": "0.11.2"
|
"version": "0.11.3"
|
||||||
|
},
|
||||||
|
"0.11.3": {
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"etag": "0x8DE9038B8911496",
|
||||||
|
"hash": "8b40cf16b849634b81a530a3d0a0bcae5f24996ef9ae782976fd69b6266d3b8e"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"etag": "0x8DE9038B7D1F6CF",
|
||||||
|
"hash": "b0e05e0b43a000fdc2132ee3f3400ba5dee427bc2337d3ec4eb8cf4f3d5722af"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"etag": "0x8DE9038B81129BB",
|
||||||
|
"hash": "ae681c0aaec7cc96af184648cb88d73f8393ed60fa5880abdd6bdb910f9b227c"
|
||||||
|
},
|
||||||
|
"aarch64_linux_musl": {
|
||||||
|
"etag": "0x8DE9038B57D5EFC",
|
||||||
|
"hash": "8ecec82cb9a744d5fabff6d16d7777218a7730f699d2aa0d2f751c17858e2efa"
|
||||||
|
},
|
||||||
|
"aarch64_macos": {
|
||||||
|
"etag": "0x8DE9038B4CB51F3",
|
||||||
|
"hash": "2bc3d0c7bf2bd08325b1e170abac6f7e5b3346e1d4eab3370d17cefec934996f"
|
||||||
|
},
|
||||||
|
"aarch64_windows": {
|
||||||
|
"etag": "0x8DE9038B5421F3E",
|
||||||
|
"hash": "e99c56f9ab5e1e1ddcaea3e2389990c94baf38e0d7cb2148de08baf2d3261d49"
|
||||||
|
},
|
||||||
|
"powerpc64le_linux_gnu": {
|
||||||
|
"etag": "0x8DE9038B710B885",
|
||||||
|
"hash": "5cdcadf4d50a5354312bc8ef37c2a6cfab4e2f13ccdf8380d3012b927b4ded95"
|
||||||
|
},
|
||||||
|
"riscv64_linux_gnu": {
|
||||||
|
"etag": "0x8DE9038B746CDFF",
|
||||||
|
"hash": "8271e07ed9695870f4b0ae5ec722e3ae08fff280068f08bc6a8ca76c67d7fefa"
|
||||||
|
},
|
||||||
|
"s390x_linux_gnu": {
|
||||||
|
"etag": "0x8DE9038B7AA292A",
|
||||||
|
"hash": "6dc4f555a5f6515f7fddb281422d2a8a3943853dae5de837bbb5d996d7576c71"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"0.11.2": {
|
"0.11.2": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
|
|||||||
Reference in New Issue
Block a user