mirror of
https://github.com/taiki-e/install-action.git
synced 2026-05-14 00:10:27 +00:00
Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eab2c9a639 | ||
|
|
04da82019b | ||
|
|
d22c04db3c | ||
|
|
288875dd3d | ||
|
|
ff61ba777f | ||
|
|
443c943e8c | ||
|
|
44ad71dd7c | ||
|
|
541dbe11e2 | ||
|
|
3f8c36b267 | ||
|
|
8c4bfde290 | ||
|
|
5516699334 | ||
|
|
26d534b7cc | ||
|
|
21162aa73c | ||
|
|
5225800240 | ||
|
|
3035223527 | ||
|
|
61e7476da0 | ||
|
|
1d1c9eea2b | ||
|
|
0fca428425 |
1
.github/.cspell/project-dictionary.txt
vendored
1
.github/.cspell/project-dictionary.txt
vendored
@@ -2,6 +2,7 @@ almalinux
|
|||||||
archlinux
|
archlinux
|
||||||
binstall
|
binstall
|
||||||
callgrind
|
callgrind
|
||||||
|
Ceuo
|
||||||
coreutils
|
coreutils
|
||||||
cyclonedx
|
cyclonedx
|
||||||
cygdrive
|
cygdrive
|
||||||
|
|||||||
16
.github/workflows/ci.yml
vendored
16
.github/workflows/ci.yml
vendored
@@ -10,6 +10,7 @@ on:
|
|||||||
- main
|
- main
|
||||||
- dev
|
- dev
|
||||||
- ci-*
|
- ci-*
|
||||||
|
- busybox
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '0 0 * * *'
|
- cron: '0 0 * * *'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
@@ -231,7 +232,17 @@ jobs:
|
|||||||
- opensuse/leap:latest # glibc 2.38 (as of leap 15.6)
|
- opensuse/leap:latest # glibc 2.38 (as of leap 15.6)
|
||||||
- opensuse/tumbleweed:latest # glibc 2.39 (as of 2024-07-19)
|
- opensuse/tumbleweed:latest # glibc 2.39 (as of 2024-07-19)
|
||||||
- archlinux:latest # glibc 2.39 (as of 2024-07-19)
|
- archlinux:latest # glibc 2.39 (as of 2024-07-19)
|
||||||
- alpine:latest # musl 1.2.5 (as of alpine 3.20)
|
- alpine:3.2 # musl 1.1.11, busybox 1.23.2
|
||||||
|
- alpine:3.14 # musl 1.2.2, busybox 1.33.1
|
||||||
|
- alpine:3.15 # musl 1.2.2, busybox 1.34.1
|
||||||
|
- alpine:3.16 # musl 1.2.3, busybox 1.35.0
|
||||||
|
- alpine:3.17 # musl 1.2.3, busybox 1.35.0
|
||||||
|
- alpine:3.18 # musl 1.2.4, busybox 1.36.1
|
||||||
|
- alpine:3.19 # musl 1.2.4, busybox 1.36.1
|
||||||
|
- alpine:3.20 # musl 1.2.5, busybox 1.36.1
|
||||||
|
- alpine:3.21 # musl 1.2.5, busybox 1.37.0
|
||||||
|
- alpine:3.22 # musl 1.2.5, busybox 1.37.0
|
||||||
|
- alpine:3.23 # musl 1.2.5, busybox 1.37.0
|
||||||
# - openwrt/rootfs:x86-64-openwrt-24.10 # musl 1.2.5
|
# - openwrt/rootfs:x86-64-openwrt-24.10 # musl 1.2.5
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
@@ -282,6 +293,9 @@ jobs:
|
|||||||
tool: ${{ steps.tool-list.outputs.tool }}
|
tool: ${{ steps.tool-list.outputs.tool }}
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- run: apk --no-cache add bash
|
||||||
|
shell: sh
|
||||||
|
if: startsWith(matrix.container, 'alpine')
|
||||||
- name: Test bash
|
- name: Test bash
|
||||||
run: just --version && shfmt --version
|
run: just --version && shfmt --version
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|||||||
55
.github/workflows/manifest.yml
vendored
55
.github/workflows/manifest.yml
vendored
@@ -33,47 +33,18 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
manifest:
|
manifest:
|
||||||
runs-on: ubuntu-latest
|
uses: taiki-e/github-actions/.github/workflows/gen.yml@main
|
||||||
timeout-minutes: 60
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
pull-requests: write # for gh pr review --approve
|
pull-requests: write # for gh pr edit --add-assignee / gh pr review --approve
|
||||||
steps:
|
repository-projects: read # for gh pr edit --add-assignee
|
||||||
- uses: taiki-e/checkout-action@v1
|
secrets: inherit
|
||||||
- uses: taiki-e/github-actions/install-rust@stable
|
with:
|
||||||
- name: Generate Cargo.lock
|
script: tools/manifest.sh
|
||||||
run: cargo update
|
commit-script: tools/ci/manifest.sh
|
||||||
- uses: Swatinem/rust-cache@v2
|
title: Update manifest
|
||||||
with:
|
branch: update-manifest
|
||||||
cache-all-crates: 'true'
|
automerge: true
|
||||||
- run: tools/manifest.sh
|
install-rust: true
|
||||||
env:
|
rust: stable
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
rust-cache: true
|
||||||
- name: Handle diff
|
|
||||||
id: diff
|
|
||||||
run: tools/ci/manifest.sh
|
|
||||||
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@v8
|
|
||||||
with:
|
|
||||||
title: Update manifest
|
|
||||||
body: |
|
|
||||||
Auto-generated by CI using [create-pull-request](https://github.com/peter-evans/create-pull-request).
|
|
||||||
|
|
||||||
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 == '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 == '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 == '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')
|
|
||||||
|
|||||||
26
CHANGELOG.md
26
CHANGELOG.md
@@ -10,6 +10,28 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [2.67.30] - 2026-02-13
|
||||||
|
|
||||||
|
- Update `cargo-nextest@latest` to 0.9.127.
|
||||||
|
|
||||||
|
## [2.67.29] - 2026-02-13
|
||||||
|
|
||||||
|
- Update `mise@latest` to 2026.2.11.
|
||||||
|
|
||||||
|
- Update `cargo-no-dev-deps@latest` to 0.2.21.
|
||||||
|
|
||||||
|
- Update `cargo-minimal-versions@latest` to 0.1.36.
|
||||||
|
|
||||||
|
- Update `cargo-hack@latest` to 0.6.43.
|
||||||
|
|
||||||
|
- Update `cargo-binstall@latest` to 1.17.5.
|
||||||
|
|
||||||
|
- Update `osv-scanner@latest` to 2.3.3.
|
||||||
|
|
||||||
|
- Update `martin@latest` to 1.3.1.
|
||||||
|
|
||||||
|
- Update `parse-dockerfile@latest` to 0.1.4.
|
||||||
|
|
||||||
## [2.67.28] - 2026-02-11
|
## [2.67.28] - 2026-02-11
|
||||||
|
|
||||||
- Update `uv@latest` to 0.10.2.
|
- Update `uv@latest` to 0.10.2.
|
||||||
@@ -5625,7 +5647,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.67.28...HEAD
|
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.67.30...HEAD
|
||||||
|
[2.67.30]: https://github.com/taiki-e/install-action/compare/v2.67.29...v2.67.30
|
||||||
|
[2.67.29]: https://github.com/taiki-e/install-action/compare/v2.67.28...v2.67.29
|
||||||
[2.67.28]: https://github.com/taiki-e/install-action/compare/v2.67.27...v2.67.28
|
[2.67.28]: https://github.com/taiki-e/install-action/compare/v2.67.27...v2.67.28
|
||||||
[2.67.27]: https://github.com/taiki-e/install-action/compare/v2.67.26...v2.67.27
|
[2.67.27]: https://github.com/taiki-e/install-action/compare/v2.67.26...v2.67.27
|
||||||
[2.67.26]: https://github.com/taiki-e/install-action/compare/v2.67.25...v2.67.26
|
[2.67.26]: https://github.com/taiki-e/install-action/compare/v2.67.25...v2.67.26
|
||||||
|
|||||||
@@ -118,12 +118,14 @@ On Linux, if any required tools are missing, this action will attempt to install
|
|||||||
|
|
||||||
On other platforms, at least the following tools are required:
|
On other platforms, at least the following tools are required:
|
||||||
|
|
||||||
- bash 3.2+
|
- bash 3.2+ (or busybox on Linux)
|
||||||
- jq 1.3+ (only on non-Windows platforms)
|
- jq 1.3+ (only on non-Windows platforms)
|
||||||
- curl 7.34+ (or RHEL7/CentOS7's patched curl 7.29)
|
- curl 7.34+ (or RHEL7/CentOS7's patched curl 7.29)
|
||||||
|
|
||||||
Known environments affected by the above version requirements are CentOS 6 (EoL on 2020-11) using curl 7.19, and Ubuntu 12.04 (EoL on 2017-04) using curl 7.22 (see "Install requirements" in [our CI config](https://github.com/taiki-e/install-action/blob/HEAD/.github/workflows/ci.yml) for example of workaround).
|
Known environments affected by the above version requirements are CentOS 6 (EoL on 2020-11) using curl 7.19, and Ubuntu 12.04 (EoL on 2017-04) using curl 7.22 (see "Install requirements" in [our CI config](https://github.com/taiki-e/install-action/blob/HEAD/.github/workflows/ci.yml) for example of workaround).
|
||||||
|
|
||||||
|
Note that what this action installs for its setup (such as above tools) is considered an implementation detail if they are installed by this action's side, and there is no guarantee that they will be available in subsequent steps, because this action is not an action for installing those tools.
|
||||||
|
|
||||||
## Related Projects
|
## Related Projects
|
||||||
|
|
||||||
- [cache-cargo-install-action]: GitHub Action for `cargo install` with cache.
|
- [cache-cargo-install-action]: GitHub Action for `cargo install` with cache.
|
||||||
|
|||||||
32
action.yml
32
action.yml
@@ -21,32 +21,32 @@ inputs:
|
|||||||
runs:
|
runs:
|
||||||
using: composite
|
using: composite
|
||||||
steps:
|
steps:
|
||||||
- run: |
|
- name: Prepare
|
||||||
|
id: prepare
|
||||||
|
run: |
|
||||||
set -eu
|
set -eu
|
||||||
if ! command -v bash >/dev/null; then
|
if ! command -v bash >/dev/null; then
|
||||||
if grep -Eq '^ID=alpine' /etc/os-release; then
|
if command -v busybox >/dev/null; then
|
||||||
printf '::group::Install packages required for install-action (bash)\n'
|
if test -n "${GITHUB_OUTPUT:-}"; then
|
||||||
# NB: sync with apk_install in main.sh
|
printf 'shell=busybox sh -e {0}\n' >>"${GITHUB_OUTPUT}"
|
||||||
if command -v sudo >/dev/null; then
|
exit
|
||||||
sudo apk --no-cache add bash
|
|
||||||
elif command -v doas >/dev/null; then
|
|
||||||
doas apk --no-cache add bash
|
|
||||||
else
|
|
||||||
apk --no-cache add bash
|
|
||||||
fi
|
fi
|
||||||
printf '::endgroup::\n'
|
|
||||||
else
|
|
||||||
printf '::error::install-action requires bash\n'
|
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
|
printf '::error::install-action requires bash or busybox\n'
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
shell: sh
|
shell: sh
|
||||||
if: runner.os == 'Linux'
|
if: runner.os == 'Linux'
|
||||||
- run: bash --noprofile --norc "${GITHUB_ACTION_PATH:?}/main.sh"
|
- run: |
|
||||||
shell: bash
|
case "${CURRENT_SHELL}" in
|
||||||
|
busybox*) busybox sh "${GITHUB_ACTION_PATH:?}/main.sh" ;;
|
||||||
|
*) bash --noprofile --norc "${GITHUB_ACTION_PATH:?}/main.sh" ;;
|
||||||
|
esac
|
||||||
|
shell: ${{ steps.prepare.outputs.shell || 'bash' }}
|
||||||
env:
|
env:
|
||||||
INPUT_TOOL: ${{ inputs.tool }}
|
INPUT_TOOL: ${{ inputs.tool }}
|
||||||
INPUT_CHECKSUM: ${{ inputs.checksum }}
|
INPUT_CHECKSUM: ${{ inputs.checksum }}
|
||||||
INPUT_FALLBACK: ${{ inputs.fallback }}
|
INPUT_FALLBACK: ${{ inputs.fallback }}
|
||||||
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 }})
|
||||||
|
CURRENT_SHELL: ${{ steps.prepare.outputs.shell }}
|
||||||
|
|||||||
57
main.sh
57
main.sh
@@ -1,6 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# SPDX-License-Identifier: Apache-2.0 OR MIT
|
# SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||||
set -CeEuo pipefail
|
# Do not set -E as busybox 3.15 and older don't support it.
|
||||||
|
set -Ceuo pipefail
|
||||||
IFS=$'\n\t'
|
IFS=$'\n\t'
|
||||||
|
|
||||||
rx() {
|
rx() {
|
||||||
@@ -35,11 +36,11 @@ normalize_comma_or_space_separated() {
|
|||||||
if [[ "${list}" == *","* ]]; then
|
if [[ "${list}" == *","* ]]; then
|
||||||
# If a comma is contained, consider it is a comma-separated list.
|
# If a comma is contained, consider it is a comma-separated list.
|
||||||
# Drop leading and trailing whitespaces in each element.
|
# Drop leading and trailing whitespaces in each element.
|
||||||
sed -E 's/ *, */,/g; s/^.//' <<<",${list},"
|
printf '%s\n' ",${list}," | sed -E 's/ *, */,/g; s/^.//'
|
||||||
else
|
else
|
||||||
# Otherwise, consider it is a whitespace-separated list.
|
# Otherwise, consider it is a whitespace-separated list.
|
||||||
# Convert whitespace characters into comma.
|
# Convert whitespace characters into comma.
|
||||||
sed -E 's/ +/,/g; s/^.//' <<<" ${list} "
|
printf '%s\n' " ${list} " | sed -E 's/ +/,/g; s/^.//'
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
_sudo() {
|
_sudo() {
|
||||||
@@ -60,11 +61,11 @@ download_and_checksum() {
|
|||||||
if [[ -n "${checksum}" ]]; then
|
if [[ -n "${checksum}" ]]; then
|
||||||
info "verifying sha256 checksum for $(basename -- "${url}")"
|
info "verifying sha256 checksum for $(basename -- "${url}")"
|
||||||
if type -P sha256sum >/dev/null; then
|
if type -P sha256sum >/dev/null; then
|
||||||
sha256sum -c - >/dev/null <<<"${checksum} *tmp"
|
printf '%s\n' "${checksum} *tmp" | sha256sum -c - >/dev/null
|
||||||
elif type -P shasum >/dev/null; then
|
elif type -P shasum >/dev/null; then
|
||||||
# GitHub-hosted macOS runner does not install GNU Coreutils by default.
|
# GitHub-hosted macOS runner does not install GNU Coreutils by default.
|
||||||
# https://github.com/actions/runner-images/issues/90
|
# https://github.com/actions/runner-images/issues/90
|
||||||
shasum -a 256 -c - >/dev/null <<<"${checksum} *tmp"
|
printf '%s\n' "${checksum} *tmp" | shasum -a 256 -c - >/dev/null
|
||||||
else
|
else
|
||||||
bail "checksum requires 'sha256sum' or 'shasum' command; consider installing one of them or setting 'checksum' input option to 'false'"
|
bail "checksum requires 'sha256sum' or 'shasum' command; consider installing one of them or setting 'checksum' input option to 'false'"
|
||||||
fi
|
fi
|
||||||
@@ -224,7 +225,7 @@ read_manifest() {
|
|||||||
download_info="null"
|
download_info="null"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
exact_version=$(jq -r '.version' <<<"${manifest}")
|
exact_version=$(printf '%s\n' "${manifest}" | jq -r '.version')
|
||||||
if [[ "${exact_version}" == "null" ]]; then
|
if [[ "${exact_version}" == "null" ]]; then
|
||||||
exact_version="${version}"
|
exact_version="${version}"
|
||||||
else
|
else
|
||||||
@@ -236,11 +237,11 @@ read_manifest() {
|
|||||||
crate_info=$(curl -v --user-agent "${ACTION_USER_AGENT}" --proto '=https' --tlsv1.2 -fsSL --retry 10 "https://crates.io/api/v1/crates/${rust_crate}" || true)
|
crate_info=$(curl -v --user-agent "${ACTION_USER_AGENT}" --proto '=https' --tlsv1.2 -fsSL --retry 10 "https://crates.io/api/v1/crates/${rust_crate}" || true)
|
||||||
if [[ -n "${crate_info}" ]]; then
|
if [[ -n "${crate_info}" ]]; then
|
||||||
while true; do
|
while true; do
|
||||||
yanked=$(jq -r ".versions[] | select(.num == \"${exact_version}\") | .yanked" <<<"${crate_info}")
|
yanked=$(printf '%s\n' "${crate_info}" | jq -r ".versions[] | select(.num == \"${exact_version}\") | .yanked")
|
||||||
if [[ "${yanked}" != "true" ]]; then
|
if [[ "${yanked}" != "true" ]]; then
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
previous_stable_version=$(jq -r '.previous_stable_version' <<<"${manifest}")
|
previous_stable_version=$(printf '%s\n' "${manifest}" | jq -r '.previous_stable_version')
|
||||||
if [[ "${previous_stable_version}" == "null" ]]; then
|
if [[ "${previous_stable_version}" == "null" ]]; then
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
@@ -260,26 +261,26 @@ read_manifest() {
|
|||||||
# usually preferred over linux-gnu binaries because they can avoid glibc version issues.
|
# usually preferred over linux-gnu binaries because they can avoid glibc version issues.
|
||||||
# (rustc enables statically linking for linux-musl by default, except for mips.)
|
# (rustc enables statically linking for linux-musl by default, except for mips.)
|
||||||
host_platform="${host_arch}_linux_musl"
|
host_platform="${host_arch}_linux_musl"
|
||||||
download_info=$(jq -r ".${host_platform}" <<<"${manifest}")
|
download_info=$(printf '%s\n' "${manifest}" | jq -r ".${host_platform}")
|
||||||
if [[ "${download_info}" == "null" ]]; then
|
if [[ "${download_info}" == "null" ]]; then
|
||||||
# Even if host_env is musl, we won't issue an error here because it seems that in
|
# Even if host_env is musl, we won't issue an error here because it seems that in
|
||||||
# some cases linux-gnu binaries will work on linux-musl hosts.
|
# some cases linux-gnu binaries will work on linux-musl hosts.
|
||||||
# https://wiki.alpinelinux.org/wiki/Running_glibc_programs
|
# https://wiki.alpinelinux.org/wiki/Running_glibc_programs
|
||||||
# TODO: However, a warning may make sense.
|
# TODO: However, a warning may make sense.
|
||||||
host_platform="${host_arch}_linux_gnu"
|
host_platform="${host_arch}_linux_gnu"
|
||||||
download_info=$(jq -r ".${host_platform}" <<<"${manifest}")
|
download_info=$(printf '%s\n' "${manifest}" | jq -r ".${host_platform}")
|
||||||
elif [[ "${host_env}" == "gnu" ]]; then
|
elif [[ "${host_env}" == "gnu" ]]; then
|
||||||
# TODO: don't hardcode tool name and use 'prefer_linux_gnu' field in base manifest.
|
# TODO: don't hardcode tool name and use 'prefer_linux_gnu' field in base manifest.
|
||||||
case "${tool}" in
|
case "${tool}" in
|
||||||
cargo-nextest)
|
cargo-nextest)
|
||||||
# TODO: don't hardcode required glibc version
|
# TODO: don't hardcode required glibc version
|
||||||
required_glibc_version=2.27
|
required_glibc_version=2.27
|
||||||
higher_glibc_version=$(LC_ALL=C sort -Vu <<<"${required_glibc_version}"$'\n'"${host_glibc_version}" | tail -1)
|
higher_glibc_version=$(printf '%s\n%s\n' "${required_glibc_version}" "${host_glibc_version}" | LC_ALL=C sort -Vu | tail -1)
|
||||||
if [[ "${higher_glibc_version}" == "${host_glibc_version}" ]]; then
|
if [[ "${higher_glibc_version}" == "${host_glibc_version}" ]]; then
|
||||||
# musl build of nextest is slow, so use glibc build if host_env is gnu.
|
# musl build of nextest is slow, so use glibc build if host_env is gnu.
|
||||||
# https://github.com/taiki-e/install-action/issues/13
|
# https://github.com/taiki-e/install-action/issues/13
|
||||||
host_platform="${host_arch}_linux_gnu"
|
host_platform="${host_arch}_linux_gnu"
|
||||||
download_info=$(jq -r ".${host_platform}" <<<"${manifest}")
|
download_info=$(printf '%s\n' "${manifest}" | jq -r ".${host_platform}")
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -289,10 +290,10 @@ read_manifest() {
|
|||||||
# Binaries compiled for x86_64 macOS will usually also work on AArch64 macOS.
|
# Binaries compiled for x86_64 macOS will usually also work on AArch64 macOS.
|
||||||
# Binaries compiled for x86_64 Windows will usually also work on AArch64 Windows 11+.
|
# Binaries compiled for x86_64 Windows will usually also work on AArch64 Windows 11+.
|
||||||
host_platform="${host_arch}_${host_os}"
|
host_platform="${host_arch}_${host_os}"
|
||||||
download_info=$(jq -r ".${host_platform}" <<<"${manifest}")
|
download_info=$(printf '%s\n' "${manifest}" | jq -r ".${host_platform}")
|
||||||
if [[ "${download_info}" == "null" ]] && [[ "${host_arch}" != "x86_64" ]]; then
|
if [[ "${download_info}" == "null" ]] && [[ "${host_arch}" != "x86_64" ]]; then
|
||||||
host_platform="x86_64_${host_os}"
|
host_platform="x86_64_${host_os}"
|
||||||
download_info=$(jq -r ".${host_platform}" <<<"${manifest}")
|
download_info=$(printf '%s\n' "${manifest}" | jq -r ".${host_platform}")
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*) bail "unsupported OS type '${host_os}' for ${tool}" ;;
|
*) bail "unsupported OS type '${host_os}' for ${tool}" ;;
|
||||||
@@ -304,25 +305,25 @@ read_download_info() {
|
|||||||
if [[ "${download_info}" == "null" ]]; then
|
if [[ "${download_info}" == "null" ]]; then
|
||||||
bail "${tool}@${version} for '${host_os}' is not supported"
|
bail "${tool}@${version} for '${host_os}' is not supported"
|
||||||
fi
|
fi
|
||||||
checksum=$(jq -r '.checksum' <<<"${download_info}")
|
checksum=$(printf '%s\n' "${download_info}" | jq -r '.checksum')
|
||||||
url=$(jq -r '.url' <<<"${download_info}")
|
url=$(printf '%s\n' "${download_info}" | jq -r '.url')
|
||||||
local tmp
|
local tmp
|
||||||
bin_in_archive=()
|
bin_in_archive=()
|
||||||
if [[ "${url}" == "null" ]]; then
|
if [[ "${url}" == "null" ]]; then
|
||||||
local template
|
local template
|
||||||
template=$(jq -c ".template.${host_platform}" "${manifest_dir}/${tool}.json")
|
template=$(jq -c ".template.${host_platform}" "${manifest_dir}/${tool}.json")
|
||||||
template="${template//\$\{version\}/${exact_version}}"
|
template="${template//\$\{version\}/${exact_version}}"
|
||||||
url=$(jq -r '.url' <<<"${template}")
|
url=$(printf '%s\n' "${template}" | jq -r '.url')
|
||||||
tmp=$(jq -r '.bin' <<<"${template}")
|
tmp=$(printf '%s\n' "${template}" | jq -r '.bin')
|
||||||
if [[ "${tmp}" == *"["* ]]; then
|
if [[ "${tmp}" == *"["* ]]; then
|
||||||
# shellcheck disable=SC2207
|
# shellcheck disable=SC2207
|
||||||
bin_in_archive=($(jq -r '.bin[]' <<<"${template}"))
|
bin_in_archive=($(printf '%s\n' "${template}" | jq -r '.bin[]'))
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
tmp=$(jq -r '.bin' <<<"${download_info}")
|
tmp=$(printf '%s\n' "${download_info}" | jq -r '.bin')
|
||||||
if [[ "${tmp}" == *"["* ]]; then
|
if [[ "${tmp}" == *"["* ]]; then
|
||||||
# shellcheck disable=SC2207
|
# shellcheck disable=SC2207
|
||||||
bin_in_archive=($(jq -r '.bin[]' <<<"${download_info}"))
|
bin_in_archive=($(printf '%s\n' "${download_info}" | jq -r '.bin[]'))
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [[ ${#bin_in_archive[@]} -eq 0 ]]; then
|
if [[ ${#bin_in_archive[@]} -eq 0 ]]; then
|
||||||
@@ -431,7 +432,7 @@ init_install_action_bin_dir() {
|
|||||||
}
|
}
|
||||||
canonicalize_windows_path() {
|
canonicalize_windows_path() {
|
||||||
case "${host_os}" in
|
case "${host_os}" in
|
||||||
windows) sed -E 's/^\/cygdrive\//\//; s/^\/c\//C:\\/; s/\//\\/g' <<<"$1" ;;
|
windows) printf '%s\n' "$1" | sed -E 's/^\/cygdrive\//\//; s/^\/c\//C:\\/; s/\//\\/g' ;;
|
||||||
*) printf '%s\n' "$1" ;;
|
*) printf '%s\n' "$1" ;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
@@ -483,11 +484,11 @@ case "$(uname -s)" in
|
|||||||
Linux)
|
Linux)
|
||||||
host_os=linux
|
host_os=linux
|
||||||
ldd_version=$(ldd --version 2>&1 || true)
|
ldd_version=$(ldd --version 2>&1 || true)
|
||||||
if grep -Fq musl <<<"${ldd_version}"; then
|
if printf '%s\n' "${ldd_version}" | grep -Fq musl; then
|
||||||
host_env=musl
|
host_env=musl
|
||||||
else
|
else
|
||||||
host_env=gnu
|
host_env=gnu
|
||||||
host_glibc_version=$(grep -E "GLIBC|GNU libc" <<<"${ldd_version}" | sed -E "s/.* //g")
|
host_glibc_version=$(printf '%s\n' "${ldd_version}" | grep -E "GLIBC|GNU libc" | sed -E "s/.* //g")
|
||||||
fi
|
fi
|
||||||
if [[ -e /etc/os-release ]]; then
|
if [[ -e /etc/os-release ]]; then
|
||||||
if grep -Eq '^ID_LIKE=' /etc/os-release; then
|
if grep -Eq '^ID_LIKE=' /etc/os-release; then
|
||||||
@@ -654,9 +655,9 @@ case "${host_os}" in
|
|||||||
jq() { "${install_action_dir}/jq/bin/jq.exe" -b "$@"; }
|
jq() { "${install_action_dir}/jq/bin/jq.exe" -b "$@"; }
|
||||||
elif type -P jq >/dev/null; then
|
elif type -P jq >/dev/null; then
|
||||||
# https://github.com/jqlang/jq/issues/1854
|
# https://github.com/jqlang/jq/issues/1854
|
||||||
_tmp=$(jq -r .a <<<'{}' | wc -c)
|
_tmp=$(printf '{}\n' | jq -r .a | wc -c)
|
||||||
if [[ "${_tmp}" != 5 ]]; then
|
if [[ "${_tmp}" != 5 ]]; then
|
||||||
_tmp=$({ jq -b -r .a 2>/dev/null <<<'{}' || true; } | wc -c)
|
_tmp=$({ printf '{}\n' | jq -b -r .a 2>/dev/null || true; } | wc -c)
|
||||||
if [[ "${_tmp}" == 5 ]]; then
|
if [[ "${_tmp}" == 5 ]]; then
|
||||||
jq() { command jq -b "$@"; }
|
jq() { command jq -b "$@"; }
|
||||||
else
|
else
|
||||||
@@ -685,8 +686,8 @@ for tool in "${tools[@]}"; do
|
|||||||
if [[ "${tool}" == *"@"* ]]; then
|
if [[ "${tool}" == *"@"* ]]; then
|
||||||
version="${tool#*@}"
|
version="${tool#*@}"
|
||||||
tool="${tool%@*}"
|
tool="${tool%@*}"
|
||||||
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 ! printf '%s\n' "${version}" | grep -Eq '^([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
|
if ! printf '%s\n' "${version}" | grep -Eq '^([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}'"
|
bail "install-action does not support semver operators: '${version}'"
|
||||||
fi
|
fi
|
||||||
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>"
|
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>"
|
||||||
|
|||||||
28
manifests/cargo-binstall.json
generated
28
manifests/cargo-binstall.json
generated
@@ -22,32 +22,32 @@
|
|||||||
},
|
},
|
||||||
"license_markdown": "[GPL-3.0](https://github.com/cargo-bins/cargo-binstall/blob/HEAD/crates/bin/LICENSE)",
|
"license_markdown": "[GPL-3.0](https://github.com/cargo-bins/cargo-binstall/blob/HEAD/crates/bin/LICENSE)",
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "1.17.4"
|
"version": "1.17.5"
|
||||||
},
|
},
|
||||||
"1.17.4": {
|
"1.17.5": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
"etag": "0x8DE5E1D0450D24B",
|
"etag": "0x8DE6B056582AD30",
|
||||||
"checksum": "8822793dd22a1fcfba6d7581ed130ec935fb26a0db58fb9b0f01f0fae17d28f8"
|
"checksum": "c0f247726165afc445076a9d58cf3795512b6e5787ae469297a39b8c9e30a51f"
|
||||||
},
|
},
|
||||||
"x86_64_macos": {
|
"x86_64_macos": {
|
||||||
"etag": "0x8DE5E1D0A6870BF",
|
"etag": "0x8DE6B056D57BB61",
|
||||||
"checksum": "278a12a049397b9f73df0c1e6c83c15fe184e3f5d824ee9a66460c41e519cfd6"
|
"checksum": "2471743078bbf1685e8493121b03c6555042690ea10661e0fddba647bceac13c"
|
||||||
},
|
},
|
||||||
"x86_64_windows": {
|
"x86_64_windows": {
|
||||||
"etag": "0x8DE5E1D085D608D",
|
"etag": "0x8DE6B056AB691BF",
|
||||||
"checksum": "9c6df6ed7e0eef153fdd6aa0fe0c873496431ea44e2b209331b2dbd29d0d3c06"
|
"checksum": "501697fe946b691d215600d144b53b696cc6fb03f3e1773f582b375672c26be6"
|
||||||
},
|
},
|
||||||
"aarch64_linux_musl": {
|
"aarch64_linux_musl": {
|
||||||
"etag": "0x8DE5E1D12C0247F",
|
"etag": "0x8DE6B0577EF5F64",
|
||||||
"checksum": "1410ec72b4f23fa6cf8ebb4b55fe03ebca63e14adadf4501d78e91fa004e9689"
|
"checksum": "6a82fd5207e0647fcb28fc8db30b0186a2e6223aaa5411a588f0573c77d620e3"
|
||||||
},
|
},
|
||||||
"aarch64_macos": {
|
"aarch64_macos": {
|
||||||
"etag": "0x8DE5E1D1990CCCD",
|
"etag": "0x8DE6B058118E22B",
|
||||||
"checksum": "c689061413598fa32b77b6fd2a7300c6392faf008137194ab8a4cdb93c12040a"
|
"checksum": "896e75a79773a11ad651649dce449a223ddd1dc718e687301988b46ee26fe58f"
|
||||||
},
|
},
|
||||||
"aarch64_windows": {
|
"aarch64_windows": {
|
||||||
"etag": "0x8DE5E1D1757B480",
|
"etag": "0x8DE6B057E156D80",
|
||||||
"checksum": "6096f3a5da155fcf06f5fe48ee86a0b40427e48d0abb7206e2bc54572f875400"
|
"checksum": "ad0d0d0d51fdbb66becab98886dd5500968b37dac7f4efb7d2f6ed0cf7847939"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
51
manifests/cargo-hack.json
generated
51
manifests/cargo-hack.json
generated
@@ -3,10 +3,57 @@
|
|||||||
"template": null,
|
"template": null,
|
||||||
"license_markdown": "[Apache-2.0](https://github.com/taiki-e/cargo-hack/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-hack/blob/main/LICENSE-MIT)",
|
"license_markdown": "[Apache-2.0](https://github.com/taiki-e/cargo-hack/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-hack/blob/main/LICENSE-MIT)",
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.6.42"
|
"version": "0.6.43"
|
||||||
},
|
},
|
||||||
"0.6": {
|
"0.6": {
|
||||||
"version": "0.6.42"
|
"version": "0.6.43"
|
||||||
|
},
|
||||||
|
"0.6.43": {
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.43/cargo-hack-x86_64-unknown-linux-musl.tar.gz",
|
||||||
|
"etag": "0x8DE6AFC0BACBCA3",
|
||||||
|
"checksum": "e8516415020c9d40d8d6df6bca9ec6bf653a03b46f82c0d2fe5180312cc04c93"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.43/cargo-hack-x86_64-apple-darwin.tar.gz",
|
||||||
|
"etag": "0x8DE6AFCB41BCDFE",
|
||||||
|
"checksum": "f4e2d0ee405dbf2ae4812469458dd2f3e5b2d95755839b527fc88d18efc94e2e"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.43/cargo-hack-x86_64-pc-windows-msvc.tar.gz",
|
||||||
|
"etag": "0x8DE6AFBDC9105E7",
|
||||||
|
"checksum": "95de9fcf93eeed60c190163e753235c49a80298a051d57158beb29a3298b3105"
|
||||||
|
},
|
||||||
|
"aarch64_linux_musl": {
|
||||||
|
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.43/cargo-hack-aarch64-unknown-linux-musl.tar.gz",
|
||||||
|
"etag": "0x8DE6AFBF9CD8386",
|
||||||
|
"checksum": "fc94951598b1168d7369152ad3ba2765c0f31d8aa3c63ef7433ffff46cdcf5a9"
|
||||||
|
},
|
||||||
|
"aarch64_macos": {
|
||||||
|
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.43/cargo-hack-aarch64-apple-darwin.tar.gz",
|
||||||
|
"etag": "0x8DE6AFCD460293B",
|
||||||
|
"checksum": "6d2235668e591fdd28c44810553848726602bf8454fa36c31e4b63fc2490be18"
|
||||||
|
},
|
||||||
|
"aarch64_windows": {
|
||||||
|
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.43/cargo-hack-aarch64-pc-windows-msvc.tar.gz",
|
||||||
|
"etag": "0x8DE6AFC14675438",
|
||||||
|
"checksum": "68fd95d58fb92c550e0629e124002c12a06028494d1e23f91dbe585d89a425ff"
|
||||||
|
},
|
||||||
|
"powerpc64le_linux_musl": {
|
||||||
|
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.43/cargo-hack-powerpc64le-unknown-linux-musl.tar.gz",
|
||||||
|
"etag": "0x8DE6AFBAD1A75E3",
|
||||||
|
"checksum": "fadefc0f77f236e2de92373a5c444b6766d419cf6b4204029b90eaf644b04d60"
|
||||||
|
},
|
||||||
|
"riscv64_linux_musl": {
|
||||||
|
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.43/cargo-hack-riscv64gc-unknown-linux-musl.tar.gz",
|
||||||
|
"etag": "0x8DE6AFBAE8B2B9B",
|
||||||
|
"checksum": "5b3cc06fdbf1224fc0fff56c7fbfb75e440b558621d7b469dba5519dd1d1f425"
|
||||||
|
},
|
||||||
|
"s390x_linux_gnu": {
|
||||||
|
"url": "https://github.com/taiki-e/cargo-hack/releases/download/v0.6.43/cargo-hack-s390x-unknown-linux-gnu.tar.gz",
|
||||||
|
"etag": "0x8DE6AFBBAAF2663",
|
||||||
|
"checksum": "66a59ec733faadaf106ed7dab93040e4b7b4de52fed81f756c6b413e754060ac"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"0.6.42": {
|
"0.6.42": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
|
|||||||
42
manifests/cargo-minimal-versions.json
generated
42
manifests/cargo-minimal-versions.json
generated
@@ -31,10 +31,48 @@
|
|||||||
},
|
},
|
||||||
"license_markdown": "[Apache-2.0](https://github.com/taiki-e/cargo-minimal-versions/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-minimal-versions/blob/main/LICENSE-MIT)",
|
"license_markdown": "[Apache-2.0](https://github.com/taiki-e/cargo-minimal-versions/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-minimal-versions/blob/main/LICENSE-MIT)",
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.1.35"
|
"version": "0.1.36"
|
||||||
},
|
},
|
||||||
"0.1": {
|
"0.1": {
|
||||||
"version": "0.1.35"
|
"version": "0.1.36"
|
||||||
|
},
|
||||||
|
"0.1.36": {
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"etag": "0x8DE6AFC0C4234EC",
|
||||||
|
"checksum": "d552f47b217ff77ac211ae506730f6c0ee822b5084c6f7a9c16148994fe9ecc0"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"etag": "0x8DE6AFBEC46F5C2",
|
||||||
|
"checksum": "127b5084d895d06949bbf02033f0c6ce98dfe2d13ea8783bec15fd80d54dfe5e"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"etag": "0x8DE6AFC03207836",
|
||||||
|
"checksum": "2dd6c637c644a658744f5d9ba302862c80e68ff6c37e115bcba02cf5451008ac"
|
||||||
|
},
|
||||||
|
"aarch64_linux_musl": {
|
||||||
|
"etag": "0x8DE6AFBF84ED324",
|
||||||
|
"checksum": "7eb4c46f08df2889a710f4ca570bc535d99372ecd156138f919c4c5b17555373"
|
||||||
|
},
|
||||||
|
"aarch64_macos": {
|
||||||
|
"etag": "0x8DE6AFD0ABC97B7",
|
||||||
|
"checksum": "ba6d67e1e5a11ffd81f4b896099d8a63095b0548900acb391028f6820e1009ce"
|
||||||
|
},
|
||||||
|
"aarch64_windows": {
|
||||||
|
"etag": "0x8DE6AFBC085EDED",
|
||||||
|
"checksum": "1c7f3e323c2eb2a6f4a122a0687a2b4d8d71de5c89cccda6356aabc74a434341"
|
||||||
|
},
|
||||||
|
"powerpc64le_linux_musl": {
|
||||||
|
"etag": "0x8DE6AFC0587BE56",
|
||||||
|
"checksum": "ccc40b864d355e66bbb6d570dc561cf204f592fbdddbf82320ea3a0b7eebb4b0"
|
||||||
|
},
|
||||||
|
"riscv64_linux_musl": {
|
||||||
|
"etag": "0x8DE6AFC06D11ADF",
|
||||||
|
"checksum": "7748301edc592a6ef93768fef1becd29777dab62de699a298a9e25dafee20979"
|
||||||
|
},
|
||||||
|
"s390x_linux_gnu": {
|
||||||
|
"etag": "0x8DE6AFC14F531DE",
|
||||||
|
"checksum": "f85738868242ef526bfb1cd72b8cb9555e2a6425e18f2b93f8d2dd2a9a3fb90b"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"0.1.35": {
|
"0.1.35": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
|
|||||||
27
manifests/cargo-nextest.json
generated
27
manifests/cargo-nextest.json
generated
@@ -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)",
|
"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": {
|
"latest": {
|
||||||
"version": "0.9.126"
|
"version": "0.9.127"
|
||||||
},
|
},
|
||||||
"0.9": {
|
"0.9": {
|
||||||
"version": "0.9.126"
|
"version": "0.9.127"
|
||||||
|
},
|
||||||
|
"0.9.127": {
|
||||||
|
"previous_stable_version": "0.9.126",
|
||||||
|
"x86_64_linux_gnu": {
|
||||||
|
"etag": "0x8DE6B2F56693476",
|
||||||
|
"checksum": "0a9d356170528ba92a65fd0157ec0445a67d1f7c2c5726085656e55ba8a1b976"
|
||||||
|
},
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"etag": "0x8DE6B2ED81EC9E7",
|
||||||
|
"checksum": "51648aa64c76c87e6357195c9bbb702bda8b2b6fbeeae0960926556b7aea37bc"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"etag": "0x8DE6B2F967EE463",
|
||||||
|
"checksum": "c814033126902b9f06fc5d01651c6dafc634b3a7a27d3ad87a893f749027f661"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"etag": "0x8DE6B30804FF2E7",
|
||||||
|
"checksum": "c00d48d96a5fdbac7664532fa81a07602242f5b9618980350997664d109d222b"
|
||||||
|
},
|
||||||
|
"aarch64_linux_gnu": {
|
||||||
|
"etag": "0x8DE6B2E95DD5A04",
|
||||||
|
"checksum": "ce9f682227a131497227f84328e0b2eb36d2a7f43515f867a47bdb35c69516e4"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"0.9.126": {
|
"0.9.126": {
|
||||||
"previous_stable_version": "0.9.125",
|
"previous_stable_version": "0.9.125",
|
||||||
|
|||||||
42
manifests/cargo-no-dev-deps.json
generated
42
manifests/cargo-no-dev-deps.json
generated
@@ -31,10 +31,48 @@
|
|||||||
},
|
},
|
||||||
"license_markdown": "[Apache-2.0](https://github.com/taiki-e/cargo-no-dev-deps/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-no-dev-deps/blob/main/LICENSE-MIT)",
|
"license_markdown": "[Apache-2.0](https://github.com/taiki-e/cargo-no-dev-deps/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-no-dev-deps/blob/main/LICENSE-MIT)",
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.2.20"
|
"version": "0.2.21"
|
||||||
},
|
},
|
||||||
"0.2": {
|
"0.2": {
|
||||||
"version": "0.2.20"
|
"version": "0.2.21"
|
||||||
|
},
|
||||||
|
"0.2.21": {
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"etag": "0x8DE6AFC3E8431E1",
|
||||||
|
"checksum": "5a32f020fb678debd1c2af85b6c822714cf9d158a2089cfd2c4e1f2796a41f4f"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"etag": "0x8DE6AFD07092CA8",
|
||||||
|
"checksum": "61ae4fea3de88cf32b27395aab176cc3071db35fef73128485d0351c537c2272"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"etag": "0x8DE6AFC76C0DB8B",
|
||||||
|
"checksum": "ed66350f835e95837280312d2eb8e2fe24e47264da67955d57bd93656ec2c597"
|
||||||
|
},
|
||||||
|
"aarch64_linux_musl": {
|
||||||
|
"etag": "0x8DE6AFC528E5E70",
|
||||||
|
"checksum": "9e04305a5e8119c103a9d8017192d611d7208192772cf725c49c23ccc44f1881"
|
||||||
|
},
|
||||||
|
"aarch64_macos": {
|
||||||
|
"etag": "0x8DE6AFD24C51E90",
|
||||||
|
"checksum": "e2466aa92b2e7454210a4ff8f0e59988fd0d4b471124ee6a483d8aef62564418"
|
||||||
|
},
|
||||||
|
"aarch64_windows": {
|
||||||
|
"etag": "0x8DE6AFC57C9635F",
|
||||||
|
"checksum": "54c032f6093a3335e380732907a520857dd327902a56ec1b4e0aeccfed942372"
|
||||||
|
},
|
||||||
|
"powerpc64le_linux_musl": {
|
||||||
|
"etag": "0x8DE6AFC3ADEA618",
|
||||||
|
"checksum": "6359b49a16172e9c05637d1399535050ebfd40d22330589319372e811375acd5"
|
||||||
|
},
|
||||||
|
"riscv64_linux_musl": {
|
||||||
|
"etag": "0x8DE6AFC6CCE8870",
|
||||||
|
"checksum": "22cd4b624667fa559347f11c2871d43a07f40fe322f25399aa270b7b0706e7ad"
|
||||||
|
},
|
||||||
|
"s390x_linux_gnu": {
|
||||||
|
"etag": "0x8DE6AFC6B65E02E",
|
||||||
|
"checksum": "cf06f516481072b25d017f6b0d5fded19f86f2008ba5aee5c43f80fb25f80062"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"0.2.20": {
|
"0.2.20": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
|
|||||||
24
manifests/martin.json
generated
24
manifests/martin.json
generated
@@ -32,13 +32,31 @@
|
|||||||
},
|
},
|
||||||
"license_markdown": "[MIT](https://github.com/maplibre/martin/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/maplibre/martin/blob/main/LICENSE-APACHE)",
|
"license_markdown": "[MIT](https://github.com/maplibre/martin/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/maplibre/martin/blob/main/LICENSE-APACHE)",
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "1.3.0"
|
"version": "1.3.1"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"version": "1.3.0"
|
"version": "1.3.1"
|
||||||
},
|
},
|
||||||
"1.3": {
|
"1.3": {
|
||||||
"version": "1.3.0"
|
"version": "1.3.1"
|
||||||
|
},
|
||||||
|
"1.3.1": {
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"etag": "0x8DE69BEEF1273C5",
|
||||||
|
"checksum": "efae063aa2faa85f5ccadb00d5321bb10adeb2b439ef8422a41951f532f68133"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"etag": "0x8DE69BEEEB00219",
|
||||||
|
"checksum": "15c7ae65e14df86f0b70d6c081332beba038cbc421386477fcd6507604d27677"
|
||||||
|
},
|
||||||
|
"aarch64_linux_musl": {
|
||||||
|
"etag": "0x8DE69BEEEDE310E",
|
||||||
|
"checksum": "88bdff3fd145c242b047ec70c3ccb57eec19ac1817eb8819d68d840aaca6cc81"
|
||||||
|
},
|
||||||
|
"aarch64_macos": {
|
||||||
|
"etag": "0x8DE69BEEEB00219",
|
||||||
|
"checksum": "f7e91fed05a219db1ebc5a6b33c006991fb472a3963b3602c230ee0864748111"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"1.3.0": {
|
"1.3.0": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
|
|||||||
58
manifests/mise.json
generated
58
manifests/mise.json
generated
@@ -28,13 +28,65 @@
|
|||||||
},
|
},
|
||||||
"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.2.9"
|
"version": "2026.2.11"
|
||||||
},
|
},
|
||||||
"2026": {
|
"2026": {
|
||||||
"version": "2026.2.9"
|
"version": "2026.2.11"
|
||||||
},
|
},
|
||||||
"2026.2": {
|
"2026.2": {
|
||||||
"version": "2026.2.9"
|
"version": "2026.2.11"
|
||||||
|
},
|
||||||
|
"2026.2.11": {
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"etag": "0x8DE6A5CCF811E95",
|
||||||
|
"checksum": "f396f680305ef1546cb65623dab4e48e7666e25ddb33517c60288a1b69d79b73"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"etag": "0x8DE6A5CD43ECFA0",
|
||||||
|
"checksum": "d4f88990f9e9bf16cac1b87135c3f8bb94fbdf3c3d2c39d45acc44bbd788f9f4"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"etag": "0x8DE6A5CD569F132",
|
||||||
|
"checksum": "099fc24154ed2d44fea9edd6a08465f32d5be425acd1c2375a53281e9f9f49e7"
|
||||||
|
},
|
||||||
|
"aarch64_linux_musl": {
|
||||||
|
"etag": "0x8DE6A5CC817C92E",
|
||||||
|
"checksum": "f06b71a3f59b3b8478b8f3767db53696dbd28154e2d62c657287a10dce3d5392"
|
||||||
|
},
|
||||||
|
"aarch64_macos": {
|
||||||
|
"etag": "0x8DE6A5CD2A9A3BC",
|
||||||
|
"checksum": "bf93ff18c6bc52bfc321a7968053571537224e4d3ed38203ec504ddbdcd50d6a"
|
||||||
|
},
|
||||||
|
"aarch64_windows": {
|
||||||
|
"etag": "0x8DE6A5CD545068C",
|
||||||
|
"checksum": "62b92064b3f1e77ad7a8a7233b0f32025370e22fe9835903934edc2283a3f957"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"2026.2.10": {
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"etag": "0x8DE69E5F2D14B42",
|
||||||
|
"checksum": "cb1f06969bf020a5b5d35780e09f6f9316c499c337081771404b42549493ab32"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"etag": "0x8DE69E5F4E59F2B",
|
||||||
|
"checksum": "c247d61a2e47bfa1820f3a4ec27b7d8c0f21fce370e94172ee6cdfab80c8d073"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"etag": "0x8DE69E5F5D3398C",
|
||||||
|
"checksum": "d320e1d0b675a83a9ea44d7f9956650e2dc0d5068cf91f970bb2e516bc789c8f"
|
||||||
|
},
|
||||||
|
"aarch64_linux_musl": {
|
||||||
|
"etag": "0x8DE69E5EFA7B642",
|
||||||
|
"checksum": "1324b2965b97b057546d7d90bb64edfbd039ded690c78e58c305e5352207920a"
|
||||||
|
},
|
||||||
|
"aarch64_macos": {
|
||||||
|
"etag": "0x8DE69E5F44A5C0D",
|
||||||
|
"checksum": "c2f1316305a515242e7618409f6118cc779c96cd7c84b130cd7a70d5b5bd5f15"
|
||||||
|
},
|
||||||
|
"aarch64_windows": {
|
||||||
|
"etag": "0x8DE69E5F5BA4F5F",
|
||||||
|
"checksum": "9b3d550934f58097eb06913ee626b7320be7c222736625cff365a5186b197727"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"2026.2.9": {
|
"2026.2.9": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
|
|||||||
38
manifests/osv-scanner.json
generated
38
manifests/osv-scanner.json
generated
@@ -3,13 +3,45 @@
|
|||||||
"template": null,
|
"template": null,
|
||||||
"license_markdown": "[Apache-2.0](https://github.com/google/osv-scanner/blob/main/LICENSE)",
|
"license_markdown": "[Apache-2.0](https://github.com/google/osv-scanner/blob/main/LICENSE)",
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "2.3.2"
|
"version": "2.3.3"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"version": "2.3.2"
|
"version": "2.3.3"
|
||||||
},
|
},
|
||||||
"2.3": {
|
"2.3": {
|
||||||
"version": "2.3.2"
|
"version": "2.3.3"
|
||||||
|
},
|
||||||
|
"2.3.3": {
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"url": "https://github.com/google/osv-scanner/releases/download/v2.3.3/osv-scanner_linux_amd64",
|
||||||
|
"etag": "0x8DE69CAD5311860",
|
||||||
|
"checksum": "777b4bb7ddd10bdcc8a1aa398d37d05e91e866e7586f9cff3fca2f72b8153033"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"url": "https://github.com/google/osv-scanner/releases/download/v2.3.3/osv-scanner_darwin_amd64",
|
||||||
|
"etag": "0x8DE69CAD4300C11",
|
||||||
|
"checksum": "a188059bb2046bb65ff5ba1b5beec95fea1096b873c227b629fe02f550a6e339"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"url": "https://github.com/google/osv-scanner/releases/download/v2.3.3/osv-scanner_windows_amd64.exe",
|
||||||
|
"etag": "0x8DE69CAD3E7E2A1",
|
||||||
|
"checksum": "8a41dcb9377937e78299fbb22f494f69019002b79a0c18d174de621b0638ae46"
|
||||||
|
},
|
||||||
|
"aarch64_linux_musl": {
|
||||||
|
"url": "https://github.com/google/osv-scanner/releases/download/v2.3.3/osv-scanner_linux_arm64",
|
||||||
|
"etag": "0x8DE69CAD537C793",
|
||||||
|
"checksum": "0a503893df39863edc65edef01fd6d82b45c6e47fa9132538593d5a2d33f2616"
|
||||||
|
},
|
||||||
|
"aarch64_macos": {
|
||||||
|
"url": "https://github.com/google/osv-scanner/releases/download/v2.3.3/osv-scanner_darwin_arm64",
|
||||||
|
"etag": "0x8DE69CAD3E6D261",
|
||||||
|
"checksum": "ef72b1af51ee4c72dcf7286771353b363e5901c998020f41ac0079fb50026fa0"
|
||||||
|
},
|
||||||
|
"aarch64_windows": {
|
||||||
|
"url": "https://github.com/google/osv-scanner/releases/download/v2.3.3/osv-scanner_windows_arm64.exe",
|
||||||
|
"etag": "0x8DE69CAD3B32B51",
|
||||||
|
"checksum": "3c29b84b496d10a2932724a540e4594b35750840d20bf416edcaf32a6cddf326"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"2.3.2": {
|
"2.3.2": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
|
|||||||
42
manifests/parse-dockerfile.json
generated
42
manifests/parse-dockerfile.json
generated
@@ -31,10 +31,48 @@
|
|||||||
},
|
},
|
||||||
"license_markdown": "[Apache-2.0](https://github.com/taiki-e/parse-dockerfile/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/parse-dockerfile/blob/main/LICENSE-MIT)",
|
"license_markdown": "[Apache-2.0](https://github.com/taiki-e/parse-dockerfile/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/parse-dockerfile/blob/main/LICENSE-MIT)",
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.1.3"
|
"version": "0.1.4"
|
||||||
},
|
},
|
||||||
"0.1": {
|
"0.1": {
|
||||||
"version": "0.1.3"
|
"version": "0.1.4"
|
||||||
|
},
|
||||||
|
"0.1.4": {
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"etag": "0x8DE698A3B4092E8",
|
||||||
|
"checksum": "2ee28fd2e807ace8edb6fbb2df063791d7c23d4e926f9806a175bb1d0a37d846"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"etag": "0x8DE698A334E80E1",
|
||||||
|
"checksum": "117dd15cf58785ed9ab30f73d192663ac37e744acd3befe50116ede6c8c85d49"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"etag": "0x8DE698A4B6BD684",
|
||||||
|
"checksum": "d97f0f18b3a214f4b054b4306541910b24c1a1a980ad3eca2e2925ea6d75d579"
|
||||||
|
},
|
||||||
|
"aarch64_linux_musl": {
|
||||||
|
"etag": "0x8DE698A3ADBB2AD",
|
||||||
|
"checksum": "e08dcabec80d9bd9e06730e3c58eb466fd8023564a9c1862af5423367e6cef20"
|
||||||
|
},
|
||||||
|
"aarch64_macos": {
|
||||||
|
"etag": "0x8DE698A350173FF",
|
||||||
|
"checksum": "db836ffb2b891ca5b1b6e4060102e73ac4aad4513e271fdd2255f79977a4b263"
|
||||||
|
},
|
||||||
|
"aarch64_windows": {
|
||||||
|
"etag": "0x8DE698A4AC4B946",
|
||||||
|
"checksum": "4a02b72c58b60beb39fd8613f4427d48ca2a9bf0cb021c342434aa1649e9af42"
|
||||||
|
},
|
||||||
|
"powerpc64le_linux_musl": {
|
||||||
|
"etag": "0x8DE698A38375889",
|
||||||
|
"checksum": "5293e81f63885c3b9e6cefea81031608d4fdb5e65fdda46a406f8b290e80476f"
|
||||||
|
},
|
||||||
|
"riscv64_linux_musl": {
|
||||||
|
"etag": "0x8DE698A384EE4BA",
|
||||||
|
"checksum": "2fa01a64f99a330e4bec5625ea280044873d2f693f2560b1089128506149a6ca"
|
||||||
|
},
|
||||||
|
"s390x_linux_gnu": {
|
||||||
|
"etag": "0x8DE698A3F57EB51",
|
||||||
|
"checksum": "c7782bfc23116d2205281990259464c6bba94033e6230d2b48487e3cb7e05334"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"0.1.3": {
|
"0.1.3": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ serde_derive = "1"
|
|||||||
serde_json = "1"
|
serde_json = "1"
|
||||||
spdx = "0.13"
|
spdx = "0.13"
|
||||||
tar = "0.4"
|
tar = "0.4"
|
||||||
toml = { version = "0.9", default-features = false, features = ["parse", "serde"] }
|
toml = { version = "1", default-features = false, features = ["parse", "serde"] }
|
||||||
# TODO: call curl command instead of using ureq?
|
# TODO: call curl command instead of using ureq?
|
||||||
ureq = { version = "2", features = ["json"] }
|
ureq = { version = "2", features = ["json"] }
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user