mirror of
https://github.com/taiki-e/install-action
synced 2026-09-07 20:03:26 +00:00
Compare commits
38
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7566428207 | ||
|
|
e24f9d2f1d | ||
|
|
a32489a311 | ||
|
|
85f1221a01 | ||
|
|
378cd7099e | ||
|
|
58a23a132d | ||
|
|
b0451605b9 | ||
|
|
c2f7573e00 | ||
|
|
ff1f1a27bd | ||
|
|
8682898895 | ||
|
|
6c29d3f326 | ||
|
|
1d8976e7a3 | ||
|
|
ac8bd0b28d | ||
|
|
7df7a3a590 | ||
|
|
3a01877a3b | ||
|
|
bf701eabf8 | ||
|
|
7441b14706 | ||
|
|
67ffa5404d | ||
|
|
44e8d07671 | ||
|
|
3196c59c70 | ||
|
|
18a2e880cb | ||
|
|
a30e57accd | ||
|
|
7713cd7b4a | ||
|
|
79f9fd9df5 | ||
|
|
e2ce78fa19 | ||
|
|
67b7c77839 | ||
|
|
89b11c24ae | ||
|
|
409d647a70 | ||
|
|
b1527d67c0 | ||
|
|
212b435433 | ||
|
|
50ac0ac2da | ||
|
|
fc6beaac8f | ||
|
|
012cbaff7f | ||
|
|
517ce9d464 | ||
|
|
732e3fa394 | ||
|
|
9be19a83e8 | ||
|
|
b94661c19b | ||
|
|
2f117b7ec1 |
@@ -1,13 +0,0 @@
|
||||
# Clippy configuration
|
||||
# https://doc.rust-lang.org/nightly/clippy/lint_configuration.html
|
||||
|
||||
allow-private-module-inception = true
|
||||
avoid-breaking-exported-api = false
|
||||
disallowed-names = []
|
||||
disallowed-macros = [
|
||||
{ path = "std::dbg", reason = "it is okay to use during development, but please do not include it in main branch" },
|
||||
]
|
||||
disallowed-methods = [
|
||||
]
|
||||
disallowed-types = [
|
||||
]
|
||||
@@ -1,52 +0,0 @@
|
||||
{
|
||||
"version": "0.2",
|
||||
"gitignoreRoot": ".",
|
||||
"useGitignore": true,
|
||||
"dictionaryDefinitions": [
|
||||
{
|
||||
"name": "organization-dictionary",
|
||||
"path": "https://raw.githubusercontent.com/taiki-e/github-actions/HEAD/.github/.cspell/organization-dictionary.txt",
|
||||
"addWords": true
|
||||
},
|
||||
{
|
||||
"name": "project-dictionary",
|
||||
"path": "./.github/.cspell/project-dictionary.txt",
|
||||
"addWords": true
|
||||
},
|
||||
{
|
||||
"name": "rust-dependencies",
|
||||
"path": "./.github/.cspell/rust-dependencies.txt",
|
||||
"addWords": true
|
||||
}
|
||||
],
|
||||
"dictionaries": [
|
||||
"organization-dictionary",
|
||||
"project-dictionary",
|
||||
"rust-dependencies"
|
||||
],
|
||||
"ignoreRegExpList": [
|
||||
// Copyright notice
|
||||
"Copyright .*",
|
||||
"SPDX-(File|Snippet)CopyrightText: .*",
|
||||
// GHA actions/workflows
|
||||
"uses: .+@[\\w_.-]+",
|
||||
// GHA context (repo name, owner name, etc.)
|
||||
"github.[\\w_.-]+ (=|!)= '[^']+'",
|
||||
// GH username
|
||||
"( |\\[)@[\\w_-]+",
|
||||
// Git config username
|
||||
"git config( --[^ ]+)? user.name .*",
|
||||
// Username in TODO|FIXME comment
|
||||
"(TODO|FIXME)\\([\\w_., -]+\\)",
|
||||
// Cargo.toml authors
|
||||
"authors *= *\\[[^\\]]*\\]",
|
||||
"\"[^\"]* <[\\w_.+-]+@[\\w.-]+>\""
|
||||
],
|
||||
"languageSettings": [
|
||||
{
|
||||
"languageId": ["*"],
|
||||
"dictionaries": ["bash", "cpp-refined", "rust"]
|
||||
}
|
||||
],
|
||||
"ignorePaths": []
|
||||
}
|
||||
-48
@@ -1,48 +0,0 @@
|
||||
# https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html
|
||||
[advisories]
|
||||
unused-ignored-advisory = "deny"
|
||||
yanked = "deny"
|
||||
unmaintained = "none"
|
||||
unsound = "all"
|
||||
git-fetch-with-cli = true
|
||||
ignore = [
|
||||
]
|
||||
|
||||
# https://embarkstudios.github.io/cargo-deny/checks/bans/cfg.html
|
||||
[bans]
|
||||
multiple-versions = "warn"
|
||||
wildcards = "deny"
|
||||
allow-wildcard-paths = true
|
||||
build.executables = "deny"
|
||||
build.interpreted = "deny"
|
||||
build.include-dependencies = true
|
||||
build.include-workspace = false # covered by tools/tidy.sh
|
||||
build.include-archives = true
|
||||
build.allow-build-scripts = [
|
||||
{ name = "proc-macro2" }, # via serde_derive
|
||||
{ name = "quote" }, # via serde_derive
|
||||
{ name = "semver" },
|
||||
{ name = "serde_core" },
|
||||
{ name = "serde" }, # https://github.com/serde-rs/serde/issues/2972
|
||||
]
|
||||
build.bypass = [
|
||||
]
|
||||
|
||||
# https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html
|
||||
[licenses]
|
||||
unused-allowed-license = "deny"
|
||||
unused-license-exception = "deny"
|
||||
private.ignore = true
|
||||
allow = [
|
||||
"Apache-2.0",
|
||||
"MIT",
|
||||
"Unicode-3.0", # unicode-ident
|
||||
]
|
||||
|
||||
# https://embarkstudios.github.io/cargo-deny/checks/sources/cfg.html
|
||||
[sources]
|
||||
unused-allowed-source = "deny"
|
||||
unknown-registry = "deny"
|
||||
unknown-git = "deny"
|
||||
allow-git = [
|
||||
]
|
||||
@@ -1,24 +0,0 @@
|
||||
# EditorConfig configuration
|
||||
# https://editorconfig.org
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
indent_size = 4
|
||||
indent_style = space
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.{css,html,json,md,rb,sh,yml,yaml}]
|
||||
indent_size = 2
|
||||
|
||||
[*.{js,yml,yaml}]
|
||||
quote_type = single
|
||||
|
||||
[*.sh]
|
||||
# https://google.github.io/styleguide/shellguide.html#s5.3-pipelines
|
||||
binary_next_line = true
|
||||
# https://google.github.io/styleguide/shellguide.html#s5.5-case-statement
|
||||
switch_case_indent = true
|
||||
@@ -1,2 +0,0 @@
|
||||
# Change indent size of shell script files to match scripts in CI config
|
||||
946918579413996845b77e146aa8eb3c6f40f7ab
|
||||
@@ -1,4 +0,0 @@
|
||||
* text=auto eol=lf
|
||||
tools/tidy.sh linguist-detectable=false
|
||||
.github/.cspell/rust-dependencies.txt linguist-generated
|
||||
manifests/** linguist-generated
|
||||
@@ -1,43 +0,0 @@
|
||||
almalinux
|
||||
archlinux
|
||||
binstall
|
||||
callgrind
|
||||
coreutils
|
||||
cyclonedx
|
||||
cygdrive
|
||||
deadlinks
|
||||
deepsource
|
||||
doas
|
||||
enablerepo
|
||||
epel
|
||||
espup
|
||||
fastestmirror
|
||||
grcov
|
||||
gungraun
|
||||
insta
|
||||
knope
|
||||
libicu
|
||||
linkcheck
|
||||
mdbook
|
||||
microdnf
|
||||
minisig
|
||||
mirrorlist
|
||||
nextest
|
||||
pluginconf
|
||||
ppcle
|
||||
prek
|
||||
quickinstall
|
||||
rdme
|
||||
rootfs
|
||||
sccache
|
||||
SHASUMS
|
||||
shortstat
|
||||
sigstore
|
||||
syft
|
||||
tombi
|
||||
udeps
|
||||
wasmtime
|
||||
watchexec
|
||||
worktree
|
||||
xbuild
|
||||
xscale
|
||||
@@ -1,6 +0,0 @@
|
||||
# This file is @generated by tidy.sh.
|
||||
# It is not intended for manual editing.
|
||||
|
||||
flate
|
||||
minisign
|
||||
ureq
|
||||
@@ -1,19 +0,0 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: cargo
|
||||
directory: /
|
||||
schedule:
|
||||
interval: daily
|
||||
commit-message:
|
||||
prefix: ''
|
||||
ignore:
|
||||
# https://github.com/taiki-e/install-action/pull/831#issuecomment-2650284580
|
||||
- dependency-name: ureq
|
||||
labels: []
|
||||
- package-ecosystem: github-actions
|
||||
directory: /
|
||||
schedule:
|
||||
interval: daily
|
||||
commit-message:
|
||||
prefix: ''
|
||||
labels: []
|
||||
@@ -1,305 +0,0 @@
|
||||
name: CI
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- dev
|
||||
- ci-*
|
||||
schedule:
|
||||
- cron: '0 2 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
CARGO_NET_GIT_FETCH_WITH_CLI: true
|
||||
CARGO_NET_RETRY: 10
|
||||
CARGO_TERM_COLOR: always
|
||||
RUST_BACKTRACE: 1
|
||||
RUSTFLAGS: -D warnings
|
||||
RUSTUP_MAX_RETRIES: 10
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash --noprofile --norc -CeEuxo pipefail {0}
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
miri:
|
||||
uses: taiki-e/github-actions/.github/workflows/miri.yml@main
|
||||
with:
|
||||
# NB: sync with test job's --exclude option
|
||||
args: --exclude install-action-internal-codegen
|
||||
msrv:
|
||||
uses: taiki-e/github-actions/.github/workflows/msrv.yml@main
|
||||
test-manifest-schema:
|
||||
uses: taiki-e/github-actions/.github/workflows/test.yml@main
|
||||
with:
|
||||
# NB: sync with miri job's --exclude option
|
||||
test-args: --exclude install-action-internal-codegen
|
||||
no-std: false
|
||||
tidy:
|
||||
uses: taiki-e/github-actions/.github/workflows/tidy.yml@main
|
||||
permissions:
|
||||
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
|
||||
|
||||
test:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
# NB: Sync list with https://github.com/taiki-e/checkout-action/blob/HEAD/.github/workflows/ci.yml
|
||||
- os: ubuntu-22.04
|
||||
- os: ubuntu-22.04-arm
|
||||
- os: ubuntu-24.04
|
||||
- os: ubuntu-24.04-arm
|
||||
- os: ubuntu-slim
|
||||
- os: ubuntu-22.04
|
||||
tool: major.minor.patch
|
||||
- os: ubuntu-22.04
|
||||
tool: major.minor
|
||||
- os: ubuntu-22.04
|
||||
tool: major
|
||||
- os: macos-14
|
||||
- os: macos-15
|
||||
- os: macos-15-intel
|
||||
- os: macos-26
|
||||
- os: windows-2022
|
||||
- os: windows-2022
|
||||
bash: msys64
|
||||
- os: windows-2022
|
||||
bash: cygwin
|
||||
- os: windows-2025
|
||||
- os: windows-2025
|
||||
bash: msys64
|
||||
- os: windows-2025
|
||||
bash: cygwin
|
||||
- os: windows-11-arm
|
||||
- os: windows-2022
|
||||
tool: major.minor.patch
|
||||
- os: windows-2022
|
||||
tool: major.minor
|
||||
- os: windows-2022
|
||||
tool: major
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 60
|
||||
steps:
|
||||
- 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.tool }}" "${{ matrix.os }}" "${{ matrix.bash }}" >>"${GITHUB_OUTPUT}"
|
||||
- run: |
|
||||
printf '%s\n' 'C:\msys64\mingw32\bin' >>"${GITHUB_PATH}"
|
||||
printf '%s\n' 'C:\msys64\usr\bin' >>"${GITHUB_PATH}"
|
||||
if: matrix.bash == 'msys64'
|
||||
- run: |
|
||||
choco install --no-progress --requirechecksums cygwin
|
||||
printf '%s\n' 'C:\tools\cygwin\bin' >>"${GITHUB_PATH}"
|
||||
printf '%s\n' 'C:\tools\cygwin\usr\bin' >>"${GITHUB_PATH}"
|
||||
if: matrix.bash == 'cygwin'
|
||||
- run: env
|
||||
- uses: ./
|
||||
with:
|
||||
tool: ${{ steps.tool-list.outputs.tool }}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
# Test all shells listed in https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell
|
||||
- name: Test bash
|
||||
run: just --version && shfmt --version && protoc --version
|
||||
shell: bash
|
||||
- name: Test sh
|
||||
run: just --version && shfmt --version && protoc --version
|
||||
shell: sh
|
||||
if: startsWith(matrix.os, 'ubuntu') || startsWith(matrix.os, 'macos')
|
||||
- name: Test pwsh
|
||||
run: just --version; shfmt --version; protoc --version
|
||||
shell: pwsh
|
||||
if: matrix.os != 'ubuntu-slim'
|
||||
- name: Test powershell
|
||||
run: just --version; shfmt --version; protoc --version
|
||||
shell: powershell
|
||||
if: startsWith(matrix.os, 'windows')
|
||||
- name: Test cmd
|
||||
run: just --version & shfmt --version & protoc --version
|
||||
shell: cmd # zizmor: ignore[misfeature] used for compatibility testing
|
||||
if: startsWith(matrix.os, 'windows')
|
||||
# We use the version output to check the version of cargo-binstall, but they
|
||||
# several times change the version output format in the past so we need to
|
||||
# check it with CI. (e.g., 0.14.0->0.16.0 update change it
|
||||
# from "cargo-binstall <version>" to "<version>")
|
||||
- run: |
|
||||
if [[ "$(cargo-binstall binstall -V)" != "$(jq -r '.latest.version' manifests/cargo-binstall.json)" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
if: matrix.bash != 'cygwin' && matrix.os != 'windows-11-arm'
|
||||
|
||||
test-alias:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 60
|
||||
steps:
|
||||
- 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
|
||||
- run: env
|
||||
- uses: ./
|
||||
with:
|
||||
# NB: Update alias list in tools/publish.rs, case for aliases in main.sh,
|
||||
# and match for alias for tools/codegen/src/tools-markdown.rs.
|
||||
tool: |
|
||||
nextest
|
||||
taplo-cli
|
||||
typos-cli
|
||||
wasm-bindgen-cli
|
||||
wasmtime-cli
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Test bash
|
||||
run: cargo-nextest nextest --version && taplo --version
|
||||
shell: bash
|
||||
- name: Test sh
|
||||
run: cargo-nextest nextest --version && taplo --version
|
||||
shell: sh
|
||||
|
||||
test-fallback:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
fallback:
|
||||
- none
|
||||
- cargo-install
|
||||
runs-on: ubuntu-24.04-arm
|
||||
timeout-minutes: 60
|
||||
steps:
|
||||
- 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
|
||||
- run: env
|
||||
- uses: ./
|
||||
id: install
|
||||
continue-on-error: ${{ matrix.fallback == 'none' }}
|
||||
with:
|
||||
tool: parse-changelog@0.4.6
|
||||
fallback: ${{ matrix.fallback }}
|
||||
- run: exit 1
|
||||
if: matrix.fallback == 'none' && steps.install.outcome != 'failure'
|
||||
- name: Test bash
|
||||
run: parse-changelog --version
|
||||
shell: bash
|
||||
if: matrix.fallback != 'none'
|
||||
- name: Test sh
|
||||
run: parse-changelog --version
|
||||
shell: sh
|
||||
if: matrix.fallback != 'none'
|
||||
|
||||
test-container:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
container:
|
||||
# NB: Sync list with https://github.com/taiki-e/checkout-action/blob/HEAD/.github/workflows/ci.yml
|
||||
- ubuntu:14.04 # glibc 2.19
|
||||
- ubuntu:16.04 # glibc 2.23
|
||||
- ubuntu:18.04 # glibc 2.27
|
||||
- ubuntu:20.04 # glibc 2.31
|
||||
- ubuntu:22.04 # glibc 2.35
|
||||
- ubuntu:24.04 # glibc 2.39
|
||||
- debian:9-slim # glibc 2.24
|
||||
- debian:10-slim # glibc 2.28
|
||||
- debian:11-slim # glibc 2.31
|
||||
- debian:12-slim # glibc 2.36
|
||||
- debian:13-slim # glibc 2.41
|
||||
- fedora:latest # glibc 2.39 (as of fedora 40)
|
||||
- almalinux:8 # glibc 2.28
|
||||
- almalinux:8-minimal # glibc 2.28
|
||||
- almalinux:9 # glibc 2.34
|
||||
- almalinux:9-minimal # glibc 2.34
|
||||
- almalinux:10 # glibc 2.39
|
||||
- almalinux:10-minimal # glibc 2.39
|
||||
- centos:6 # glibc 2.12
|
||||
- centos:7 # glibc 2.17
|
||||
- opensuse/leap:latest # glibc 2.38 (as of leap 15.6)
|
||||
- opensuse/tumbleweed:latest # glibc 2.39 (as of 2024-07-19)
|
||||
# - archlinux:latest # glibc 2.39 (as of 2024-07-19)
|
||||
- alpine:3.2 # musl 1.1.11
|
||||
- alpine:3.14 # musl 1.2.2
|
||||
- alpine:3.15 # musl 1.2.2
|
||||
- alpine:3.16 # musl 1.2.3
|
||||
- alpine:3.17 # musl 1.2.3
|
||||
- alpine:3.18 # musl 1.2.4
|
||||
- alpine:3.19 # musl 1.2.4
|
||||
- alpine:3.20 # musl 1.2.5
|
||||
- alpine:3.21 # musl 1.2.5
|
||||
- alpine:3.22 # musl 1.2.5
|
||||
- alpine:3.23 # musl 1.2.5
|
||||
# - openwrt/rootfs:x86-64-openwrt-24.10 # musl 1.2.5
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 60
|
||||
container: ${{ matrix.container }}
|
||||
steps:
|
||||
- name: Install requirements (old debian)
|
||||
run: |
|
||||
# In Debian, the old repositories is removed from the main mirrors some time after EoL.
|
||||
codename=$(grep -E '^VERSION_CODENAME=' /etc/os-release | cut -d= -f2)
|
||||
sed -i /etc/apt/sources.list -e 's/deb.debian.org/archive.debian.org/g' \
|
||||
-e 's|security.debian.org|archive.debian.org/|g' \
|
||||
-e "/${codename}-updates/d"
|
||||
if: startsWith(matrix.container, 'debian:9') || startsWith(matrix.container, 'debian:10')
|
||||
- name: Install requirements (centos)
|
||||
run: |
|
||||
# In CentOS, the old repositories is removed from the main mirrors just after EoL.
|
||||
# https://github.com/rust-lang/rust/pull/126352
|
||||
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
|
||||
# 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 -
|
||||
cd -- curl-*
|
||||
./configure --prefix=/usr/local --with-ssl
|
||||
make
|
||||
make install
|
||||
# for checkout-action https://github.com/taiki-e/checkout-action/blob/v1.3.0/.github/workflows/ci.yml#L135-L143
|
||||
yum install -y openssh-clients perl perl-Error perl-TermReadKey rsync
|
||||
rpm -i \
|
||||
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
|
||||
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}"
|
||||
# remove bash installed by checkout-action
|
||||
- run: apk --no-cache del bash
|
||||
shell: sh
|
||||
if: startsWith(matrix.container, 'alpine')
|
||||
- uses: ./
|
||||
with:
|
||||
tool: ${{ steps.tool-list.outputs.tool }}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Test bash
|
||||
run: just --version && shfmt --version
|
||||
shell: bash
|
||||
# TODO: OCI runtime exec failed: exec failed: unable to start container process: exec: "bash": executable file not found in $PATH: unknown
|
||||
if: (!startsWith(matrix.container, 'opensuse'))
|
||||
- name: Test sh
|
||||
run: just --version && shfmt --version
|
||||
shell: sh
|
||||
# TODO: OCI runtime exec failed: exec failed: unable to start container process: exec: "sh": executable file not found in $PATH: unknown
|
||||
if: (!startsWith(matrix.container, 'opensuse'))
|
||||
@@ -1,47 +0,0 @@
|
||||
name: Manifest
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- dev
|
||||
- ci-*
|
||||
schedule:
|
||||
- cron: '0 0,3,6,9,12,15,18,21 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
CARGO_NET_GIT_FETCH_WITH_CLI: true
|
||||
CARGO_NET_RETRY: 10
|
||||
CARGO_TERM_COLOR: always
|
||||
RUST_BACKTRACE: 1
|
||||
RUSTFLAGS: -D warnings
|
||||
RUSTUP_MAX_RETRIES: 10
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash --noprofile --norc -CeEuxo pipefail {0}
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
manifest:
|
||||
uses: taiki-e/github-actions/.github/workflows/gen.yml@main
|
||||
permissions:
|
||||
contents: write # for creating branch for pr
|
||||
pull-requests: write # for gh pr review --approve
|
||||
secrets: inherit
|
||||
with:
|
||||
script: tools/manifest.sh
|
||||
commit-script: tools/ci/manifest.sh
|
||||
title: Update manifest
|
||||
branch: update-manifest
|
||||
automerge: true
|
||||
install-rust: true
|
||||
@@ -1,445 +0,0 @@
|
||||
name: Release
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
target:
|
||||
description: Package to be released
|
||||
required: true
|
||||
type: choice
|
||||
options:
|
||||
- install-action
|
||||
- install-action-manifest-schema
|
||||
version:
|
||||
description: Version to be increased
|
||||
required: true
|
||||
type: choice
|
||||
options:
|
||||
- patch
|
||||
- minor
|
||||
- major
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash --noprofile --norc -CeEuxo pipefail {0}
|
||||
|
||||
jobs:
|
||||
prepare:
|
||||
if: github.repository_owner == 'taiki-e' && inputs.target == 'install-action'
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 60
|
||||
steps:
|
||||
- uses: taiki-e/checkout-action@v1
|
||||
- uses: taiki-e/install-action@v2
|
||||
with:
|
||||
tool: parse-changelog
|
||||
fallback: none
|
||||
- id: check
|
||||
run: |
|
||||
set +x
|
||||
IFS=$'\n\t'
|
||||
trap -- 's=$?; printf >&2 "%s\n" "${0##*/}:${LINENO}: \`${BASH_COMMAND}\` exit with ${s}"; exit ${s}' ERR
|
||||
retry() {
|
||||
for i in {1..10}; do
|
||||
if "$@"; then
|
||||
return 0
|
||||
else
|
||||
sleep "${i}"
|
||||
fi
|
||||
done
|
||||
"$@"
|
||||
}
|
||||
bail() {
|
||||
printf '::error::%s\n' "$*"
|
||||
exit 1
|
||||
}
|
||||
normalize_comma_or_space_separated() {
|
||||
# Normalize whitespace characters into space because it's hard to handle single input contains lines with POSIX sed alone.
|
||||
local list="${1//[$'\r\n\t']/ }"
|
||||
if [[ "${list}" == *","* ]]; then
|
||||
# If a comma is contained, consider it is a comma-separated list.
|
||||
# Drop leading and trailing whitespaces in each element.
|
||||
sed -E 's/ *, */,/g; s/^.//' <<<",${list},"
|
||||
else
|
||||
# Otherwise, consider it is a whitespace-separated list.
|
||||
# Convert whitespace characters into comma.
|
||||
sed -E 's/ +/,/g; s/^.//' <<<" ${list} "
|
||||
fi
|
||||
}
|
||||
if { sed --help 2>&1 || true; } | grep -Eq -e '-i extension'; then
|
||||
in_place=(-i '')
|
||||
else
|
||||
in_place=(-i)
|
||||
fi
|
||||
|
||||
# shellcheck disable=SC2153
|
||||
version="${VERSION}"
|
||||
printf '%s\n' "version(input): ${version}"
|
||||
# shellcheck disable=SC2153
|
||||
tag_prefix="${TAG_PREFIX}"
|
||||
printf '%s\n' "tag_prefix: ${tag_prefix}"
|
||||
# shellcheck disable=SC2153
|
||||
changelog="${CHANGELOG}"
|
||||
printf '%s\n' "changelog: ${changelog}"
|
||||
|
||||
# Get the current date.
|
||||
release_date=$(date -u '+%Y-%m-%d')
|
||||
printf '%s\n' "release-date: ${release_date}"
|
||||
printf '%s\n' "release-date=${release_date}" >>"${GITHUB_OUTPUT}"
|
||||
|
||||
# Get the current revision.
|
||||
retry git fetch origin &>/dev/null
|
||||
rev=$(git rev-parse HEAD)
|
||||
printf '%s\n' "rev: ${rev}"
|
||||
printf '%s\n' "rev=${rev}" >>"${GITHUB_OUTPUT}"
|
||||
|
||||
prev_version=$(parse-changelog --title-no-link "${changelog}" | cut -d' ' -f1)
|
||||
|
||||
# Determine the new version number and tag name.
|
||||
case "${version}" in
|
||||
major | minor | patch)
|
||||
if [[ ! "${prev_version}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||
bail "pre-release/build-metadata"
|
||||
fi
|
||||
major="${prev_version%%.*}"
|
||||
minor_patch="${prev_version#*.}"
|
||||
minor="${minor_patch%%.*}"
|
||||
patch="${minor_patch#*.}"
|
||||
case "${version}" in
|
||||
major) version="$((major+1)).0.0" ;;
|
||||
minor) version="${major}.$((minor+1)).0" ;;
|
||||
patch) version="${major}.${minor}.$((patch+1))" ;;
|
||||
esac
|
||||
;;
|
||||
*) version="${version#v}" ;;
|
||||
esac
|
||||
if [[ ! "${version}" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z\.-]+)?(\+[0-9A-Za-z\.-]+)?$ ]]; then
|
||||
bail "invalid version format '${version}'"
|
||||
fi
|
||||
printf '%s\n' "version: ${version}"
|
||||
printf '%s\n' "version=${version}" >>"${GITHUB_OUTPUT}"
|
||||
tag="${tag_prefix}${version}"
|
||||
printf '%s\n' "tag: ${tag}"
|
||||
printf '%s\n' "tag=${tag}" >>"${GITHUB_OUTPUT}"
|
||||
|
||||
# Make sure the same release has not been created in the past.
|
||||
if gh release view "${tag}" &>/dev/null; then
|
||||
bail "tag '${tag}' has already been created and pushed"
|
||||
fi
|
||||
# Make sure that the release was created from an allowed branch.
|
||||
if ! git branch | grep -Eq '\* '"${BRANCH}"'$'; then
|
||||
bail "current branch is not '${BRANCH}'"
|
||||
fi
|
||||
|
||||
changed_paths=()
|
||||
retry git fetch origin --tags &>/dev/null
|
||||
tags=$(git --no-pager tag | { grep -E "^${tag_prefix}[0-9]+" || true; })
|
||||
if [[ -n "${tags}" ]]; then
|
||||
printf 'has-tags=true\n' >>"${GITHUB_OUTPUT}"
|
||||
# Make sure the same release does not exist in changelog.
|
||||
if grep -Eq "^## \\[${version//./\\.}\\]" "${changelog}"; then
|
||||
bail "release ${version} already exist in ${changelog}"
|
||||
fi
|
||||
if grep -Eq "^\\[${version//./\\.}\\]: " "${changelog}"; then
|
||||
bail "link to ${version} already exist in ${changelog}"
|
||||
fi
|
||||
|
||||
# Update changelog.
|
||||
changed_paths+=("${changelog}")
|
||||
remote_url=$(grep -E '^\[Unreleased\]: https://' "${changelog}" | sed -E 's/^\[Unreleased\]: //; s/\.\.\.HEAD$//')
|
||||
prev_tag="${remote_url#*/compare/}"
|
||||
remote_url="${remote_url%/compare/*}"
|
||||
sed -E "${in_place[@]}" \
|
||||
-e "s/^## \\[Unreleased\\]/## [Unreleased]\\n\\n## [${version}] - ${release_date}/" \
|
||||
-e "s#^\[Unreleased\]: https://.*#[Unreleased]: ${remote_url}/compare/${tag}...HEAD\\n[${version}]: ${remote_url}/compare/${prev_tag}...${tag}#" "${changelog}"
|
||||
if ! grep -Eq "^## \\[${version//./\\.}\\] - ${release_date}$" "${changelog}"; then
|
||||
bail "failed to update ${changelog}"
|
||||
fi
|
||||
if ! grep -Eq "^\\[${version//./\\.}\\]: " "${changelog}"; then
|
||||
bail "failed to update ${changelog}"
|
||||
fi
|
||||
else
|
||||
# Make sure the release exists in changelog.
|
||||
if ! grep -Eq "^## \\[${version//./\\.}\\] - ${release_date}$" "${changelog}"; then
|
||||
bail "release ${version} does not exist in ${changelog} or has wrong release date"
|
||||
fi
|
||||
if ! grep -Eq "^\\[${version//./\\.}\\]: " "${changelog}"; then
|
||||
bail "link to ${version} does not exist in ${changelog}"
|
||||
fi
|
||||
fi
|
||||
# Make sure that a valid release note for this version exists.
|
||||
# https://github.com/taiki-e/parse-changelog
|
||||
changes=$(parse-changelog "${changelog}" "${version}")
|
||||
if [[ -z "${changes}" ]]; then
|
||||
bail "changelog for ${version} has no body"
|
||||
fi
|
||||
printf '============== CHANGELOG ==============\n'
|
||||
printf '%s\n' "${changes}"
|
||||
printf '=======================================\n'
|
||||
|
||||
if [[ -n "${tags}" ]]; then
|
||||
git -c color.ui=always diff "${changed_paths[@]}"
|
||||
git add "${changed_paths[@]}"
|
||||
fi
|
||||
# Make sure that there is no unintended change.
|
||||
git add -N .
|
||||
git -c color.ui=always diff --exit-code
|
||||
|
||||
(
|
||||
set -x
|
||||
git show HEAD --shortstat
|
||||
)
|
||||
env:
|
||||
VERSION: ${{ inputs.version }}
|
||||
TAG_PREFIX: v
|
||||
CHANGELOG: CHANGELOG.md
|
||||
BRANCH: main
|
||||
outputs:
|
||||
has-tags: ${{ steps.check.outputs.has-tags }}
|
||||
release-date: ${{ steps.check.outputs.release-date }}
|
||||
rev: ${{ steps.check.outputs.rev }}
|
||||
tag: ${{ steps.check.outputs.tag }}
|
||||
version: ${{ steps.check.outputs.version }}
|
||||
|
||||
release:
|
||||
if: github.repository_owner == 'taiki-e' && inputs.target == 'install-action'
|
||||
needs: prepare
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 60
|
||||
environment:
|
||||
name: release
|
||||
deployment: false
|
||||
permissions:
|
||||
contents: write # for taiki-e/create-gh-release-action
|
||||
steps:
|
||||
- uses: taiki-e/checkout-action@v1
|
||||
- uses: taiki-e/install-action@v2
|
||||
with:
|
||||
tool: parse-changelog
|
||||
fallback: none
|
||||
- name: Create and push release commit and tag
|
||||
id: push
|
||||
run: |
|
||||
set +x
|
||||
IFS=$'\n\t'
|
||||
trap -- 's=$?; printf >&2 "%s\n" "${0##*/}:${LINENO}: \`${BASH_COMMAND}\` exit with ${s}"; exit ${s}' ERR
|
||||
retry() {
|
||||
for i in {1..10}; do
|
||||
if "$@"; then
|
||||
return 0
|
||||
else
|
||||
sleep "${i}"
|
||||
fi
|
||||
done
|
||||
"$@"
|
||||
}
|
||||
bail() {
|
||||
printf '::error::%s\n' "$*"
|
||||
exit 1
|
||||
}
|
||||
if { sed --help 2>&1 || true; } | grep -Eq -e '-i extension'; then
|
||||
in_place=(-i '')
|
||||
else
|
||||
in_place=(-i)
|
||||
fi
|
||||
|
||||
git config user.name 'Taiki Endo'
|
||||
git config user.email 'te316e89@gmail.com'
|
||||
|
||||
# shellcheck disable=SC2153
|
||||
version="${VERSION}"
|
||||
# shellcheck disable=SC2153
|
||||
tag="${TAG}"
|
||||
# shellcheck disable=SC2153
|
||||
changelog="${CHANGELOG}"
|
||||
# shellcheck disable=SC2153
|
||||
release_date="${RELEASE_DATE}"
|
||||
|
||||
# Make sure the current revision is same as prepare step.
|
||||
retry git fetch origin &>/dev/null
|
||||
rev=$(git rev-parse HEAD)
|
||||
if [[ "${rev}" != "${PREPARE_REV}" ]]; then
|
||||
bail "revision difference between prepare step"
|
||||
fi
|
||||
|
||||
# Make sure the same release has not been created in the past.
|
||||
if gh release view "${tag}" &>/dev/null; then
|
||||
bail "tag '${tag}' has already been created and pushed"
|
||||
fi
|
||||
# Make sure that the release was created from an allowed branch.
|
||||
if ! git branch | grep -Eq '\* '"${BRANCH}"'$'; then
|
||||
bail "current branch is not '${BRANCH}'"
|
||||
fi
|
||||
|
||||
changed_paths=()
|
||||
if [[ "${HAS_TAGS}" == "true" ]]; then
|
||||
# Update changelog.
|
||||
changed_paths+=("${changelog}")
|
||||
remote_url=$(grep -E '^\[Unreleased\]: https://' "${changelog}" | sed -E 's/^\[Unreleased\]: //; s/\.\.\.HEAD$//')
|
||||
prev_tag="${remote_url#*/compare/}"
|
||||
remote_url="${remote_url%/compare/*}"
|
||||
sed -E "${in_place[@]}" \
|
||||
-e "s/^## \\[Unreleased\\]/## [Unreleased]\\n\\n## [${version}] - ${release_date}/" \
|
||||
-e "s#^\[Unreleased\]: https://.*#[Unreleased]: ${remote_url}/compare/${tag}...HEAD\\n[${version}]: ${remote_url}/compare/${prev_tag}...${tag}#" "${changelog}"
|
||||
if ! grep -Eq "^## \\[${version//./\\.}\\] - ${release_date}$" "${changelog}"; then
|
||||
bail "failed to update ${changelog}"
|
||||
fi
|
||||
if ! grep -Eq "^\\[${version//./\\.}\\]: " "${changelog}"; then
|
||||
bail "failed to update ${changelog}"
|
||||
fi
|
||||
fi
|
||||
changes=$(parse-changelog "${changelog}" "${version}")
|
||||
printf '============== CHANGELOG ==============\n'
|
||||
printf '%s\n' "${changes}"
|
||||
printf '=======================================\n'
|
||||
|
||||
if [[ "${HAS_TAGS}" == "true" ]]; then
|
||||
# Create a release commit.
|
||||
(
|
||||
set -x
|
||||
git add "${changed_paths[@]}"
|
||||
git commit -m "Release ${version}"
|
||||
)
|
||||
fi
|
||||
|
||||
prev_credential_helper=$(git config get --global credential.helper || true)
|
||||
if [[ -n "${prev_credential_helper}" ]]; then
|
||||
printf 'credential helper is already set (%s)\n' "${prev_credential_helper}"
|
||||
else
|
||||
(
|
||||
set -x
|
||||
git config --global credential.helper store
|
||||
)
|
||||
protocol="${GITHUB_SERVER_URL%%://*}"
|
||||
hostname="${GITHUB_SERVER_URL#*://}"
|
||||
printf '%s\n' "${protocol}://${GITHUB_ACTOR}:${PUSH_TOKEN}@${hostname}" >~/.git-credentials
|
||||
# Remove credential helper config on exit.
|
||||
trap -- '(set -x; rm -f -- ~/.git-credentials; git config --global --unset credential.helper || true)' EXIT
|
||||
fi
|
||||
|
||||
(
|
||||
set -x
|
||||
git tag "${tag}"
|
||||
retry git push origin HEAD
|
||||
retry git push origin refs/tags/"${tag}"
|
||||
|
||||
major_version_tag="v${version%%.*}"
|
||||
git branch "releases/${major_version_tag}"
|
||||
git tag -f "${major_version_tag}"
|
||||
refs=("refs/heads/releases/${major_version_tag}" "+refs/tags/${major_version_tag}")
|
||||
|
||||
tools=()
|
||||
for tool in tools/codegen/base/*.json; do
|
||||
tool="${tool##*/}"
|
||||
tools+=("${tool%.*}")
|
||||
done
|
||||
# Aliases.
|
||||
# NB: Update case for aliases in main.sh, tool input option in test-alias job
|
||||
# in .github/workflows/ci.yml, and match for alias for tools/codegen/src/tools-markdown.rs.
|
||||
tools+=(
|
||||
nextest
|
||||
taplo-cli
|
||||
typos-cli
|
||||
wasm-bindgen-cli
|
||||
wasmtime-cli
|
||||
)
|
||||
# Non-manifest-based tools.
|
||||
tools+=(valgrind)
|
||||
|
||||
branches=()
|
||||
for tool in "${tools[@]}"; do
|
||||
git checkout -b "releases/${tool}"
|
||||
sed -E "${in_place[@]}" action.yml \
|
||||
-e "s/required: true/required: false/g" \
|
||||
-e "s/# default: #publish:tool/default: ${tool}/g"
|
||||
git add action.yml
|
||||
git commit -m "${tool}"
|
||||
git tag -f "${tool}"
|
||||
git checkout main
|
||||
refs+=("+refs/heads/releases/${tool}" "+refs/tags/${tool}")
|
||||
branches+=("releases/${tool}")
|
||||
done
|
||||
|
||||
retry git push origin --atomic "${refs[@]}"
|
||||
git branch -d "releases/${major_version_tag}"
|
||||
git branch -D "${branches[@]}"
|
||||
|
||||
schema_workspace=/tmp/workspace
|
||||
rm -rf -- "${schema_workspace}"
|
||||
# Checkout manifest-schema branch
|
||||
schema_version="$(cargo metadata --format-version=1 --no-deps | jq -r '.packages[] | select(.name == "install-action-manifest-schema") | .version')"
|
||||
if [[ "${schema_version}" == "0."* ]]; then
|
||||
schema_version="0.$(cut -d. -f2 <<<"${schema_version}")"
|
||||
else
|
||||
schema_version="$(cut -d. -f1 <<<"${schema_version}")"
|
||||
fi
|
||||
schema_branch="manifest-schema-${schema_version}"
|
||||
|
||||
git worktree add --force "${schema_workspace}"
|
||||
(
|
||||
cd -- "${schema_workspace}"
|
||||
if git fetch origin "${schema_branch}"; then
|
||||
git checkout "origin/${schema_branch}" -B "${schema_branch}"
|
||||
elif ! git checkout "${schema_branch}"; then
|
||||
# New branch with no history. Credit: https://stackoverflow.com/a/13969482
|
||||
git checkout --orphan "${schema_branch}"
|
||||
git rm -rf -- . || true
|
||||
git commit -m 'Initial commit' --allow-empty
|
||||
fi
|
||||
)
|
||||
|
||||
# Copy over schema
|
||||
cp -- ./manifests/* "${schema_workspace}"
|
||||
|
||||
(
|
||||
cd -- "${schema_workspace}"
|
||||
# Stage changes
|
||||
git add .
|
||||
# Detect changes, then commit and push if changes exist
|
||||
if [[ "$(git status --porcelain=v1 | LC_ALL=C wc -l)" != "0" ]]; then
|
||||
git commit -m 'Update manifest schema'
|
||||
retry git push origin HEAD
|
||||
fi
|
||||
)
|
||||
|
||||
rm -rf -- "${schema_workspace}"
|
||||
git worktree prune
|
||||
# TODO: get branch in schema_workspace dir instead
|
||||
git branch -D "${schema_branch}" "${schema_workspace##*/}"
|
||||
)
|
||||
env:
|
||||
VERSION: ${{ needs.prepare.outputs.version }}
|
||||
RELEASE_DATE: ${{ needs.prepare.outputs.release-date }}
|
||||
HAS_TAGS: ${{ needs.prepare.outputs.has-tags }}
|
||||
TAG: ${{ needs.prepare.outputs.tag }}
|
||||
CHANGELOG: CHANGELOG.md
|
||||
BRANCH: main
|
||||
PREPARE_REV: ${{ needs.prepare.outputs.rev }}
|
||||
# Note that if we use secrets.GITHUB_TOKEN, the pushed commit/tag cannot trigger other workflows.
|
||||
PUSH_TOKEN: ${{ secrets.PUSH_TOKEN }}
|
||||
- uses: taiki-e/create-gh-release-action@v1
|
||||
with:
|
||||
changelog: CHANGELOG.md
|
||||
title: $version
|
||||
branch: main
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
ref: refs/tags/${{ needs.prepare.outputs.tag }}
|
||||
|
||||
release-manifest-schema:
|
||||
if: github.repository_owner == 'taiki-e' && inputs.target == 'install-action-manifest-schema'
|
||||
uses: taiki-e/github-actions/.github/workflows/rust-release.yml@main
|
||||
permissions:
|
||||
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
|
||||
with:
|
||||
version: ${{ inputs.version }}
|
||||
tag-prefix: install-action-manifest-schema-
|
||||
crates: tools/manifest-schema
|
||||
changelog: tools/manifest-schema/CHANGELOG.md
|
||||
title: $prefix $version
|
||||
prefix: install-action-manifest-schema
|
||||
@@ -1,11 +0,0 @@
|
||||
# zizmor configuration
|
||||
# https://docs.zizmor.sh/configuration/
|
||||
|
||||
rules:
|
||||
dependabot-cooldown: { disable: true } # Unless dependencies are pinned/locked, the effect is limited.
|
||||
secrets-inherit: { disable: true }
|
||||
unpinned-uses:
|
||||
config:
|
||||
policies:
|
||||
taiki-e/*: any
|
||||
'*': ref-pin
|
||||
@@ -1,8 +0,0 @@
|
||||
target
|
||||
Cargo.lock
|
||||
mutants.out*
|
||||
tmp
|
||||
|
||||
# For platform and editor specific settings, it is recommended to add to
|
||||
# a global .gitignore file.
|
||||
# Refs: https://docs.github.com/en/github/using-git/ignoring-files#configuring-ignored-files-for-all-repositories-on-your-computer
|
||||
@@ -1,11 +0,0 @@
|
||||
# https://github.com/DavidAnson/markdownlint/blob/HEAD/doc/Rules.md
|
||||
config:
|
||||
line-length: false # MD013
|
||||
no-duplicate-heading: false # MD024
|
||||
no-blanks-blockquote: false # MD028 (this warns valid GFM alerts usage)
|
||||
no-inline-html: false # MD033
|
||||
no-emphasis-as-heading: false # MD036
|
||||
|
||||
# https://github.com/DavidAnson/markdownlint-cli2#markdownlint-cli2jsonc
|
||||
noBanner: true
|
||||
noProgress: true
|
||||
@@ -1 +0,0 @@
|
||||
manifests/*.json
|
||||
@@ -1,34 +0,0 @@
|
||||
# Rustfmt configuration
|
||||
# https://github.com/rust-lang/rustfmt/blob/HEAD/Configurations.md
|
||||
|
||||
# Rustfmt cannot format long lines inside macros, but this option detects this.
|
||||
# This is unstable (tracking issue: https://github.com/rust-lang/rustfmt/issues/3391)
|
||||
error_on_line_overflow = true
|
||||
|
||||
# Override the default formatting style.
|
||||
# See https://internals.rust-lang.org/t/running-rustfmt-on-rust-lang-rust-and-other-rust-lang-repositories/8732/81.
|
||||
use_small_heuristics = "Max"
|
||||
# This is unstable (tracking issue: https://github.com/rust-lang/rustfmt/issues/3370)
|
||||
overflow_delimited_expr = true
|
||||
# This is unstable (tracking issue: https://github.com/rust-lang/rustfmt/issues/4991).
|
||||
imports_granularity = "Crate"
|
||||
# This is unstable (tracking issue: https://github.com/rust-lang/rustfmt/issues/5083).
|
||||
group_imports = "StdExternalCrate"
|
||||
# This is unstable (tracking issue: https://github.com/rust-lang/rustfmt/issues/5081).
|
||||
hex_literal_case = "Upper"
|
||||
|
||||
# Apply rustfmt to more places.
|
||||
# This is unstable (tracking issue: https://github.com/rust-lang/rustfmt/issues/3348).
|
||||
format_code_in_doc_comments = true
|
||||
|
||||
# Automatically fix deprecated style.
|
||||
use_field_init_shorthand = true
|
||||
use_try_shorthand = true
|
||||
|
||||
# Set the default settings again to always apply the proper formatting without
|
||||
# being affected by the editor settings.
|
||||
edition = "2021"
|
||||
style_edition = "2024"
|
||||
hard_tabs = false
|
||||
newline_style = "Unix"
|
||||
tab_spaces = 4
|
||||
@@ -1,38 +0,0 @@
|
||||
# ShellCheck configuration
|
||||
# https://github.com/koalaman/shellcheck/blob/HEAD/shellcheck.1.md#rc-files
|
||||
|
||||
# See also:
|
||||
# https://github.com/koalaman/shellcheck/wiki/Optional
|
||||
# https://google.github.io/styleguide/shellguide.html
|
||||
|
||||
# https://github.com/koalaman/shellcheck/wiki/Directive#external-sources
|
||||
external-sources=true
|
||||
|
||||
# https://github.com/koalaman/shellcheck/wiki/SC2249
|
||||
# enable=add-default-case
|
||||
|
||||
# https://github.com/koalaman/shellcheck/wiki/SC2244
|
||||
enable=avoid-nullary-conditions
|
||||
|
||||
# https://github.com/koalaman/shellcheck/wiki/SC2312
|
||||
# enable=check-extra-masked-returns
|
||||
|
||||
# https://github.com/koalaman/shellcheck/wiki/SC2310
|
||||
# https://github.com/koalaman/shellcheck/wiki/SC2311
|
||||
# enable=check-set-e-suppressed
|
||||
|
||||
# enable=check-unassigned-uppercase
|
||||
|
||||
# https://github.com/koalaman/shellcheck/wiki/SC2230
|
||||
enable=deprecate-which
|
||||
|
||||
# https://github.com/koalaman/shellcheck/wiki/SC2248
|
||||
enable=quote-safe-variables
|
||||
|
||||
# https://github.com/koalaman/shellcheck/wiki/SC2292
|
||||
# https://google.github.io/styleguide/shellguide.html#s6.3-tests
|
||||
enable=require-double-brackets
|
||||
|
||||
# https://github.com/koalaman/shellcheck/wiki/SC2250
|
||||
# https://google.github.io/styleguide/shellguide.html#s5.6-variable-expansion
|
||||
enable=require-variable-braces
|
||||
@@ -1,9 +0,0 @@
|
||||
# Taplo configuration
|
||||
# https://taplo.tamasfe.dev/configuration/formatter-options.html
|
||||
|
||||
[formatting]
|
||||
align_comments = false
|
||||
allowed_blank_lines = 1
|
||||
array_auto_collapse = false
|
||||
array_auto_expand = false
|
||||
indent_string = " "
|
||||
-7118
File diff suppressed because it is too large
Load Diff
-53
@@ -1,53 +0,0 @@
|
||||
[workspace]
|
||||
resolver = "2"
|
||||
members = ["tools/codegen", "tools/manifest-schema"]
|
||||
|
||||
# This table is shared by projects under github.com/taiki-e.
|
||||
# Expect for unexpected_cfgs.check-cfg, it is not intended for manual editing.
|
||||
[workspace.lints.rust]
|
||||
deprecated_safe = "warn"
|
||||
improper_ctypes = "warn"
|
||||
improper_ctypes_definitions = "warn"
|
||||
non_ascii_idents = "warn"
|
||||
rust_2018_idioms = "warn"
|
||||
single_use_lifetimes = "warn"
|
||||
unexpected_cfgs = { level = "warn", check-cfg = [
|
||||
] }
|
||||
unnameable_types = "warn"
|
||||
unreachable_pub = "warn"
|
||||
unsafe_op_in_unsafe_fn = "warn"
|
||||
[workspace.lints.clippy]
|
||||
all = "warn" # Downgrade deny-by-default lints
|
||||
pedantic = "warn"
|
||||
as_ptr_cast_mut = "warn"
|
||||
as_underscore = "warn"
|
||||
default_union_representation = "warn"
|
||||
inline_asm_x86_att_syntax = "warn"
|
||||
trailing_empty_array = "warn"
|
||||
transmute_undefined_repr = "warn"
|
||||
undocumented_unsafe_blocks = "warn"
|
||||
unused_trait_names = "warn"
|
||||
# Suppress buggy or noisy clippy lints
|
||||
bool_assert_comparison = { level = "allow", priority = 1 }
|
||||
borrow_as_ptr = { level = "allow", priority = 1 } # https://github.com/rust-lang/rust-clippy/issues/8286
|
||||
cast_lossless = { level = "allow", priority = 1 } # suggested code has poor codegen with -C opt-level=0 https://godbolt.org/z/GzTxzbd9q
|
||||
collapsible_match = { level = "allow", priority = 1 }
|
||||
declare_interior_mutable_const = { level = "allow", priority = 1 } # https://github.com/rust-lang/rust-clippy/issues/7665
|
||||
doc_markdown = { level = "allow", priority = 1 }
|
||||
float_cmp = { level = "allow", priority = 1 } # https://github.com/rust-lang/rust-clippy/issues/7725
|
||||
incompatible_msrv = { level = "allow", priority = 1 } # buggy: doesn't consider cfg, https://github.com/rust-lang/rust-clippy/issues/12280, https://github.com/rust-lang/rust-clippy/issues/12257#issuecomment-2093667187
|
||||
manual_assert = { level = "allow", priority = 1 }
|
||||
manual_range_contains = { level = "allow", priority = 1 } # https://github.com/rust-lang/rust-clippy/issues/6455#issuecomment-1225966395
|
||||
missing_errors_doc = { level = "allow", priority = 1 }
|
||||
module_name_repetitions = { level = "allow", priority = 1 } # buggy: https://github.com/rust-lang/rust-clippy/issues?q=is%3Aissue+is%3Aopen+module_name_repetitions
|
||||
naive_bytecount = { level = "allow", priority = 1 }
|
||||
nonminimal_bool = { level = "allow", priority = 1 } # buggy: https://github.com/rust-lang/rust-clippy/issues?q=is%3Aissue+is%3Aopen+nonminimal_bool
|
||||
range_plus_one = { level = "allow", priority = 1 } # buggy: https://github.com/rust-lang/rust-clippy/issues?q=is%3Aissue+is%3Aopen+range_plus_one
|
||||
similar_names = { level = "allow", priority = 1 }
|
||||
single_match = { level = "allow", priority = 1 }
|
||||
single_match_else = { level = "allow", priority = 1 }
|
||||
struct_excessive_bools = { level = "allow", priority = 1 }
|
||||
struct_field_names = { level = "allow", priority = 1 }
|
||||
too_many_arguments = { level = "allow", priority = 1 }
|
||||
too_many_lines = { level = "allow", priority = 1 }
|
||||
type_complexity = { level = "allow", priority = 1 }
|
||||
@@ -1,40 +0,0 @@
|
||||
# Development Guide
|
||||
|
||||
## Add support for new tool
|
||||
|
||||
(Example: [ffbd316](https://github.com/taiki-e/install-action/commit/ffbd316e0fe98cb460dae3a66cd2ef9deb398bb1))
|
||||
|
||||
1\. Add base manifest to [`tools/codegen/base`](tools/codegen/base) directory.
|
||||
|
||||
See JSON files in `tools/codegen/base` directory for examples of the manifest.
|
||||
|
||||
2\. Generate manifest with the following command (replace `<tool>` with the tool name).
|
||||
|
||||
```sh
|
||||
./tools/manifest.sh <tool>
|
||||
```
|
||||
|
||||
> If you're having problem with github api rate limit, you can use your GITHUB_TOKEN to increase the rate limit.
|
||||
> If you have `Github CLI` installed (the command `gh`), you can:
|
||||
>
|
||||
> ```sh
|
||||
> GITHUB_TOKEN=$(gh auth token) ./tools/manifest.sh <tool>
|
||||
> ```
|
||||
|
||||
## Refresh TOOLS.md
|
||||
|
||||
To update `TOOLS.md`, run
|
||||
|
||||
```sh
|
||||
./tools/update-markdown.sh
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
If one of the CI builds fails due to a bin path or release asset_name, fix the problem in the base
|
||||
manifest, and re-run the manifest tool `tools/manifest.sh` to regenerate the manifest json file. The
|
||||
base manifest supports overriding the bin path per platform by adding the `"bin"` / `"asset_name"`
|
||||
to the platform object.
|
||||
|
||||
If CI fails only for containers using older versions of glibc or musl, you may need to add the tool
|
||||
name to one of the `*_incompat` arrays in `tools/ci/tool-list.sh`.
|
||||
-177
@@ -1,177 +0,0 @@
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
-23
@@ -1,23 +0,0 @@
|
||||
Permission is hereby granted, free of charge, to any
|
||||
person obtaining a copy of this software and associated
|
||||
documentation files (the "Software"), to deal in the
|
||||
Software without restriction, including without
|
||||
limitation the rights to use, copy, modify, merge,
|
||||
publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software
|
||||
is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice
|
||||
shall be included in all copies or substantial portions
|
||||
of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
|
||||
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
|
||||
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
||||
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
|
||||
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
|
||||
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
@@ -1,154 +0,0 @@
|
||||
<!-- omit in toc -->
|
||||
# install-action
|
||||
|
||||
[](https://github.com/taiki-e/install-action/releases/latest)
|
||||
[](https://github.com/taiki-e/install-action/actions)
|
||||
|
||||
GitHub Action for installing development tools (mainly from GitHub Releases).
|
||||
|
||||
- [Usage](#usage)
|
||||
- [Inputs](#inputs)
|
||||
- [Example workflow](#example-workflow)
|
||||
- [Supported tools](#supported-tools)
|
||||
- [Add support for new tool](#add-support-for-new-tool)
|
||||
- [Security](#security)
|
||||
- [Compatibility](#compatibility)
|
||||
- [Related Projects](#related-projects)
|
||||
- [License](#license)
|
||||
|
||||
## Usage
|
||||
|
||||
### Inputs
|
||||
|
||||
| Name | Required | Description | Type | Default |
|
||||
| ---- | :------: | ----------- | ---- | ------- |
|
||||
| tool | **✓** | Tools to install (whitespace or comma separated list) | String | |
|
||||
| checksum | | Whether to enable checksums | Boolean | `true` |
|
||||
|
||||
### Example workflow
|
||||
|
||||
To install the latest version:
|
||||
|
||||
```yaml
|
||||
- uses: taiki-e/install-action@v2
|
||||
with:
|
||||
tool: cargo-hack
|
||||
```
|
||||
|
||||
You can use the shorthand (if you do not need to pin the versions of this action and the installed tool):
|
||||
|
||||
```yaml
|
||||
- uses: taiki-e/install-action@cargo-hack
|
||||
```
|
||||
|
||||
To install a specific version, use `@version` syntax:
|
||||
|
||||
```yaml
|
||||
- uses: taiki-e/install-action@v2
|
||||
with:
|
||||
tool: cargo-hack@0.5.24
|
||||
```
|
||||
|
||||
You can also omit patch version.
|
||||
(You can also omit the minor version if the major version is 1 or greater.)
|
||||
|
||||
```yaml
|
||||
- uses: taiki-e/install-action@v2
|
||||
with:
|
||||
tool: cargo-hack@0.5
|
||||
```
|
||||
|
||||
To install multiple tools:
|
||||
|
||||
```yaml
|
||||
- uses: taiki-e/install-action@v2
|
||||
with:
|
||||
tool: cargo-hack,cargo-minimal-versions
|
||||
```
|
||||
|
||||
Or:
|
||||
|
||||
```yaml
|
||||
- uses: taiki-e/install-action@cargo-hack
|
||||
- uses: taiki-e/install-action@cargo-minimal-versions
|
||||
```
|
||||
|
||||
## Supported tools
|
||||
|
||||
See [TOOLS.md](TOOLS.md) for the list of tools that are installed from manifests managed in this action.
|
||||
|
||||
If a tool not included in the list above is specified, this action uses [cargo-binstall] as a fallback.
|
||||
|
||||
If you want to ensure that fallback is not used, use `fallback: none`.
|
||||
|
||||
```yaml
|
||||
- uses: taiki-e/install-action@v2
|
||||
with:
|
||||
tool: cargo-hack
|
||||
# Possible values:
|
||||
# - none: disable all fallback options
|
||||
# - cargo-binstall (default): use cargo-binstall (includes "quickinstall" and "install from source")
|
||||
# - cargo-install: use `cargo install`
|
||||
fallback: none
|
||||
```
|
||||
|
||||
On platforms where cargo-binstall does not provide prebuilt binaries, cargo-install fallback is used instead of cargo-binstall fallback.
|
||||
|
||||
### Add support for new tool
|
||||
|
||||
See the [development guide](DEVELOPMENT.md) for how to add support for new tool.
|
||||
|
||||
## Security
|
||||
|
||||
When installing the tool from GitHub Releases, this action will download the tool or its installer from GitHub Releases using HTTPS with tlsv1.2+. This is basically considered to be the same level of security as [the recommended installation of rustup](https://www.rust-lang.org/tools/install).
|
||||
|
||||
Additionally, this action will also verify SHA256 checksums for downloaded files in all tools installed from GitHub Releases. This is enabled by default and can be disabled by setting the `checksum` input option to `false`.
|
||||
|
||||
Additionally, we also verify [artifact attestations](https://docs.github.com/en/actions/concepts/security/artifact-attestations) or signature if the tool publishes artifact attestations or distributes signed archives. Verification is done at the stage of getting the checksum, so disabling the checksum will also disable verification.
|
||||
|
||||
See the linked documentation for information on security when installed using [snap](https://snapcraft.io/docs) or [cargo-binstall](https://github.com/cargo-bins/cargo-binstall#faq).
|
||||
|
||||
See the [Supported tools section](#supported-tools) for how to ensure that fallback is not used.
|
||||
|
||||
## Compatibility
|
||||
|
||||
This action has been tested for GitHub-hosted runners (Ubuntu, macOS, Windows) and containers (Ubuntu, Debian, Fedora, CentOS, Alma, openSUSE, Arch, Alpine).
|
||||
|
||||
On Linux, if any required tools are missing, this action will attempt to install them from distro's package manager, so no pre-setup is usually required (except for CentOS or Debian 10 (or older) or very old distro described below, which was already EoL and needs to use vault/archive repos -- see "Install requirements" in [our CI config](https://github.com/taiki-e/install-action/blob/HEAD/.github/workflows/ci.yml) for example of setup).
|
||||
|
||||
On other platforms, at least the following tools are required:
|
||||
|
||||
- bash 3.2+
|
||||
- jq 1.3+ (only on non-Windows platforms)
|
||||
- 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).
|
||||
|
||||
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
|
||||
|
||||
- [cache-cargo-install-action]: GitHub Action for `cargo install` with cache.
|
||||
- [create-gh-release-action]: GitHub Action for creating GitHub Releases based on changelog.
|
||||
- [upload-rust-binary-action]: GitHub Action for building and uploading Rust binary to GitHub Releases.
|
||||
- [setup-cross-toolchain-action]: GitHub Action for setup toolchains for cross compilation and cross testing for Rust.
|
||||
- [checkout-action]: GitHub Action for checking out a repository. (Simplified actions/checkout alternative that does not depend on Node.js.)
|
||||
|
||||
[cache-cargo-install-action]: https://github.com/taiki-e/cache-cargo-install-action
|
||||
[cargo-binstall]: https://github.com/cargo-bins/cargo-binstall
|
||||
[checkout-action]: https://github.com/taiki-e/checkout-action
|
||||
[create-gh-release-action]: https://github.com/taiki-e/create-gh-release-action
|
||||
[setup-cross-toolchain-action]: https://github.com/taiki-e/setup-cross-toolchain-action
|
||||
[upload-rust-binary-action]: https://github.com/taiki-e/upload-rust-binary-action
|
||||
|
||||
## License
|
||||
|
||||
Licensed under either of [Apache License, Version 2.0](LICENSE-APACHE) or
|
||||
[MIT license](LICENSE-MIT) at your option.
|
||||
|
||||
Each of the tools installed by this action has a different license. See the
|
||||
[Supported tools](#supported-tools) section for more information.
|
||||
|
||||
Unless you explicitly state otherwise, any contribution intentionally submitted
|
||||
for inclusion in the work by you, as defined in the Apache-2.0 license, shall
|
||||
be dual licensed as above, without any additional terms or conditions.
|
||||
@@ -1,100 +0,0 @@
|
||||
# Tools
|
||||
|
||||
This is a list of tools that are installed from manifests managed in this action.
|
||||
|
||||
If a tool not included in the list below is specified, this action uses [cargo-binstall] as a fallback.
|
||||
|
||||
See the [Supported tools section in README.md](README.md#supported-tools) for how to ensure that fallback is not used.
|
||||
|
||||
> If `$CARGO_HOME/bin` is not available, Rust-related binaries will be installed to `$HOME/.cargo/bin`.<br>
|
||||
> If `$HOME/.cargo/bin` is not available, Rust-related binaries will be installed to `$HOME/.install-action/bin`.<br>
|
||||
|
||||
> [!WARNING]
|
||||
> Please note that the fact that a specific tool is listed here does **NOT** mean that the maintainer trusts the tool for safety or has reviewed its code.
|
||||
|
||||
| Name | Where binaries will be installed | Where will it be installed from | Supported platform | License |
|
||||
| ---- | -------------------------------- | ------------------------------- | ------------------ | ------- |
|
||||
| [**auto-doc**](https://github.com/tj-actions/auto-doc) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/tj-actions/auto-doc/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/tj-actions/auto-doc/blob/main/LICENSE) |
|
||||
| [**biome**](https://biomejs.dev) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/biomejs/biome/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/biomejs/biome/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/biomejs/biome/blob/main/LICENSE-MIT) |
|
||||
| [**cargo-audit**](https://github.com/rustsec/rustsec/tree/HEAD/cargo-audit) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rustsec/rustsec/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/rustsec/rustsec/blob/HEAD/cargo-audit/LICENSE-APACHE) OR [MIT](https://github.com/rustsec/rustsec/blob/HEAD/cargo-audit/LICENSE-MIT) |
|
||||
| [**cargo-auditable**](https://github.com/rust-secure-code/cargo-auditable) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rust-secure-code/cargo-auditable/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/rust-secure-code/cargo-auditable/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/rust-secure-code/cargo-auditable/blob/HEAD/LICENSE-MIT) |
|
||||
| [**cargo-binstall**](https://github.com/cargo-bins/cargo-binstall) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/cargo-bins/cargo-binstall/releases) | Linux, macOS, Windows | [GPL-3.0](https://github.com/cargo-bins/cargo-binstall/blob/HEAD/crates/bin/LICENSE) |
|
||||
| [**cargo-careful**](https://github.com/RalfJung/cargo-careful) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/RalfJung/cargo-careful/releases) | Linux, macOS, Windows | [MIT](https://github.com/RalfJung/cargo-careful/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/RalfJung/cargo-careful/blob/master/LICENSE-APACHE) |
|
||||
| [**cargo-cyclonedx**](https://github.com/CycloneDX/cyclonedx-rust-cargo) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/CycloneDX/cyclonedx-rust-cargo/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/CycloneDX/cyclonedx-rust-cargo/blob/main/LICENSE) |
|
||||
| [**cargo-deadlinks**](https://github.com/deadlinks/cargo-deadlinks) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/deadlinks/cargo-deadlinks/releases) | Linux, macOS, Windows | [MIT](https://github.com/deadlinks/cargo-deadlinks/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/deadlinks/cargo-deadlinks/blob/master/LICENSE-APACHE) |
|
||||
| [**cargo-deny**](https://github.com/EmbarkStudios/cargo-deny) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/EmbarkStudios/cargo-deny/releases) | Linux, macOS, Windows | [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) |
|
||||
| [**cargo-dinghy**](https://github.com/sonos/dinghy) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/sonos/dinghy/releases) | Linux, macOS | [MIT](https://github.com/sonos/dinghy/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/sonos/dinghy/blob/main/LICENSE-APACHE) |
|
||||
| [**cargo-export**](https://github.com/bazhenov/cargo-export) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/bazhenov/cargo-export/releases) | Linux, macOS, Windows | [MIT](https://github.com/bazhenov/cargo-export/blob/master/LICENSE) |
|
||||
| [**cargo-hack**](https://github.com/taiki-e/cargo-hack) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/cargo-hack/releases) | Linux, macOS, Windows | [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) |
|
||||
| [**cargo-insta**](https://insta.rs/) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/mitsuhiko/insta/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/mitsuhiko/insta/blob/master/LICENSE) |
|
||||
| [**cargo-lambda**](https://github.com/cargo-lambda/cargo-lambda) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/cargo-lambda/cargo-lambda/releases) | Linux, macOS, Windows | [MIT](https://github.com/cargo-lambda/cargo-lambda/blob/main/LICENSE) |
|
||||
| [**cargo-llvm-cov**](https://github.com/taiki-e/cargo-llvm-cov) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/cargo-llvm-cov/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/cargo-llvm-cov/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/cargo-llvm-cov/blob/main/LICENSE-MIT) |
|
||||
| [**cargo-machete**](https://github.com/bnjbvr/cargo-machete) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/bnjbvr/cargo-machete/releases) | Linux, macOS, Windows | [MIT](https://github.com/bnjbvr/cargo-machete/blob/main/LICENSE.md) |
|
||||
| [**cargo-make**](https://github.com/sagiegurari/cargo-make) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/sagiegurari/cargo-make/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/sagiegurari/cargo-make/blob/master/LICENSE) |
|
||||
| [**cargo-minimal-versions**](https://github.com/taiki-e/cargo-minimal-versions) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/cargo-minimal-versions/releases) | Linux, macOS, Windows | [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) |
|
||||
| [**cargo-neat**](https://github.com/killzoner/cargo-neat) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/killzoner/cargo-neat/releases) | Linux, macOS, Windows | [MIT](https://github.com/killzoner/cargo-neat/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/killzoner/cargo-neat/blob/master/LICENSE-APACHE) |
|
||||
| [**cargo-nextest**](https://github.com/nextest-rs/nextest) (alias: `nextest`) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/nextest-rs/nextest/releases) | Linux, macOS, Windows | [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) |
|
||||
| [**cargo-no-dev-deps**](https://github.com/taiki-e/cargo-no-dev-deps) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/cargo-no-dev-deps/releases) | Linux, macOS, Windows | [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) |
|
||||
| [**cargo-rdme**](https://github.com/orium/cargo-rdme) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/orium/cargo-rdme/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/orium/cargo-rdme/blob/main/LICENSE.md) |
|
||||
| [**cargo-semver-checks**](https://github.com/obi1kenobi/cargo-semver-checks) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/obi1kenobi/cargo-semver-checks/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/obi1kenobi/cargo-semver-checks/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/obi1kenobi/cargo-semver-checks/blob/main/LICENSE-MIT) |
|
||||
| [**cargo-shear**](https://github.com/Boshen/cargo-shear) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/Boshen/cargo-shear/releases) | Linux, macOS, Windows | [MIT](https://github.com/Boshen/cargo-shear/blob/main/LICENSE) |
|
||||
| [**cargo-sort**](https://github.com/DevinR528/cargo-sort) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/DevinR528/cargo-sort/releases) | Linux, macOS, Windows | [Apache-2.0 OR MIT](https://github.com/DevinR528/cargo-sort/blob/v1.0.9/Cargo.toml#L5) |
|
||||
| [**cargo-spellcheck**](https://github.com/drahnr/cargo-spellcheck) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/drahnr/cargo-spellcheck/releases) | Linux, Windows | [LGPLv2.1](https://github.com/drahnr/cargo-spellcheck/blob/master/LICENSE-LGPL) |
|
||||
| [**cargo-tarpaulin**](https://github.com/xd009642/tarpaulin) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/xd009642/tarpaulin/releases) | Linux, macOS, Windows | [MIT](https://github.com/xd009642/tarpaulin/blob/develop/LICENSE-MIT) OR [Apache-2.0](https://github.com/xd009642/tarpaulin/blob/develop/LICENSE-APACHE) |
|
||||
| [**cargo-udeps**](https://github.com/est31/cargo-udeps) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/est31/cargo-udeps/releases) | Linux, macOS, Windows | [Apache-2.0 OR MIT](https://github.com/est31/cargo-udeps/blob/HEAD/LICENSE) |
|
||||
| [**cargo-valgrind**](https://github.com/jfrimmel/cargo-valgrind) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/jfrimmel/cargo-valgrind/releases) | Linux, macOS, Windows | [MIT](https://github.com/jfrimmel/cargo-valgrind/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/jfrimmel/cargo-valgrind/blob/master/LICENSE-APACHE) |
|
||||
| [**cargo-zigbuild**](https://github.com/rust-cross/cargo-zigbuild) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rust-cross/cargo-zigbuild/releases) | Linux, macOS, Windows | [MIT](https://github.com/rust-cross/cargo-zigbuild/blob/main/LICENSE) |
|
||||
| [**coreutils**](https://github.com/uutils/coreutils) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/uutils/coreutils/releases) | Linux, macOS, Windows | [MIT](https://github.com/uutils/coreutils/blob/main/LICENSE) |
|
||||
| [**cross**](https://github.com/cross-rs/cross) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/cross-rs/cross/releases) | Linux, macOS, Windows | [MIT](https://github.com/cross-rs/cross/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/cross-rs/cross/blob/main/LICENSE-APACHE) |
|
||||
| [**cyclonedx**](https://github.com/CycloneDX/cyclonedx-cli) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/CycloneDX/cyclonedx-cli/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/CycloneDX/cyclonedx-cli/blob/main/LICENSE) |
|
||||
| [**deepsource**](https://github.com/DeepSourceCorp/cli) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/DeepSourceCorp/cli/releases) | Linux, macOS, Windows | [BSD-2-Clause](https://github.com/DeepSourceCorp/cli/blob/master/LICENSE) |
|
||||
| [**dprint**](https://github.com/dprint/dprint) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/dprint/dprint/releases) | Linux, macOS, Windows | [MIT](https://github.com/dprint/dprint/blob/main/LICENSE) |
|
||||
| [**earthly**](https://github.com/earthly/earthly) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/earthly/earthly/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/earthly/earthly/blob/main/LICENSE) |
|
||||
| [**editorconfig-checker**](https://github.com/editorconfig-checker/editorconfig-checker) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/editorconfig-checker/editorconfig-checker/releases) | Linux, macOS, Windows | [MIT](https://github.com/editorconfig-checker/editorconfig-checker/blob/main/LICENSE) |
|
||||
| [**espup**](https://github.com/esp-rs/espup) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/esp-rs/espup/releases) | Linux, macOS, Windows | [MIT](https://github.com/esp-rs/espup/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/esp-rs/espup/blob/main/LICENSE-APACHE) |
|
||||
| [**git-cliff**](https://github.com/orhun/git-cliff) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/orhun/git-cliff/releases) | Linux, macOS, Windows | [MIT](https://github.com/orhun/git-cliff/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/orhun/git-cliff/blob/main/LICENSE-APACHE) |
|
||||
| [**grcov**](https://github.com/mozilla/grcov) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/mozilla/grcov/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/mozilla/grcov/blob/HEAD/LICENSE-MPL-2.0) |
|
||||
| [**gungraun-runner**](https://gungraun.github.io/gungraun/) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/gungraun/gungraun/releases) | Linux | [Apache-2.0](https://github.com/gungraun/gungraun/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/gungraun/gungraun/blob/main/LICENSE-MIT) |
|
||||
| [**hyperfine**](https://github.com/sharkdp/hyperfine) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/sharkdp/hyperfine/releases) | Linux, macOS, Windows | [MIT](https://github.com/sharkdp/hyperfine/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/sharkdp/hyperfine/blob/master/LICENSE-APACHE) |
|
||||
| [**iai-callgrind-runner**](https://gungraun.github.io/gungraun/) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/iai-callgrind/iai-callgrind/releases) | Linux | [Apache-2.0](https://github.com/iai-callgrind/iai-callgrind/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/iai-callgrind/iai-callgrind/blob/main/LICENSE-MIT) |
|
||||
| [**jaq**](https://github.com/01mf02/jaq) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/01mf02/jaq/releases) | Linux, macOS, Windows | [MIT](https://github.com/01mf02/jaq/blob/main/LICENSE-MIT) |
|
||||
| [**just**](https://github.com/casey/just) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/casey/just/releases) | Linux, macOS, Windows | [CC0-1.0](https://github.com/casey/just/blob/master/LICENSE) |
|
||||
| [**knope**](https://github.com/knope-dev/knope) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/knope-dev/knope/releases) | Linux, macOS, Windows | [MIT](https://github.com/knope-dev/knope/blob/main/LICENSE) |
|
||||
| [**martin**](https://maplibre.org/martin/) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/maplibre/martin/releases) | Linux, macOS | [MIT](https://github.com/maplibre/martin/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/maplibre/martin/blob/main/LICENSE-APACHE) |
|
||||
| [**mdbook**](https://github.com/rust-lang/mdBook) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rust-lang/mdBook/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/rust-lang/mdBook/blob/master/LICENSE) |
|
||||
| [**mdbook-alerts**](https://github.com/lambdalisue/rs-mdbook-alerts) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/lambdalisue/rs-mdbook-alerts/releases) | Linux, macOS, Windows | [MIT](https://github.com/lambdalisue/rs-mdbook-alerts/blob/main/LICENSE) |
|
||||
| [**mdbook-linkcheck**](https://github.com/Michael-F-Bryan/mdbook-linkcheck) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/Michael-F-Bryan/mdbook-linkcheck/releases) | Linux, macOS, Windows | [MIT](https://github.com/Michael-F-Bryan/mdbook-linkcheck/blob/master/LICENSE) |
|
||||
| [**mdbook-mermaid**](https://github.com/badboy/mdbook-mermaid) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/badboy/mdbook-mermaid/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/badboy/mdbook-mermaid/blob/main/LICENSE) |
|
||||
| [**mdbook-mermaid-ssr**](https://github.com/CommanderStorm/mdbook-mermaid-ssr) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/CommanderStorm/mdbook-mermaid-ssr/releases) | Linux, macOS, Windows | [MPL-2.0](https://github.com/CommanderStorm/mdbook-mermaid-ssr/blob/main/LICENSE) |
|
||||
| [**mise**](https://github.com/jdx/mise) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/jdx/mise/releases) | Linux, macOS, Windows | [MIT](https://github.com/jdx/mise/blob/main/LICENSE) |
|
||||
| [**osv-scanner**](https://github.com/google/osv-scanner) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/google/osv-scanner/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/google/osv-scanner/blob/main/LICENSE) |
|
||||
| [**parse-changelog**](https://github.com/taiki-e/parse-changelog) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/parse-changelog/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/taiki-e/parse-changelog/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/taiki-e/parse-changelog/blob/main/LICENSE-MIT) |
|
||||
| [**parse-dockerfile**](https://github.com/taiki-e/parse-dockerfile) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/taiki-e/parse-dockerfile/releases) | Linux, macOS, Windows | [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) |
|
||||
| [**prek**](https://github.com/j178/prek) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/j178/prek/releases) | Linux, macOS, Windows | [MIT](https://github.com/j178/prek/blob/master/LICENSE) |
|
||||
| [**protoc**](https://github.com/protocolbuffers/protobuf) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/protocolbuffers/protobuf/releases) | Linux, macOS, Windows | [BSD-3-Clause](https://github.com/protocolbuffers/protobuf/blob/HEAD/LICENSE) |
|
||||
| [**rclone**](https://github.com/rclone/rclone) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/rclone/rclone/releases) | Linux, macOS, Windows | [MIT](https://github.com/rclone/rclone/blob/master/COPYING) |
|
||||
| [**release-plz**](https://release-plz.dev/) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/release-plz/release-plz/releases) | Linux, macOS, Windows | [MIT](https://github.com/release-plz/release-plz/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/release-plz/release-plz/blob/main/LICENSE-APACHE) |
|
||||
| [**sccache**](https://github.com/mozilla/sccache) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/mozilla/sccache/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/mozilla/sccache/blob/main/LICENSE) |
|
||||
| [**shellcheck**](https://www.shellcheck.net) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/koalaman/shellcheck/releases) | Linux, macOS, Windows | [GPL-3.0](https://github.com/koalaman/shellcheck/blob/master/LICENSE) |
|
||||
| [**shfmt**](https://github.com/mvdan/sh) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/mvdan/sh/releases) | Linux, macOS, Windows | [BSD-3-Clause](https://github.com/mvdan/sh/blob/master/LICENSE) |
|
||||
| [**syft**](https://github.com/anchore/syft) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/anchore/syft/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/anchore/syft/blob/main/LICENSE) |
|
||||
| [**taplo**](https://github.com/tamasfe/taplo) (alias: `taplo-cli`) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/tamasfe/taplo/releases) | Linux, macOS, Windows | [MIT](https://github.com/tamasfe/taplo/blob/master/LICENSE) |
|
||||
| [**tombi**](https://tombi-toml.github.io/tombi/) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/tombi-toml/tombi/releases) | Linux, macOS, Windows | [MIT](https://github.com/tombi-toml/tombi/blob/main/LICENSE) |
|
||||
| [**trivy**](https://github.com/aquasecurity/trivy) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/aquasecurity/trivy/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/aquasecurity/trivy/blob/main/LICENSE) |
|
||||
| [**trunk**](https://github.com/trunk-rs/trunk) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/trunk-rs/trunk/releases) | Linux, macOS, Windows | [MIT](https://github.com/trunk-rs/trunk/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/trunk-rs/trunk/blob/main/LICENSE-APACHE) |
|
||||
| [**typos**](https://github.com/crate-ci/typos) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/crate-ci/typos/releases) | Linux, macOS, Windows | [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) |
|
||||
| [**ubi**](https://github.com/houseabsolute/ubi) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/houseabsolute/ubi/releases) | Linux, macOS, Windows | [MIT](https://github.com/houseabsolute/ubi/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/houseabsolute/ubi/blob/master/LICENSE-APACHE) |
|
||||
| [**uv**](https://github.com/astral-sh/uv) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/astral-sh/uv/releases) | Linux, macOS, Windows | [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) |
|
||||
| [**vacuum**](https://github.com/daveshanley/vacuum) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/daveshanley/vacuum/releases) | Linux, macOS, Windows | [MIT](https://github.com/daveshanley/vacuum/blob/main/LICENSE) |
|
||||
| [**valgrind**](https://valgrind.org/) | `/snap/bin` | [snap](https://snapcraft.io/install/valgrind/ubuntu) | Linux | [GPL-2.0](https://sourceware.org/git/?p=valgrind.git;a=blob;f=COPYING;hb=HEAD) |
|
||||
| [**wait-for-them**](https://github.com/shenek/wait-for-them) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/shenek/wait-for-them/releases) | Linux, macOS, Windows | [GPL-3.0](https://github.com/shenek/wait-for-them/blob/v0.4.0/Cargo.toml#L7) |
|
||||
| [**wash**](https://github.com/wasmCloud/wasmCloud) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/wasmCloud/wasmCloud/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/wasmCloud/wasmCloud/blob/main/LICENSE) |
|
||||
| [**wasm-bindgen**](https://github.com/wasm-bindgen/wasm-bindgen) (alias: `wasm-bindgen-cli`) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/wasm-bindgen/wasm-bindgen/releases) | Linux, macOS, Windows | [MIT](https://github.com/wasm-bindgen/wasm-bindgen/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/wasm-bindgen/wasm-bindgen/blob/main/LICENSE-APACHE) |
|
||||
| [**wasm-pack**](https://github.com/drager/wasm-pack) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/drager/wasm-pack/releases) | Linux, macOS, Windows | [MIT](https://github.com/drager/wasm-pack/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/drager/wasm-pack/blob/master/LICENSE-APACHE) |
|
||||
| [**wasmtime**](https://github.com/bytecodealliance/wasmtime) (alias: `wasmtime-cli`) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/bytecodealliance/wasmtime/releases) | Linux, macOS, Windows | [Apache-2.0 WITH LLVM-exception](https://github.com/bytecodealliance/wasmtime/blob/main/LICENSE) |
|
||||
| [**xbuild**](https://github.com/rust-mobile/xbuild) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rust-mobile/xbuild/releases) | Linux, macOS, Windows | [Apache-2.0 OR MIT](https://github.com/rust-mobile/xbuild/blob/v0.2.0/xbuild/Cargo.toml#L7) |
|
||||
| [**xh**](https://github.com/ducaale/xh) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/ducaale/xh/releases) | Linux, macOS, Windows | [MIT](https://github.com/ducaale/xh/blob/master/LICENSE) |
|
||||
| [**zizmor**](https://github.com/zizmorcore/zizmor) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/zizmorcore/zizmor/releases) | Linux, macOS, Windows | [MIT](https://github.com/zizmorcore/zizmor/blob/main/LICENSE) |
|
||||
| [**zola**](https://github.com/getzola/zola) | `$HOME/.install-action/bin` | [GitHub Releases](https://github.com/getzola/zola/releases) | Linux, macOS, Windows | [MIT](https://github.com/getzola/zola/blob/master/LICENSE) |
|
||||
|
||||
[cargo-binstall]: https://github.com/cargo-bins/cargo-binstall
|
||||
-52
@@ -1,52 +0,0 @@
|
||||
name: Install development tools
|
||||
description: GitHub Action for installing development tools
|
||||
|
||||
inputs:
|
||||
tool:
|
||||
description: Tools to install (whitespace or comma separated list)
|
||||
required: true
|
||||
# default: #publish:tool
|
||||
checksum:
|
||||
description: Whether to enable checksums
|
||||
required: false
|
||||
default: 'true'
|
||||
fallback:
|
||||
description: Whether to use fallback (none, cargo-binstall, cargo-install)
|
||||
required: false
|
||||
default: 'cargo-binstall'
|
||||
|
||||
# Note:
|
||||
# - inputs.* should be manually mapped to INPUT_* due to https://github.com/actions/runner/issues/665
|
||||
# - Use GITHUB_*/RUNNER_* instead of github.*/runner.* due to https://github.com/actions/runner/issues/2185
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- run: |
|
||||
set -eu
|
||||
if ! command -v bash >/dev/null; then
|
||||
if grep -Eq '^ID=alpine' /etc/os-release; then
|
||||
printf '::group::Install packages required for install-action (bash)\n'
|
||||
# NB: sync with apk_install in main.sh
|
||||
if command -v sudo >/dev/null; then
|
||||
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
|
||||
printf '::endgroup::\n'
|
||||
else
|
||||
printf '::error::install-action requires bash\n'
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
shell: sh
|
||||
if: runner.os == 'Linux'
|
||||
- run: bash --noprofile --norc "${GITHUB_ACTION_PATH:?}/main.sh"
|
||||
shell: bash
|
||||
env:
|
||||
INPUT_TOOL: ${{ inputs.tool }}
|
||||
INPUT_CHECKSUM: ${{ inputs.checksum }}
|
||||
INPUT_FALLBACK: ${{ inputs.fallback }}
|
||||
DEFAULT_GITHUB_TOKEN: ${{ github.token }}
|
||||
ACTION_USER_AGENT: ${{ github.action_repository }} (${{ github.action_ref }})
|
||||
@@ -3,13 +3,127 @@
|
||||
"template": null,
|
||||
"license_markdown": "[Apache-2.0](https://github.com/biomejs/biome/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/biomejs/biome/blob/main/LICENSE-MIT)",
|
||||
"latest": {
|
||||
"version": "2.4.9"
|
||||
"version": "2.4.11"
|
||||
},
|
||||
"2": {
|
||||
"version": "2.4.9"
|
||||
"version": "2.4.11"
|
||||
},
|
||||
"2.4": {
|
||||
"version": "2.4.9"
|
||||
"version": "2.4.11"
|
||||
},
|
||||
"2.4.12": {
|
||||
"x86_64_linux_musl": {
|
||||
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.12/biome-linux-x64-musl",
|
||||
"etag": "0x8DE9A52C9C67EE4",
|
||||
"hash": "09acbdcd294e40e1f5c493e58f56f78cf2522c9d9b9f4609323c05689e8dc4bd",
|
||||
"bin": "biome"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.12/biome-darwin-x64",
|
||||
"etag": "0x8DE9A52C98D38A5",
|
||||
"hash": "2617d939c0076743cbc597d9e1531628a0346eb19e6916f9374cb6e8f203fe3b",
|
||||
"bin": "biome"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.12/biome-win32-x64.exe",
|
||||
"etag": "0x8DE9A52CA29DA1D",
|
||||
"hash": "bb4309a0c05caf7377fc071b770d503c5e052a45f8ddea3c9dca34890f202189",
|
||||
"bin": "biome.exe"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.12/biome-linux-arm64-musl",
|
||||
"etag": "0x8DE9A52C937FE5A",
|
||||
"hash": "8334e330fdc3eca2461928071704092b615831035108b1761386981262570f2c",
|
||||
"bin": "biome"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.12/biome-darwin-arm64",
|
||||
"etag": "0x8DE9A52C9684DEF",
|
||||
"hash": "ac5775441d77af4ef9f61827e6058b2ec21db469102c94ccd9d1c48d09d5c461",
|
||||
"bin": "biome"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.12/biome-win32-arm64.exe",
|
||||
"etag": "0x8DE9A52C96CB5D0",
|
||||
"hash": "df8552b36007c4339bda7d5328a5d41560f761fd24d53fffe31f58b171483b66",
|
||||
"bin": "biome.exe"
|
||||
}
|
||||
},
|
||||
"2.4.11": {
|
||||
"x86_64_linux_musl": {
|
||||
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.11/biome-linux-x64-musl",
|
||||
"etag": "0x8DE9656A2924E77",
|
||||
"hash": "f10d041ae17c8d4d659950941fec862dc342945ab3af811e3e90bd93770c08e6",
|
||||
"bin": "biome"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.11/biome-darwin-x64",
|
||||
"etag": "0x8DE9656A24F9CFE",
|
||||
"hash": "9069156955cfd53efc273cfcd4ece85a7af2ed715d20a8717a63bde3e05b5a40",
|
||||
"bin": "biome"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.11/biome-win32-x64.exe",
|
||||
"etag": "0x8DE9656A2C64373",
|
||||
"hash": "6c626fdf119215234cbe51455b07995eb67b24ada85819d9273a02b7c6770fbd",
|
||||
"bin": "biome.exe"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.11/biome-linux-arm64-musl",
|
||||
"etag": "0x8DE9656A253B713",
|
||||
"hash": "f58e2abd4fa737b90d1d9a4f2a3e87af1583df064b9ec14a10b34f4f34f61d88",
|
||||
"bin": "biome"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.11/biome-darwin-arm64",
|
||||
"etag": "0x8DE9656A22891CD",
|
||||
"hash": "9de8fa513c170b33933f397e4906eb4f8af21890aa5f36a36db22df3d9ed1978",
|
||||
"bin": "biome"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.11/biome-win32-arm64.exe",
|
||||
"etag": "0x8DE9656A280D5F1",
|
||||
"hash": "a0b928f3894dfaea97906974e30785948e44e9fbab8b3d86897fb7da55ab36a9",
|
||||
"bin": "biome.exe"
|
||||
}
|
||||
},
|
||||
"2.4.10": {
|
||||
"x86_64_linux_musl": {
|
||||
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.10/biome-linux-x64-musl",
|
||||
"etag": "0x8DE8E7705F6C243",
|
||||
"hash": "897a1eb7be2bcc6dfa596f4c786014f82fd60615c7a2726241eb0bafc228f82c",
|
||||
"bin": "biome"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.10/biome-darwin-x64",
|
||||
"etag": "0x8DE8E7705A3CF6D",
|
||||
"hash": "8269b5ef30bbc1fcf0cff5695bdc3733d417744ae638df70e7dabc3b82590fca",
|
||||
"bin": "biome"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.10/biome-win32-x64.exe",
|
||||
"etag": "0x8DE8E77063F8765",
|
||||
"hash": "a2bdc915914114c09a6f38ea092af2e450953bf3ace76bc143f2ab4d5a17b238",
|
||||
"bin": "biome.exe"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.10/biome-linux-arm64-musl",
|
||||
"etag": "0x8DE8E7705851F43",
|
||||
"hash": "dfabcbc165bd077464244fe2f73eceb7148219566a3ad94ddf7510e663675045",
|
||||
"bin": "biome"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.10/biome-darwin-arm64",
|
||||
"etag": "0x8DE8E7705839A5F",
|
||||
"hash": "c6782336dff872beec7d34e1b801c533bd296b5dcf2a30d3cf6335bca975e984",
|
||||
"bin": "biome"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"url": "https://github.com/biomejs/biome/releases/download/%40biomejs/biome%402.4.10/biome-win32-arm64.exe",
|
||||
"etag": "0x8DE8E77061B8612",
|
||||
"hash": "4285a020237cdb93e6c42cf8af12b3bb2614ecccaeec283dc89f4e092577a3b7",
|
||||
"bin": "biome.exe"
|
||||
}
|
||||
},
|
||||
"2.4.9": {
|
||||
"x86_64_linux_musl": {
|
||||
@@ -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.18.1"
|
||||
},
|
||||
"1.17.8": {
|
||||
"1.18.1": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE8715DB8A1417",
|
||||
"hash": "1da1ef72448db667cc4ae6d48e37451087602c8c07dc61782a4a5e538303e015"
|
||||
"etag": "0x8DE9959D5E8FE78",
|
||||
"hash": "cf2a4b54494ea8555d6349685e9a301efc1051d9fba6308c76914b2486f8700f"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE8715E03D9720",
|
||||
"hash": "db353e01b582c97382178db9b4dfe22d81109782e480a38f3db953e62f569952"
|
||||
"etag": "0x8DE9959DBCBBA2C",
|
||||
"hash": "e06370bec7143668653bb7c09d0b8b689fc703dd4fa58ec5847c4b571d8a490d"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE8715DEAA171B",
|
||||
"hash": "fef07560d4e391812091bb30c6ed1bd5289f74403a0c947b47b8a8c7a597b51b"
|
||||
"etag": "0x8DE9959D9E5BCF3",
|
||||
"hash": "89706aa5215c164d8d091597a470fee72308ac87e8553af395ea77db844a888c"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE8715E6784BD0",
|
||||
"hash": "81d6245bd1a7a89e914d29af81d82280540e94927e61492a0fc359820cd97abb"
|
||||
"etag": "0x8DE9959E60E685D",
|
||||
"hash": "c55962a0115f9716b709216de7f8bdd59d6ba8738779e60b051b4593f677717a"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE8715EBEC4A3F",
|
||||
"hash": "af87346fdb186f0a2333bc0a30cfddd6faa98b31145ef1bb19c284aedea65972"
|
||||
"etag": "0x8DE9959ED2C11A4",
|
||||
"hash": "955abf167994c90f3547e233edace4c0f794465dd4aa408249b38999aa5ca3cf"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE8715EA179DDA",
|
||||
"hash": "2270a5a7a8b3e85bd5fe32ac3fbd48cfd32d6f468a8c35499af8b65b806d271d"
|
||||
"etag": "0x8DE9959EAAC5732",
|
||||
"hash": "c6873e81457d9e44973a8e9a849795f2c83765fce0af8ad68b597b5b40dec418"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,10 +3,27 @@
|
||||
"template": null,
|
||||
"license_markdown": "[MIT](https://github.com/RalfJung/cargo-careful/blob/master/LICENSE-MIT) OR [Apache-2.0](https://github.com/RalfJung/cargo-careful/blob/master/LICENSE-APACHE)",
|
||||
"latest": {
|
||||
"version": "0.4.9"
|
||||
"version": "0.4.10"
|
||||
},
|
||||
"0.4": {
|
||||
"version": "0.4.9"
|
||||
"version": "0.4.10"
|
||||
},
|
||||
"0.4.10": {
|
||||
"x86_64_linux_musl": {
|
||||
"url": "https://github.com/RalfJung/cargo-careful/releases/download/v0.4.10/cargo-careful-x86_64-unknown-linux-musl",
|
||||
"etag": "0x8DE8FC4E147531F",
|
||||
"hash": "bd0937ba41dec5ba45ca7cb9c502060fbcf625d12f5cf8d0b0c47328b4d82ac4"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"url": "https://github.com/RalfJung/cargo-careful/releases/download/v0.4.10/cargo-careful-x86_64-apple-darwin",
|
||||
"etag": "0x8DE8FC4E136EADB",
|
||||
"hash": "5f39ae33320bc0fb101e1be2020a69c2e6368bc26ee6ef7207e89ae39b2cf351"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"url": "https://github.com/RalfJung/cargo-careful/releases/download/v0.4.10/cargo-careful-windows.exe",
|
||||
"etag": "0x8DE8FC4E141665F",
|
||||
"hash": "89e2e95a6347595d73326b9ed014a58fb397f5a3cf9887ee8b9d92c181e20828"
|
||||
}
|
||||
},
|
||||
"0.4.9": {
|
||||
"x86_64_linux_musl": {
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"rust_crate": "cargo-deb",
|
||||
"template": {
|
||||
"x86_64_linux_gnu": {
|
||||
"url": "https://github.com/kornelski/cargo-deb/releases/download/v${version}/cargo-deb_${version}-1_amd64.deb",
|
||||
"bin": "usr/bin/cargo-deb"
|
||||
}
|
||||
},
|
||||
"license_markdown": "[MIT](https://github.com/kornelski/cargo-deb/blob/main/LICENSE)",
|
||||
"latest": {
|
||||
"version": "3.6.3"
|
||||
},
|
||||
"3": {
|
||||
"version": "3.6.3"
|
||||
},
|
||||
"3.6": {
|
||||
"version": "3.6.3"
|
||||
},
|
||||
"3.6.3": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DE63F58EBB06E1",
|
||||
"hash": "e4b8c1a499a8f4e5b96d72f0d1ec9da8005ba379aee95aaeef83860991c831c3"
|
||||
}
|
||||
},
|
||||
"3.6.2": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DE0A5D04840934",
|
||||
"hash": "a0053e0089f0efb194013e9629087c247d1de6cb439b7381b4109e21153b991e"
|
||||
}
|
||||
},
|
||||
"3.6.1": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DDE4DDD98766C4",
|
||||
"hash": "c7c890cc90dae8c4f5f9ad0ff3d7675fec74fbb57ff89c4f27cfbbab34676e93"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -24,10 +24,54 @@
|
||||
},
|
||||
"license_markdown": "[MIT](https://github.com/EmbarkStudios/cargo-deny/blob/main/LICENSE-MIT) OR [Apache-2.0](https://github.com/EmbarkStudios/cargo-deny/blob/main/LICENSE-APACHE)",
|
||||
"latest": {
|
||||
"version": "0.19.0"
|
||||
"version": "0.19.1"
|
||||
},
|
||||
"0.19": {
|
||||
"version": "0.19.0"
|
||||
"version": "0.19.1"
|
||||
},
|
||||
"0.19.2": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE99FE8DE28F6D",
|
||||
"hash": "0c722daba6e38497a008c75f9232578481f0a1ad621d99865024a68204f18cc7"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE99FE88C77055",
|
||||
"hash": "b73dc84685920324f0092e2ade445be5d8d2581f409454241c38135b1a34ff68"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE99FECCC8BC39",
|
||||
"hash": "27d2584ad4edee4d481852a5b62748059863c9fb623d238a76c87b0c1cf4dca6"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE99FEAFD6114C",
|
||||
"hash": "8de0b4774ed6236a21dd5a4407bd98acf814073b58fbe4fb60a792e5bacac07b"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE99FE6BE18845",
|
||||
"hash": "35e715486a78c0583c05a8cfe136c54b7e4e20e43bf01d91d345f80dfd345076"
|
||||
}
|
||||
},
|
||||
"0.19.1": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE96F183A112FE",
|
||||
"hash": "baa0d618ce06bd1fb352115de47e31acba439c3e639b990dc43429c948364d70"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE96F1880BF6C5",
|
||||
"hash": "aaf5970ea5241cbf552fc14dea1e8cc788b25a6b3d77f2729692964d0f4142c8"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE96F1B5ECB7E2",
|
||||
"hash": "0b60886df60629e68511bc2445d249d3646390db47e78f60ea8094606f4b606a"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE96F18AF78F66",
|
||||
"hash": "8f09b71258750bc58c828e47bb73d75500a43feea3c07af923002ca4869c2be1"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE96F1661BFBFD",
|
||||
"hash": "d8a162b2595117101b6769ba678bd3396e5d3fcb49612f385d7a9f6acf1c30b4"
|
||||
}
|
||||
},
|
||||
"0.19.0": {
|
||||
"x86_64_linux_musl": {
|
||||
@@ -20,10 +20,67 @@
|
||||
},
|
||||
"license_markdown": "[Apache-2.0](https://github.com/mitsuhiko/insta/blob/master/LICENSE)",
|
||||
"latest": {
|
||||
"version": "1.46.3"
|
||||
"version": "1.47.2"
|
||||
},
|
||||
"1": {
|
||||
"version": "1.46.3"
|
||||
"version": "1.47.2"
|
||||
},
|
||||
"1.47": {
|
||||
"version": "1.47.2"
|
||||
},
|
||||
"1.47.2": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE8E9EE7357F8F",
|
||||
"hash": "1c2a2e82200b430f6fa27b6d0ba0059573eae2f32b0b8aa54446184ab7b46ee7"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE8E9EE6D41E0F",
|
||||
"hash": "62efa25c4e9f8182c16ae46f58bc3e9c8fdbe74aaf0409d3ed06909a70d128a5"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE8E9EE705F287",
|
||||
"hash": "2f2ffcdda5608f78de53509bdd6a5feba185dad9490b5aad951c35bf8c37fa9e"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE8E9EE6D1FDA1",
|
||||
"hash": "4876319b5201b875188351445b754db09f7674b506daa983634c95d6d44ca51e"
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"etag": "0x8DE8B9FBE3D26E2",
|
||||
"hash": "fcd8a57fb21e5446c12002c0f967e7630a9e4f317814427dbf35faff3797c1d9"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE8B9FBDBE4C61",
|
||||
"hash": "55db1160ab8db370d3a03491a291f04e52837b4bea13b2919068a10700b085b2"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE8B9FBDFA9C5D",
|
||||
"hash": "ecdab0fe43537a15ef6bd4628d91cddd3c26ddb3fd60f9c89d5d40904139649e"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE8B9FBDB8AD65",
|
||||
"hash": "579f62ab41187c8494ca8572b4d0db51e0c9b9275064758999b27fc900c9c60c"
|
||||
}
|
||||
},
|
||||
"1.46": {
|
||||
"version": "1.46.3"
|
||||
@@ -33,6 +33,41 @@
|
||||
"0.9": {
|
||||
"version": "0.9.132"
|
||||
},
|
||||
"0.9.133": {
|
||||
"previous_stable_version": "0.9.132",
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DE9A69A09A2C2E",
|
||||
"hash": "a9f992321e8759818400d93abb9477b4b11422d18d216e8d208505bd73454103"
|
||||
},
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE9A6A8E17A645",
|
||||
"hash": "c42e03975841e4de3d7b80de39683a57f916532f349c1783f736bd55a9388d90"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE9A6A301F6420",
|
||||
"hash": "6141b22cb71970aed9bd44bb21e31170755db94a469603760df327ebb219a109"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE9A6AD40CB8FE",
|
||||
"hash": "7a2ecd620bb377255b1de642b6587b73efb4dc6d35beaf13cabf52bdb7ca2ba9"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DE9A69FDAEB379",
|
||||
"hash": "8e4d241c78f9cbf5ca8597b13004f0441c18af484ea105b8f83b44a716c82d3d"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE9A69B4847E92",
|
||||
"hash": "27495080ed27032e3bf019a50d2d72b7d85fe48c6391cf24de80d5157771049f"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE9A6AD91613C1",
|
||||
"hash": "7a9b714bd5879db124e8d8a4e4e5959295345678456af61741a516d17f6e4a69"
|
||||
},
|
||||
"riscv64_linux_gnu": {
|
||||
"etag": "0x8DE9A69A1E2EE1A",
|
||||
"hash": "57146e41731792fd25efd9d8e20cd3854807bd7b73197deb7266920b3114ff09"
|
||||
}
|
||||
},
|
||||
"0.9.132": {
|
||||
"previous_stable_version": "0.9.131",
|
||||
"x86_64_linux_gnu": {
|
||||
+424
@@ -0,0 +1,424 @@
|
||||
{
|
||||
"rust_crate": "cargo-xwin",
|
||||
"template": {
|
||||
"x86_64_linux_musl": {
|
||||
"url": "https://github.com/rust-cross/cargo-xwin/releases/download/v${version}/cargo-xwin-v${version}.x86_64-unknown-linux-musl.tar.gz"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"url": "https://github.com/rust-cross/cargo-xwin/releases/download/v${version}/cargo-xwin-v${version}.universal2-apple-darwin.tar.gz"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"url": "https://github.com/rust-cross/cargo-xwin/releases/download/v${version}/cargo-xwin-v${version}.windows-x64.zip"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"url": "https://github.com/rust-cross/cargo-xwin/releases/download/v${version}/cargo-xwin-v${version}.aarch64-unknown-linux-musl.tar.gz"
|
||||
}
|
||||
},
|
||||
"license_markdown": "[MIT](https://github.com/rust-cross/cargo-xwin/blob/main/LICENSE)",
|
||||
"latest": {
|
||||
"version": "0.21.5"
|
||||
},
|
||||
"0.21": {
|
||||
"version": "0.21.5"
|
||||
},
|
||||
"0.21.5": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE996AB7D4D4DC",
|
||||
"hash": "42928296cfaaede33b85cc1b96c0db424070f32dfbd5c0a2abbd6d0d64f05334"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE996A9D6EC9D6",
|
||||
"hash": "68824cbab61a1f16b9648eb82637de2ecb4b1e7b590e10808b7f11fb60c5a5b0"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE996A6C11905B",
|
||||
"hash": "05664cc1dcebb2529a26c876957738abc7bf9e5bad53c8de82e0696bb68cacd5"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE996A75B99E58",
|
||||
"hash": "5af6421d4970a0c289d60f5cd79023cade9a83ba25a8495e8d401a45095ffcc1"
|
||||
}
|
||||
},
|
||||
"0.21.4": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE600B46A93E96",
|
||||
"hash": "fe3e4afd02c24f90da1333fc9a5896813d3daee3bd0e5c5d89a4800eb58b9687"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE600B4A82E719",
|
||||
"hash": "ddaeb84691027edd7b5012f617ac59d5dedf8b2d3472798c1e4521808cf1be78"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE600B35C26780",
|
||||
"hash": "6136ba7c320265a8ee6c663fad9c84bbe55185d9f6bccec8f61ae7f5798400e8"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE600AF0A1F960",
|
||||
"hash": "c5f125e9da3ac89ec1e2fa6888afedff2b75b8c025c381150c3676817762f7cf"
|
||||
}
|
||||
},
|
||||
"0.21.3": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE5DA9F883D575",
|
||||
"hash": "cc4c322d4dfd5480bb4e39efa80fc51b08a65af5105d2d4f6607e9dc58ae72e2"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE5DAADCC5C6A6",
|
||||
"hash": "6e96509d70fe79224d79505e9e9467137a3f299acc57ecaafa8c701af855b537"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE5DAA849F88C7",
|
||||
"hash": "53284aec3e9a012712123b9c155145891dcd457aad63408b5557d82281cc172e"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE5DAA3406E74D",
|
||||
"hash": "885554586b7976de6d497be4230a22e8905d6d975b6275650a81461ee6b2fd41"
|
||||
}
|
||||
},
|
||||
"0.21.2": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE556CBE19F2B9",
|
||||
"hash": "b4f6305c9e9277a017caf229be21ee3a9eabafb569e48fb94bd19462374d5a0d"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE556CF3C7F023",
|
||||
"hash": "e5668a9c89f631485a56f259671a102501854e049f48dc554d47d65ad0d64d81"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE556C77269749",
|
||||
"hash": "e4397af02b47c11fd2dd4ef6837350c9aa85fd1ec2707cbc616f9938f48b0c1b"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE556CC89C2946",
|
||||
"hash": "551e0fb484ebdb2528cda57982e2862ed6dc401fa94b03e6a448dc784b4a70bc"
|
||||
}
|
||||
},
|
||||
"0.21.1": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE556BA913B810",
|
||||
"hash": "a2854076543226e3fe7cd13b8fe3944a86aa1ec786bca2a17050fd5f10679f9e"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE556B9DEE31AE",
|
||||
"hash": "fd7fc2dbc3a25d29855a16c0229e2faf8b7813e3583803664219a1976a8149fe"
|
||||
}
|
||||
},
|
||||
"0.21.0": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE556A00F6F0D7",
|
||||
"hash": "3a6cf133224c7892f3ce9a759def219a9da9b91828a1ff4c014b050f612dab40"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE556A52036390",
|
||||
"hash": "804cb91204ca021916de2dc74861ec977656b850ac1cc1dd8c1c465eb15e9d21"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE556A42974548",
|
||||
"hash": "d7116616379104c0a152c570750e54a62621062f64aedc82ff8dc849b87e879a"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE5569FDEE043A",
|
||||
"hash": "b4deede6f6ab774cd508e8892eb68926542e4cd19d9329a79dbb084921fecc17"
|
||||
}
|
||||
},
|
||||
"0.20": {
|
||||
"version": "0.20.2"
|
||||
},
|
||||
"0.20.2": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE1B943AB4AF33",
|
||||
"hash": "81eb698b63fc196ad0601167dbc4bd191fdf7543b48ff1ab6cded6eb354f92bd"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE1B942F56F595",
|
||||
"hash": "94c9249218c0c8595d265ec0ba3780954f1ff7799fd3ab2c773669ced39ad514"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE1B93D8EF8707",
|
||||
"hash": "02ce726fc1a89054e86eaae28315715f41e920ac8b24ae9da2c733ca5b6bae71"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE1B941A8C4951",
|
||||
"hash": "71420b6949774eb75fc89704191b5e858146645083ef7ffba11cd008030a9a0f"
|
||||
}
|
||||
},
|
||||
"0.20.1": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE0A454A67227E",
|
||||
"hash": "779286435b8cfe24069ce7d21c7953d8cc1b297110b2cfc645234b511ad150f2"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE0A45AF373CB0",
|
||||
"hash": "7e2ef1b2eae202957babc595d7bc2be1f09fe8757e27ce8f3ecffac14936783a"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE0A452EB50C40",
|
||||
"hash": "51545a33e45c7b4c26feb6fae9eeb35ab9d936bbe4ee1c15bbb6e1a06c99a91e"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE0A456EFDE36A",
|
||||
"hash": "b7dc2239f051675e96240b1b617b2a3bcc94b58d20ee3dde329f272a8c876dfa"
|
||||
}
|
||||
},
|
||||
"0.20.0": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE072F952C41EB",
|
||||
"hash": "083fdc00067f69eed2ddd2b40b37436b55d417104101b4f618157c35e4125d49"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE072FC97A9F36",
|
||||
"hash": "025ac0e6b5e5d8f7a5364e97bbe23a49297437aa4063c4cef608b5689b547293"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE072FE1FFF088",
|
||||
"hash": "6f450cf62ec8e1dece73eea487174d83311762122a1a8196f5b229a5fb109904"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE072F974E68F2",
|
||||
"hash": "4b35a5e69347fa29b8b051a4ece87cb74129d2bbdfcecaf35f18f6025d9cb0ce"
|
||||
}
|
||||
},
|
||||
"0.19": {
|
||||
"version": "0.19.2"
|
||||
},
|
||||
"0.19.2": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DDD4FA6C5995C9",
|
||||
"hash": "89af8a9cef823e01c0d2f612ade731b4b638b0d199dc1dc09957017ff53a39cb"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DDD4FA0504038C",
|
||||
"hash": "65522dbb52ddc0c59d19c594c3993a1daa4345d8b526b938f7b2da3d65dde31e"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DDD4FA6D526ECB",
|
||||
"hash": "860473eb378e6c146bcaef7ed84deff4b465602a9300cf39442c2f9bb1f35152"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DDD4FA5CCE5810",
|
||||
"hash": "5986e73691f67a8d97921ff0e4add4bd3c2c758867f0049e07d4468cd4f5e439"
|
||||
}
|
||||
},
|
||||
"0.19.1": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DDBDE32F5348B4",
|
||||
"hash": "baa5b908620ce60636a07b5cd54948f4466d6b1f4372bb17e371fa58bdfd7f95"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DDBDE30AD344DB",
|
||||
"hash": "67b2c2d4ffd1cbe926b805b8766346b2521250650eae5b93fc397efdbe69f322"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DDBDE37F279D0D",
|
||||
"hash": "e1e4bc3b9b52c026491a291125a7408bb74f2dd898d491b791b7a84a6753b4bd"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DDBDE2DF764B7D",
|
||||
"hash": "85569f88ad728ae417c61350aadd4b71cc956d38f8f3eca1717cf98371d16642"
|
||||
}
|
||||
},
|
||||
"0.19.0": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DDB266A6D4BD7C",
|
||||
"hash": "f5bc724b6fd5af8c294b2cc9890e0600a7de47137cd84f2f0835fd3ebc885581"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DDB266C4F4C65B",
|
||||
"hash": "1c7f4f7a161e207b7173b2b569d198f64927ba2bffaa61812b7447aa3ab59bd4"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DDB266F0C1CB68",
|
||||
"hash": "ca1253ce4d4d287e8a03690fc644f986aef5bbdd6ed08f1438ac443c461b5d77"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DDB266AFDC5848",
|
||||
"hash": "b40cf06a0f84221b5a722a9490c2b95a37bb562a8a1c24375107f459894f6249"
|
||||
}
|
||||
},
|
||||
"0.18": {
|
||||
"version": "0.18.6"
|
||||
},
|
||||
"0.18.6": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DDA7E03CFB71A8",
|
||||
"hash": "5bf295561ae2fdb9aaba1a4d7b10acff125d657f0d356f20f46db788b05910d8"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DDA75324488DFA",
|
||||
"hash": "aa6cb652d108e87175b43be8941f2ac944498310cd8525be40de03a2707f1e77"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DDA7532EA841D5",
|
||||
"hash": "1e9cc537f098a32909242829d36c462c3e09c7f0238c80da375a8c511e071a06"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DDA7E034FF1090",
|
||||
"hash": "ffa3d74b644883988ee41597284925c97aad183dd77f5f29db64bb6d331f29f6"
|
||||
}
|
||||
},
|
||||
"0.18.5": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DDA1E6413EA875",
|
||||
"hash": "97470b43878dd14f3c9c08b5f3eb5fbd8b3111e36597ae62bbb50b636b36fc52"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DDA1E64A45AE82",
|
||||
"hash": "479013ccd59d69c3aa4b83a8f02da454b1c092f580d16757eb753194d145ae17"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DDA1E6B46DF128",
|
||||
"hash": "2deb364f2d894ea5b50a2e0f26e96410d7f12701e1ad3286108905e2b9b8ecdc"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DDA1E661868FDE",
|
||||
"hash": "58151eac78e2bafc9600dadc2b77607bfc1f61b95efba8707824bff455aa9824"
|
||||
}
|
||||
},
|
||||
"0.18.4": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DD33C5EAB5DD19",
|
||||
"hash": "35d05e10b12e0f8d56bf25a4bb77700c1369e7d8db63e82a09c2dcf536c6ed71"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD33C612B24250",
|
||||
"hash": "40ddf40369453bfbd39cdecf0e90d81718f28e7cfd64327e6d0ba963b0b2f33c"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD33C672C4572E",
|
||||
"hash": "55600c9a0d3d85bd86afd5bd5fd5d93e18d96b7b9c9f966fd7a45337bacf5d17"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DD33C5EA9BBBDC",
|
||||
"hash": "a68290b2b2cdc4a3bc368e5e8fe25a62bf9f4a4fa53290fc8779a73d7b7b881f"
|
||||
}
|
||||
},
|
||||
"0.18.3": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DD242CB4BFE521",
|
||||
"hash": "44136f6357c030d0f5f3f597e5a2a53e5aa8ada45ac78fffb33ab8761bbc91d5"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD242CABFC2F64",
|
||||
"hash": "d22a3d5536dd6dea65600b3cdc006304c7416e1f930b2afd336ec5936a320f5d"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD242CE656CE47",
|
||||
"hash": "3d0ab25517a8dcc6b0390197bdbe7ac945892a153d4f67ddd517f379cd1db86d"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DD242C8D2C07DB",
|
||||
"hash": "8bde55860b086ec502f858d988db2ca0651219cf1388ac0157fdaf325f254785"
|
||||
}
|
||||
},
|
||||
"0.18.2": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DD2340A85DD30C",
|
||||
"hash": "2f3a954422c2f7295a64e9c7e8bfbd0c7ea160e87a0920e59e5fc8dd5bb1de4b"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD2340D8DD8135",
|
||||
"hash": "32629286ef6e16083cf89a61e027084f2f463aa5e0dc230de720dd5699f96b4d"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD2341097D16D7",
|
||||
"hash": "35c2248edf1a48b9c1c1923de05f99ce578ce7df80615caee77a3cc7194f9e28"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DD2340AA0A1674",
|
||||
"hash": "6d21c208b33694303213c5b91e6d516f2bd2fc67bd027d210e2d72eef7b7f0d5"
|
||||
}
|
||||
},
|
||||
"0.18.1": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DD228CA218670D",
|
||||
"hash": "24f5d63d18ab73dcb464c206fab27a60081755416d294b0f728f9dd8db2ae8fe"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD228CAA0EB75B",
|
||||
"hash": "2271128452ef93e42f8506d086b4e86e9963b61cae727e09eb3f05174dfe43b2"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD228CD42423C6",
|
||||
"hash": "34b78fe4abbc4723c631f987d5d1188db2498ea6dbb1b9dcdc7ce4f72ea451fe"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DD228C99F2FE57",
|
||||
"hash": "01bfbbd8f69ef64fcffac87e674c027dbdcceb5243535a31dfc97b9e94d58faa"
|
||||
}
|
||||
},
|
||||
"0.18.0": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DD21AF3AB5C8AF",
|
||||
"hash": "c5f23cc01d0c091c67153e93ee34d92160443166ce74595d8fdbf802b5ec09cc"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD21AF54F99F2B",
|
||||
"hash": "af9d29b44da4a8790f5cb424f73bf3dd1c4b611798f3c6789f230b5cf3b45347"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD21AF80BD488B",
|
||||
"hash": "dc82808c5c951009f1e67fe88bace45f0e35eb8c038282c1887f080db5b10704"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DD21AF349141F0",
|
||||
"hash": "91457ab107212193b0638b5da234bbd18d8898e4ac901a0f32f5e3b1e4e7fa38"
|
||||
}
|
||||
},
|
||||
"0.17": {
|
||||
"version": "0.17.6"
|
||||
},
|
||||
"0.17.6": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DD1E925AB4F528",
|
||||
"hash": "d391b26b356bac0f642f4e94abbfb8c94d86735951ec25f8404f152468331133"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD1E9266DF9B94",
|
||||
"hash": "50d1f80fd5b364f756dd93670f70f2b967d97839e618e6c000cbfa509bceb059"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD1E929A149415",
|
||||
"hash": "ba6cf8ea22e0721737ccfd6dbda6d90543eabf45947a480d995334832f7719d1"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DD1E925A93AFF2",
|
||||
"hash": "c0da934baa028356ed20f57f3d10cfad33781dd457a1960e9f8b3e8f039a2e56"
|
||||
}
|
||||
},
|
||||
"0.17.5": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DD1214BD639CD2",
|
||||
"hash": "4f179d3f543dfe6569fb00fa6655bf1939f782c50df83b7d9704b58ef84a4a81"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD1214C233ADC7",
|
||||
"hash": "a61d590cbddca4ab898f1f1742428ce125a8e795fb8034ad76a307e7830da612"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD121501CF2759",
|
||||
"hash": "5f0e3c1fb9ca39cc157f8f10aeb8af49980863f5f5ae140bdfbb68a2582356ac"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DD1214C0F1E9E2",
|
||||
"hash": "cb90d3e070187677c8d71aa17a1d4fd795cb39a2283bbbb71be9ae2d7f04570f"
|
||||
}
|
||||
},
|
||||
"0.17.4": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DD10EA9265F332",
|
||||
"hash": "029bc3e5b4fc1b845dc65bb494813462ec24733ec9fee6b05b2bdfecb3d6d981"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD10EC876C59B6",
|
||||
"hash": "b5a423b7d0fdc946af9ce51424c1b60d71082a0cd4cd01e3a14b7a601fe8d5df"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD10EAE5D42438",
|
||||
"hash": "e88603cb77e5491730bafab5287d8f1465abd2cce731b062cd76d22d70734ac2"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DD10EA59E6D198",
|
||||
"hash": "86ac0e9a4f2697259f21fccc291ce121bfc6a39b7d264c58a781bcf89731c79e"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,50 @@
|
||||
"latest": {
|
||||
"version": "0.6.0"
|
||||
},
|
||||
"0.8.0": {
|
||||
"x86_64_linux_musl": {
|
||||
"url": "https://github.com/uutils/coreutils/releases/download/0.8.0/coreutils-0.8.0-x86_64-unknown-linux-musl.tar.gz",
|
||||
"etag": "0x8DE941D3DECEE20",
|
||||
"hash": "b8977997a49b677169f7ce65bfc2ad658d4943c4f02f0493b1a802137202b0bf",
|
||||
"bin": "coreutils-0.8.0-x86_64-unknown-linux-musl/coreutils"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"url": "https://github.com/uutils/coreutils/releases/download/0.8.0/coreutils-0.8.0-x86_64-apple-darwin.tar.gz",
|
||||
"etag": "0x8DE941DCF25AA9A",
|
||||
"hash": "8ac6299b298eb3ba995973b42aece162578e19f9243425a5945d9c4bd8135b0a",
|
||||
"bin": "coreutils-0.8.0-x86_64-apple-darwin/coreutils"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"url": "https://github.com/uutils/coreutils/releases/download/0.8.0/coreutils-0.8.0-x86_64-pc-windows-msvc.zip",
|
||||
"etag": "0x8DE941D6E03C003",
|
||||
"hash": "db464cf2a6ecbfd42c85f46ed2d749be574df4df47feca1f08988fd760f324f3",
|
||||
"bin": "coreutils-0.8.0-x86_64-pc-windows-msvc/coreutils.exe"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"url": "https://github.com/uutils/coreutils/releases/download/0.8.0/coreutils-0.8.0-aarch64-unknown-linux-musl.tar.gz",
|
||||
"etag": "0x8DE941C4BA7DC07",
|
||||
"hash": "e592200ef784deecc5ac2328b0617422c89f62b9bb841eb114528ed938ccb725",
|
||||
"bin": "coreutils-0.8.0-aarch64-unknown-linux-musl/coreutils"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"url": "https://github.com/uutils/coreutils/releases/download/0.8.0/coreutils-0.8.0-aarch64-apple-darwin.tar.gz",
|
||||
"etag": "0x8DE941D614F7398",
|
||||
"hash": "add95b420f9f1b69a0a7cb7b2672648fc72cf1294384344791e8e064bdc5e8c2",
|
||||
"bin": "coreutils-0.8.0-aarch64-apple-darwin/coreutils"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"url": "https://github.com/uutils/coreutils/releases/download/0.8.0/coreutils-0.8.0-aarch64-pc-windows-msvc.zip",
|
||||
"etag": "0x8DE941BAE10C59A",
|
||||
"hash": "1dfa62f18b64c70b664936b06fb1be20f0f6afa9ff041dd95dda629e987435a9",
|
||||
"bin": "coreutils-0.8.0-aarch64-pc-windows-msvc/coreutils.exe"
|
||||
},
|
||||
"riscv64_linux_musl": {
|
||||
"url": "https://github.com/uutils/coreutils/releases/download/0.8.0/coreutils-0.8.0-riscv64gc-unknown-linux-musl.tar.gz",
|
||||
"etag": "0x8DE941BF13F7832",
|
||||
"hash": "6e6c8823d7319f0d83a932515e248df0eb531e07f3a9193aaf05fdfb9dd63698",
|
||||
"bin": "coreutils-0.8.0-riscv64gc-unknown-linux-musl/coreutils"
|
||||
}
|
||||
},
|
||||
"0.7.0": {
|
||||
"x86_64_linux_musl": {
|
||||
"url": "https://github.com/uutils/coreutils/releases/download/0.7.0/coreutils-0.7.0-x86_64-unknown-linux-musl.tar.gz",
|
||||
+243
@@ -0,0 +1,243 @@
|
||||
{
|
||||
"rust_crate": null,
|
||||
"template": {
|
||||
"x86_64_linux_musl": {
|
||||
"url": "https://github.com/sigstore/cosign/releases/download/v${version}/cosign-linux-amd64"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"url": "https://github.com/sigstore/cosign/releases/download/v${version}/cosign-darwin-amd64"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"url": "https://github.com/sigstore/cosign/releases/download/v${version}/cosign-windows-amd64.exe"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"url": "https://github.com/sigstore/cosign/releases/download/v${version}/cosign-linux-arm64"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"url": "https://github.com/sigstore/cosign/releases/download/v${version}/cosign-darwin-arm64"
|
||||
},
|
||||
"powerpc64le_linux_musl": {
|
||||
"url": "https://github.com/sigstore/cosign/releases/download/v${version}/cosign-linux-ppc64le"
|
||||
},
|
||||
"riscv64_linux_musl": {
|
||||
"url": "https://github.com/sigstore/cosign/releases/download/v${version}/cosign-linux-riscv64"
|
||||
},
|
||||
"s390x_linux_musl": {
|
||||
"url": "https://github.com/sigstore/cosign/releases/download/v${version}/cosign-linux-s390x"
|
||||
}
|
||||
},
|
||||
"license_markdown": "[Apache-2.0](https://github.com/sigstore/cosign/blob/main/LICENSE)",
|
||||
"latest": {
|
||||
"version": "3.0.6"
|
||||
},
|
||||
"3": {
|
||||
"version": "3.0.6"
|
||||
},
|
||||
"3.0": {
|
||||
"version": "3.0.6"
|
||||
},
|
||||
"3.0.6": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE9427E4F4F66D",
|
||||
"hash": "c956e5dfcac53d52bcf058360d579472f0c1d2d9b69f55209e256fe7783f4c74"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE942809604B8D",
|
||||
"hash": "4c3e7af8372d3ca3296e62fa56f23fcbb5721cc6ac1827900d398f110d7cd280"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE9427FF1A8F49",
|
||||
"hash": "9b85a88ebff2d9dd30ff4984a6f61f2cedc232dd87d81fa7f2ff3c0ed96c241c"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE94280251A997",
|
||||
"hash": "bedac92e8c3729864e13d4a17048007cfafa79d5deca993a43a90ffe018ef2b8"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE9427F9B353E4",
|
||||
"hash": "5fadd012ae6381a6a29ff86a7d39aa873878852f1073fc90b15995961ecfb084"
|
||||
},
|
||||
"powerpc64le_linux_musl": {
|
||||
"etag": "0x8DE9427F2F77DC2",
|
||||
"hash": "08c3e5e0a09c440f49e9a69d8639d37fbec522ec8c5c0ac805243b098e6ea512"
|
||||
},
|
||||
"riscv64_linux_musl": {
|
||||
"etag": "0x8DE9427F6775D14",
|
||||
"hash": "e25952e798958b0f9168d044153ccc353f5469ca4b71a1707dffad0534d27017"
|
||||
},
|
||||
"s390x_linux_musl": {
|
||||
"etag": "0x8DE9427EF733685",
|
||||
"hash": "3cf4b769258ed9cc3c2a93268c0d5c1cc3fbd094af8df21035cbac8fb0d7c088"
|
||||
}
|
||||
},
|
||||
"3.0.5": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE6FF25F78B056",
|
||||
"hash": "db15cc99e6e4837daabab023742aaddc3841ce57f193d11b7c3e06c8003642b2"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE6FF25A90279D",
|
||||
"hash": "e032c44d3f7c247bbb2966b41239f88ffba002497a4516358d327ad5693c386f"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE6FF2745A020C",
|
||||
"hash": "44e9e44202b67ddfaaf5ea1234f5a265417960c4ae98c5b57c35bc40ba9dd714"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE6FF265833D25",
|
||||
"hash": "d098f3168ae4b3aa70b4ca78947329b953272b487727d1722cb3cb098a1a20ab"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE6FF25CFDD02F",
|
||||
"hash": "4888c898e2901521a6bd4cf4f0383c9465588a6a46ecd2465ad34faf13f09eb7"
|
||||
},
|
||||
"powerpc64le_linux_musl": {
|
||||
"etag": "0x8DE6FF26DA417A7",
|
||||
"hash": "ccd07709a25fd549dc3987eb378c4fecc1d7b851c904a59528cae8144f725c36"
|
||||
},
|
||||
"riscv64_linux_musl": {
|
||||
"etag": "0x8DE6FF27042D22A",
|
||||
"hash": "9d108e72249dacb6ef5685320f34efcd0d85b842df90552b8fd7903a39a11c98"
|
||||
},
|
||||
"s390x_linux_musl": {
|
||||
"etag": "0x8DE6FF26AFDC493",
|
||||
"hash": "45ebd52e4cb3c1c5dc0661f76728fa9ee7a510ae211b0cde3c43e4d8bebade86"
|
||||
}
|
||||
},
|
||||
"3.0.4": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE4FCA2BF218E5",
|
||||
"hash": "10dab2fd2170b5aa0d5c0673a9a2793304960220b314f6a873bf39c2f08287aa"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE4FCA39840E0E",
|
||||
"hash": "4dbafca16d29be06a6a740d517a9f63de67c78be3a64d048e42520401d88facc"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE4FCA28D7404D",
|
||||
"hash": "a3a0dc4e8c745f9bd855ec18db346538b78ab2c4d6d510ae4186bb4a03f35438"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE4FCA1C26496E",
|
||||
"hash": "c12fc6150195758ec0b1aeb1aade3381a1d3a299584982b66543f22bab04535b"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE4FCA3CB7AA05",
|
||||
"hash": "7098c46809c0818d970e63f7acd10f44c6919d3b4a261a63972a60694a9c9f66"
|
||||
},
|
||||
"powerpc64le_linux_musl": {
|
||||
"etag": "0x8DE4FCA2210A074",
|
||||
"hash": "784dc5461a588dd8611e7969a4c988620f08bcb7f173beb77321b7acfc9a2b5f"
|
||||
},
|
||||
"riscv64_linux_musl": {
|
||||
"etag": "0x8DE4FCA250DB25B",
|
||||
"hash": "9ec0c4ec477aaed0dbf6d3a294405441b2cc93fff0d23482eba5c2e84af5aba4"
|
||||
},
|
||||
"s390x_linux_musl": {
|
||||
"etag": "0x8DE4FCA35FC9609",
|
||||
"hash": "0516fe2ea7d3c039cb6ed99aefbd86b69d661ff35956484c16fb480c29f3897d"
|
||||
}
|
||||
},
|
||||
"3.0.3": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE378193840B57",
|
||||
"hash": "052363a0e23e2e7ed53641351b8b420918e7e08f9c1d8a42a3dd3877a78a2e10"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE378184E3D243",
|
||||
"hash": "6c75981e85e081a73f0b4087f58e0ad5fd4712c71b37fa0b6ad774c1f965bafa"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE37818A249E3E",
|
||||
"hash": "2593655025b52b5b1c99e43464459b645a3acbe5d4a5a9f3a766e77beec5a441"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE37819892DC0D",
|
||||
"hash": "81398231362031e3c7afd6a7508c57049460cd7e02736f1ebe89a452102253e5"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE378186BF54D2",
|
||||
"hash": "38349e45a8bb0d1ed3a7affb8bdd2e9d597cee08b6800c395a926b4d9adb84d2"
|
||||
},
|
||||
"powerpc64le_linux_musl": {
|
||||
"etag": "0x8DE37819135D5B6",
|
||||
"hash": "6af9ed378d289ffd1bce9b6de02a47a25f9bf32d01a2f6b0f43f0fbb544f14c6"
|
||||
},
|
||||
"riscv64_linux_musl": {
|
||||
"etag": "0x8DE3781829B3B92",
|
||||
"hash": "86bbb2c0da0a80107fbe6d500da4148c3f84fa2595f76db68d4499664da2b90d"
|
||||
},
|
||||
"s390x_linux_musl": {
|
||||
"etag": "0x8DE37818ED171E1",
|
||||
"hash": "e8cda1bb6b6719e46fe72a89789852971a228d364063cc961d065c3cd4e3db4b"
|
||||
}
|
||||
},
|
||||
"3.0.2": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE082BF53266ED",
|
||||
"hash": "46dbdcb5467a3dfec2526923d0b3365e40c8d9dc00ec23d5aca3437449e8cbfd"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE082BF2D094CE",
|
||||
"hash": "0fc2b6f16b900abdfda3153b11fc435a8cbe3830e8e820fe8ad5fe4149a5b472"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE082C03974CE8",
|
||||
"hash": "7a137280d8686665ceb4d8565df2a0ac63f28031e014cdcae5d56891a6c8a400"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE082C0648458F",
|
||||
"hash": "17fd784737ca54d7d8a343c82da6c5d6dbdee971e66644d923d1b057fb97d7ed"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE082C0064BD15",
|
||||
"hash": "3823b044de184da21e300bc5e20dd29d3fa9243af3ba70c4a5da1712f3385d46"
|
||||
},
|
||||
"powerpc64le_linux_musl": {
|
||||
"etag": "0x8DE082C0B62CF31",
|
||||
"hash": "650aefe9d2bf0ee5282e8e40a7fc93ef6d66ef718a83ac3c3ec06b22b797ff00"
|
||||
},
|
||||
"riscv64_linux_musl": {
|
||||
"etag": "0x8DE082C0E28E598",
|
||||
"hash": "0ffd9125ada732d3d3f0f1702fefd8031c04383d070cda895c5df2dfaca6e7b8"
|
||||
},
|
||||
"s390x_linux_musl": {
|
||||
"etag": "0x8DE082BFDC4C845",
|
||||
"hash": "f45331cfa5dfb6f908a5ed4f20f6fda4f31716028d6f0dcff9c775f006d486df"
|
||||
}
|
||||
},
|
||||
"3.0.1": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE05F22B41933C",
|
||||
"hash": "23c9ff889672f03676b673539de07d5ad4e8efc8247a3ad55c9bc00169aa2305"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE05F23E3EC0F5",
|
||||
"hash": "260c174b80d6401a7d2703109eb32f6a0bdbddd2ac91d3268dc96a51238d96ab"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE05F21CA08FF9",
|
||||
"hash": "21843dbb2e910097531ca23e9f87d0ca2ae9a412e056009eae670b090418e8ed"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE05F232E5B6D9",
|
||||
"hash": "8f5bb6899118d521d7b12252f06d5808fba4e6cb0a23ff120ed6c14d7c87863a"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE05F2419FF210",
|
||||
"hash": "dad2a161d91fba199d1ebae7e5652a4c2dd412cbb1ab6b4cc8ad6a15378319fe"
|
||||
},
|
||||
"powerpc64le_linux_musl": {
|
||||
"etag": "0x8DE05F2278FB689",
|
||||
"hash": "82ed1e2c4b37927fc39c488dd1871f2a51ea40140a8c7911ed90026b8d8bf2cd"
|
||||
},
|
||||
"riscv64_linux_musl": {
|
||||
"etag": "0x8DE05F23A221742",
|
||||
"hash": "07b7ce941bf9918bf245153bf029d53873f4f0b1bc5e8f9141876b3523c1de0b"
|
||||
},
|
||||
"s390x_linux_musl": {
|
||||
"etag": "0x8DE05F22438B32A",
|
||||
"hash": "6e30ae5e33014197a888b9492728e49aaf72343e31e26da8f7b3720518e8f6df"
|
||||
}
|
||||
}
|
||||
}
|
||||
+118
@@ -0,0 +1,118 @@
|
||||
{
|
||||
"rust_crate": "covgate",
|
||||
"template": {
|
||||
"x86_64_linux_musl": {
|
||||
"url": "https://github.com/jesse-black/covgate/releases/download/v${version}/covgate-v${version}-x86_64-unknown-linux-musl.tar.gz",
|
||||
"bin": "covgate-v${version}-x86_64-unknown-linux-musl/covgate"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"url": "https://github.com/jesse-black/covgate/releases/download/v${version}/covgate-v${version}-x86_64-pc-windows-msvc.zip",
|
||||
"bin": "covgate-v${version}-x86_64-pc-windows-msvc/covgate.exe"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"url": "https://github.com/jesse-black/covgate/releases/download/v${version}/covgate-v${version}-aarch64-unknown-linux-musl.tar.gz",
|
||||
"bin": "covgate-v${version}-aarch64-unknown-linux-musl/covgate"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"url": "https://github.com/jesse-black/covgate/releases/download/v${version}/covgate-v${version}-aarch64-apple-darwin.tar.gz",
|
||||
"bin": "covgate-v${version}-aarch64-apple-darwin/covgate"
|
||||
}
|
||||
},
|
||||
"license_markdown": "[Apache-2.0](https://github.com/jesse-black/covgate/blob/main/LICENSE)",
|
||||
"latest": {
|
||||
"version": "0.1.4"
|
||||
},
|
||||
"0.1": {
|
||||
"version": "0.1.4"
|
||||
},
|
||||
"0.1.4": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE97290157DE06",
|
||||
"hash": "443bcdb2d5bd550c374f9721a6663a42d0d402955cbd32bb61b3b875a04bc80f"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE9729014F3532",
|
||||
"hash": "fcd6971cbcb58181b85042f6f80eb2a4e05bccfa1450aa203083dd6f95a14254"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE97290159FE80",
|
||||
"hash": "15477ecb35695955ebaf6677a18a94fe5ac50dadc9985f277651e5c9b0ea4471"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE9729015A4C45",
|
||||
"hash": "af6713df579260053b1b5054f0750febc8e456ba54041154900fe19cf51f3160"
|
||||
}
|
||||
},
|
||||
"0.1.3": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE8AA88DFE2E44",
|
||||
"hash": "462f00b5c4abc470f506c416718e4861e814747676c2fd281428f875b56d0dcb"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE8AA88DE19E99",
|
||||
"hash": "a70ca861ed7f33ae4b943f188d878bff0e714df79bad390c67676d04c91fa402"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE8AA88DEA6E53",
|
||||
"hash": "92de55699a0d86adb85afb69d5b8af7d3e6e8068d778ce7ebbc9ca637fa5a005"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE8AA88DF05B19",
|
||||
"hash": "772c512a41b86df5140abcd19f5c5c5149af8279e1c42385d7284c9670387bc0"
|
||||
}
|
||||
},
|
||||
"0.1.2": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE89E3F6FA6473",
|
||||
"hash": "a4568617e8dc40895e7ffe758567ccf7d8aa932df9fd03b31e63b73fdae2d825"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE89E3F6F7F62B",
|
||||
"hash": "55ad87955d511f0b3b4d5bbe39e7591fd4c6b41034dc6b67bdade53c43904786"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE89E3F70ACCDC",
|
||||
"hash": "169940c659824ed70618d6fd4face0e738c8e44d2b3e0d0fdb7b659465e6c671"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE89E3F6F7F62B",
|
||||
"hash": "854cf62fd8fa18f1e8ba7844b8207cfdcc4c4c723e4b840e786dee745334bd58"
|
||||
}
|
||||
},
|
||||
"0.1.1": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE892120A499FC",
|
||||
"hash": "9caddce96293c8eb64e8226b6db9aa3c8ee48aca781762d3d17995b8d9896660"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE892120854E4C",
|
||||
"hash": "d69185167aeeebbb1d647551968fc7342ea3140f4c8067f3b6399f4c0a7b15a2"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE892120B04CA9",
|
||||
"hash": "6aad7326f2604a1c0e06390daf2eb7d5c3e45f341abd135bfdecf89fac8a0bef"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE8921208CBFFC",
|
||||
"hash": "43b7a648f1888b4ea5260f44d33b88fcdc11728ef7eaf328f00a3e52329f1c45"
|
||||
}
|
||||
},
|
||||
"0.1.0": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE86A9F48F07CA",
|
||||
"hash": "28ac6cb68e44e56b6590463668199c51deba709ae0b647c69837c98a85629a70"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE86A9F48AC6D3",
|
||||
"hash": "20f9f86605ddf27ac7dd1e57bcd3ea61be16febb1b621b12295f9003d657a473"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE86A9F48EE0E6",
|
||||
"hash": "85fe8bad3b6fef936b4ed247b103b58ceadfd92e6f7cbc79ade41290fd7eb018"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE86A9F48B6265",
|
||||
"hash": "56363d4ec10d1bb8174cc4a5d2b9589cde4fc487aeb72333c84944d7e8063f78"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -28,10 +28,65 @@
|
||||
},
|
||||
"license_markdown": "[MIT](https://github.com/dprint/dprint/blob/main/LICENSE)",
|
||||
"latest": {
|
||||
"version": "0.53.1"
|
||||
"version": "0.54.0"
|
||||
},
|
||||
"0.54": {
|
||||
"version": "0.54.0"
|
||||
},
|
||||
"0.54.0": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE95A483BDB8E6",
|
||||
"hash": "859ae94e596105201faa59a3fb4bedc8316e226e3e154ae410f9373461e1e41c"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE95A483D34B85",
|
||||
"hash": "fdbffa16cf0890ca30e958ffdabe7748e733867651a438ede1501f0e1a7b5e91"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE95A483BAAF19",
|
||||
"hash": "3fd881acaf7fd4fbc5d07c3030ce79b965a4cb7128fe0eb1ebe725188ccd2715"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE95A483BBBF52",
|
||||
"hash": "9a66b5931ca30402a3dd2933c432c6b6316eedd08037ab0aeb8d24cd17b2a301"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE95A483BA138A",
|
||||
"hash": "1d6a8fb14d66cba0f049738edd4ab3b1afc1de6d936cd32e483e33284cfd1ade"
|
||||
},
|
||||
"riscv64_linux_gnu": {
|
||||
"etag": "0x8DE95A483C85B52",
|
||||
"hash": "9aa7df605ade001ada4154e24f2806527d0be45ba0f465422efa62a23316f305"
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"x86_64_linux_musl": {
|
||||
@@ -24,7 +24,54 @@
|
||||
},
|
||||
"license_markdown": "[Apache-2.0](https://github.com/gungraun/gungraun/blob/main/LICENSE-APACHE) OR [MIT](https://github.com/gungraun/gungraun/blob/main/LICENSE-MIT)",
|
||||
"latest": {
|
||||
"version": "0.17.2"
|
||||
"version": "0.18.1"
|
||||
},
|
||||
"0.18": {
|
||||
"version": "0.18.1"
|
||||
},
|
||||
"0.18.1": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE9748264D41CC",
|
||||
"hash": "8e085908f9de28f4e4b599f171aff61e72342481c5af3a8086ed800be8e17a35"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DE97471C4DE6D4",
|
||||
"hash": "46b29d7bb529062256b28eca27d26c6f5ca1943a627f9dd024d7641b604ecf11"
|
||||
},
|
||||
"powerpc64le_linux_gnu": {
|
||||
"etag": "0x8DE974857C237F9",
|
||||
"hash": "c7833abfdd55440b8be85e854e7b673c6cd8933c85517eb6309dfee31079f4a7"
|
||||
},
|
||||
"riscv64_linux_gnu": {
|
||||
"etag": "0x8DE974839AFEA4F",
|
||||
"hash": "3374713f6e77b0f5329674a9d03bc0ed9ee5e899a9ad0d23382cff247097e8e0"
|
||||
},
|
||||
"s390x_linux_gnu": {
|
||||
"etag": "0x8DE97483DFFED3C",
|
||||
"hash": "997d992f59088c1d7b77cc4906f5c28fcbc1c59e01ecd5442ebcdeae9e47d87c"
|
||||
}
|
||||
},
|
||||
"0.18.0": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE9642F0CF107C",
|
||||
"hash": "6bc46e9b0b9df0a13897c277c9c529488e1746b5f6ad6fa33b966f4f395bec28"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DE9642F5351AC4",
|
||||
"hash": "9ffe79ab8523c1ada9a52c1352333d6499cd26fabb60d9ba6a8eeb1ab4102dc2"
|
||||
},
|
||||
"powerpc64le_linux_gnu": {
|
||||
"etag": "0x8DE9642F38861F9",
|
||||
"hash": "6b2ddd799fec1517aee95fd03eb021e125b46690c679d29d54824b87b97c61fe"
|
||||
},
|
||||
"riscv64_linux_gnu": {
|
||||
"etag": "0x8DE9642EC2FBFDC",
|
||||
"hash": "8bf2263ac4a41cb9132df94d4e570eb3e310e2afc970ff6581ccc6a32fc66c22"
|
||||
},
|
||||
"s390x_linux_gnu": {
|
||||
"etag": "0x8DE9642EE460E79",
|
||||
"hash": "e540f51a2621fe1a69cf9e7d0acf97d0e1c8b11866ba1ef08564614c496c5259"
|
||||
}
|
||||
},
|
||||
"0.17": {
|
||||
"version": "0.17.2"
|
||||
@@ -22,13 +22,68 @@
|
||||
},
|
||||
"license_markdown": "[CC0-1.0](https://github.com/casey/just/blob/master/LICENSE)",
|
||||
"latest": {
|
||||
"version": "1.48.0"
|
||||
"version": "1.49.0"
|
||||
},
|
||||
"1": {
|
||||
"version": "1.48.0"
|
||||
"version": "1.49.0"
|
||||
},
|
||||
"1.49": {
|
||||
"version": "1.49.0"
|
||||
},
|
||||
"1.49.0": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE92D62FFEE2CA",
|
||||
"hash": "05eb2f068b641b06e5b318796c2e27d4dcca608e65b34329a08c1b9f582611bd"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE92D6315E20A9",
|
||||
"hash": "e0b83a9352952ab25e5cf13f6cb03dd1872416e5d89388b56d6ca58f11b0a3a8"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE92D65DAA4399",
|
||||
"hash": "657338772efd17a31d67285bb5ed691da87741e44311c0366273c6cb7d913b15"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE92D633E8329E",
|
||||
"hash": "993b78f51004248114af22368f69715541542b3c9941c80e02f8ae10eb404ae0"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE92D61E96BBDE",
|
||||
"hash": "d21b20df01ec9b9762b0ef08e56ae8dccf3738770edeafa8d2b3a750aee06d78"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE92D65E1C5B47",
|
||||
"hash": "e73cd7b3c4fb363f703f99caaa71d4ab114a92205b2ef313212f3b2085d3ee64"
|
||||
}
|
||||
},
|
||||
"1.48": {
|
||||
"version": "1.48.0"
|
||||
"version": "1.48.1"
|
||||
},
|
||||
"1.48.1": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE8C6D748DA58F",
|
||||
"hash": "9293e553ce401d1b524bf4e104918f72f268e3f9c6827e0055fe98d84a1b2522"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE8C6D697B40B5",
|
||||
"hash": "4c3e9c880b8fc93d7fc24abfde3c36b0cc59f6e9f8b31f7175095700f64125a7"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE8C6DC96FB40D",
|
||||
"hash": "368cd9ca827cba04d9e6fc00f7ad840773c4605b6f64b9f87bdb00325d351029"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE8C6D791ED527",
|
||||
"hash": "3308721b991cf88cf2b9bbb3b31ac40550ec61a0c9b6fc011564e25e87964030"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE8C6D73E04DFD",
|
||||
"hash": "03a73339ff55bcf7411a3c940cdcb0a726d98134b87203c83a9008575434e2a8"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE8C6DB1FA1AAD",
|
||||
"hash": "ed9cd54e46d65770bf0b79c051761b29f0b89a88e56e8cae4454ec7246c82160"
|
||||
}
|
||||
},
|
||||
"1.48.0": {
|
||||
"x86_64_linux_musl": {
|
||||
@@ -1,916 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
set -CeEuo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
rx() {
|
||||
(
|
||||
set -x
|
||||
"$@"
|
||||
)
|
||||
}
|
||||
retry() {
|
||||
for i in {1..10}; do
|
||||
if "$@"; then
|
||||
return 0
|
||||
else
|
||||
sleep "${i}"
|
||||
fi
|
||||
done
|
||||
"$@"
|
||||
}
|
||||
bail() {
|
||||
printf '::error::%s\n' "$*"
|
||||
exit 1
|
||||
}
|
||||
warn() {
|
||||
printf '::warning::%s\n' "$*"
|
||||
}
|
||||
info() {
|
||||
printf >&2 'info: %s\n' "$*"
|
||||
}
|
||||
normalize_comma_or_space_separated() {
|
||||
# Normalize whitespace characters into space because it's hard to handle single input contains lines with POSIX sed alone.
|
||||
local list="${1//[$'\r\n\t']/ }"
|
||||
if [[ "${list}" == *","* ]]; then
|
||||
# If a comma is contained, consider it is a comma-separated list.
|
||||
# Drop leading and trailing whitespaces in each element.
|
||||
sed -E 's/ *, */,/g; s/^.//' <<<",${list},"
|
||||
else
|
||||
# Otherwise, consider it is a whitespace-separated list.
|
||||
# Convert whitespace characters into comma.
|
||||
sed -E 's/ +/,/g; s/^.//' <<<" ${list} "
|
||||
fi
|
||||
}
|
||||
_sudo() {
|
||||
if type -P sudo >/dev/null; then
|
||||
sudo "$@"
|
||||
else
|
||||
"$@"
|
||||
fi
|
||||
}
|
||||
download_and_checksum() {
|
||||
local url="$1"
|
||||
local checksum="$2"
|
||||
if [[ -z "${enable_checksum}" ]]; then
|
||||
checksum=''
|
||||
fi
|
||||
info "downloading ${url}"
|
||||
retry curl --proto '=https' --tlsv1.2 -fsSL "${url}" -o tmp
|
||||
if [[ -n "${checksum}" ]]; then
|
||||
info "verifying sha256 checksum for $(basename -- "${url}")"
|
||||
if type -P sha256sum >/dev/null; then
|
||||
sha256sum -c - >/dev/null <<<"${checksum} *tmp"
|
||||
elif type -P shasum >/dev/null; then
|
||||
# GitHub-hosted macOS runner does not install GNU Coreutils by default.
|
||||
# https://github.com/actions/runner-images/issues/90
|
||||
shasum -a 256 -c - >/dev/null <<<"${checksum} *tmp"
|
||||
else
|
||||
bail "checksum requires 'sha256sum' or 'shasum' command; consider installing one of them or setting 'checksum' input option to 'false'"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
download_and_extract() {
|
||||
local url="$1"
|
||||
shift
|
||||
local checksum="$1"
|
||||
shift
|
||||
local bin_dir="$1"
|
||||
shift
|
||||
local bin_in_archive=("$@") # path to bin in archive
|
||||
if [[ "${bin_dir}" == "${install_action_dir}/bin" ]]; then
|
||||
init_install_action_bin_dir
|
||||
fi
|
||||
|
||||
installed_bin=()
|
||||
local tmp
|
||||
case "${tool}" in
|
||||
# xbuild's binary name is "x", as opposed to the usual crate name
|
||||
xbuild) installed_bin=("${bin_dir}/x${exe}") ;;
|
||||
# editorconfig-checker's binary name is renamed below
|
||||
editorconfig-checker) installed_bin=("${bin_dir}/${tool}${exe}") ;;
|
||||
*)
|
||||
for tmp in "${bin_in_archive[@]}"; do
|
||||
installed_bin+=("${bin_dir}/$(basename -- "${tmp}")")
|
||||
done
|
||||
;;
|
||||
esac
|
||||
|
||||
local tar_args=()
|
||||
case "${url}" in
|
||||
*.tar.gz | *.tgz)
|
||||
tar_args+=('xzf')
|
||||
if ! type -P gzip >/dev/null; then
|
||||
case "${base_distro}" in
|
||||
debian | fedora | suse | arch | alpine)
|
||||
printf '::group::Install packages required for installation (gzip)\n'
|
||||
sys_install gzip
|
||||
printf '::endgroup::\n'
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
*.gz)
|
||||
if ! type -P gzip >/dev/null; then
|
||||
case "${base_distro}" in
|
||||
debian | fedora | suse | arch | alpine)
|
||||
printf '::group::Install packages required for installation (gzip)\n'
|
||||
sys_install gzip
|
||||
printf '::endgroup::\n'
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
*.tar.bz2 | *.tbz2)
|
||||
tar_args+=('xjf')
|
||||
if ! type -P bzip2 >/dev/null; then
|
||||
case "${base_distro}" in
|
||||
debian | fedora | suse | arch | alpine)
|
||||
printf '::group::Install packages required for installation (bzip2)\n'
|
||||
sys_install bzip2
|
||||
printf '::endgroup::\n'
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
*.tar.xz | *.txz)
|
||||
tar_args+=('xJf')
|
||||
if ! type -P xz >/dev/null; then
|
||||
case "${base_distro}" in
|
||||
debian)
|
||||
printf '::group::Install packages required for installation (xz-utils)\n'
|
||||
sys_install xz-utils
|
||||
printf '::endgroup::\n'
|
||||
;;
|
||||
fedora | suse | arch | alpine)
|
||||
printf '::group::Install packages required for installation (xz)\n'
|
||||
sys_install xz
|
||||
printf '::endgroup::\n'
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
*.zip)
|
||||
if ! type -P unzip >/dev/null; then
|
||||
case "${base_distro}" in
|
||||
debian | fedora | suse | arch | alpine)
|
||||
printf '::group::Install packages required for installation (unzip)\n'
|
||||
sys_install unzip
|
||||
printf '::endgroup::\n'
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
mkdir -p -- "${tmp_dir}"
|
||||
(
|
||||
cd -- "${tmp_dir}"
|
||||
download_and_checksum "${url}" "${checksum}"
|
||||
if [[ ${#tar_args[@]} -gt 0 ]]; then
|
||||
tar_args+=("tmp")
|
||||
tar "${tar_args[@]}"
|
||||
for tmp in "${bin_in_archive[@]}"; do
|
||||
case "${tool}" in
|
||||
editorconfig-checker) mv -- "${tmp}" "${bin_dir}/${tool}${exe}" ;;
|
||||
*) mv -- "${tmp}" "${bin_dir}/" ;;
|
||||
esac
|
||||
done
|
||||
else
|
||||
case "${url}" in
|
||||
*.zip)
|
||||
unzip -q tmp "${bin_in_archive#\./}"
|
||||
for tmp in "${bin_in_archive[@]}"; do
|
||||
case "${tool}" in
|
||||
editorconfig-checker) mv -- "${tmp}" "${bin_dir}/${tool}${exe}" ;;
|
||||
*) mv -- "${tmp}" "${bin_dir}/" ;;
|
||||
esac
|
||||
done
|
||||
;;
|
||||
*.gz)
|
||||
mv -- tmp "${bin_in_archive#\./}.gz"
|
||||
gzip -d "${bin_in_archive#\./}.gz"
|
||||
for tmp in "${bin_in_archive[@]}"; do
|
||||
mv -- "${tmp}" "${bin_dir}/"
|
||||
done
|
||||
;;
|
||||
*)
|
||||
for tmp in "${installed_bin[@]}"; do
|
||||
mv -- tmp "${tmp}"
|
||||
done
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
)
|
||||
rm -rf -- "${tmp_dir}"
|
||||
|
||||
case "${host_os}" in
|
||||
linux | macos)
|
||||
for tmp in "${installed_bin[@]}"; do
|
||||
if [[ ! -x "${tmp}" ]]; then
|
||||
chmod +x "${tmp}"
|
||||
fi
|
||||
done
|
||||
;;
|
||||
esac
|
||||
}
|
||||
read_manifest() {
|
||||
local tool="$1"
|
||||
local version="$2"
|
||||
local manifest
|
||||
rust_crate=$(jq -r '.rust_crate' "${manifest_dir}/${tool}.json")
|
||||
manifest=$(jq -r ".[\"${version}\"]" "${manifest_dir}/${tool}.json")
|
||||
if [[ "${manifest}" == "null" ]]; then
|
||||
download_info="null"
|
||||
return 0
|
||||
fi
|
||||
exact_version=$(jq -r '.version' <<<"${manifest}")
|
||||
if [[ "${exact_version}" == "null" ]]; then
|
||||
exact_version="${version}"
|
||||
else
|
||||
manifest=$(jq -r ".[\"${exact_version}\"]" "${manifest_dir}/${tool}.json")
|
||||
if [[ "${rust_crate}" != "null" ]]; then
|
||||
# TODO: don't hardcode tool name and use 'immediate_yank_reflection' field in base manifest.
|
||||
case "${tool}" in
|
||||
cargo-nextest)
|
||||
crate_info=$(retry curl --user-agent "${ACTION_USER_AGENT}" --proto '=https' --tlsv1.2 -fsSL "https://crates.io/api/v1/crates/${rust_crate}" || true)
|
||||
if [[ -n "${crate_info}" ]]; then
|
||||
while true; do
|
||||
yanked=$(jq -r ".versions[] | select(.num == \"${exact_version}\") | .yanked" <<<"${crate_info}")
|
||||
if [[ "${yanked}" != "true" ]]; then
|
||||
break
|
||||
fi
|
||||
previous_stable_version=$(jq -r '.previous_stable_version' <<<"${manifest}")
|
||||
if [[ "${previous_stable_version}" == "null" ]]; then
|
||||
break
|
||||
fi
|
||||
info "${tool}@${exact_version} is yanked; downgrade to ${previous_stable_version}"
|
||||
exact_version="${previous_stable_version}"
|
||||
manifest=$(jq -r ".[\"${exact_version}\"]" "${manifest_dir}/${tool}.json")
|
||||
done
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
|
||||
case "${host_os}" in
|
||||
linux)
|
||||
# Static-linked binaries compiled for linux-musl will also work on linux-gnu systems and are
|
||||
# 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.)
|
||||
host_platform="${host_arch}_linux_musl"
|
||||
download_info=$(jq -r ".${host_platform}" <<<"${manifest}")
|
||||
if [[ "${download_info}" == "null" ]]; then
|
||||
# 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.
|
||||
# https://wiki.alpinelinux.org/wiki/Running_glibc_programs
|
||||
# TODO: However, a warning may make sense.
|
||||
host_platform="${host_arch}_linux_gnu"
|
||||
download_info=$(jq -r ".${host_platform}" <<<"${manifest}")
|
||||
elif [[ "${host_env}" == "gnu" ]]; then
|
||||
# TODO: don't hardcode tool name and use 'prefer_linux_gnu' field in base manifest.
|
||||
case "${tool}" in
|
||||
cargo-nextest)
|
||||
# TODO: don't hardcode required glibc version
|
||||
required_glibc_version=2.27
|
||||
higher_glibc_version=$(LC_ALL=C sort -Vu <<<"${required_glibc_version}"$'\n'"${host_glibc_version}" | tail -1)
|
||||
if [[ "${higher_glibc_version}" == "${host_glibc_version}" ]]; then
|
||||
# musl build of nextest is slow, so use glibc build if host_env is gnu.
|
||||
# https://github.com/taiki-e/install-action/issues/13
|
||||
host_platform="${host_arch}_linux_gnu"
|
||||
download_info=$(jq -r ".${host_platform}" <<<"${manifest}")
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
macos | windows)
|
||||
# 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+.
|
||||
host_platform="${host_arch}_${host_os}"
|
||||
download_info=$(jq -r ".${host_platform}" <<<"${manifest}")
|
||||
if [[ "${download_info}" == "null" ]] && [[ "${host_arch}" != "x86_64" ]]; then
|
||||
host_platform="x86_64_${host_os}"
|
||||
download_info=$(jq -r ".${host_platform}" <<<"${manifest}")
|
||||
fi
|
||||
;;
|
||||
*) bail "unsupported OS type '${host_os}' for ${tool}" ;;
|
||||
esac
|
||||
}
|
||||
read_download_info() {
|
||||
local tool="$1"
|
||||
local version="$2"
|
||||
if [[ "${download_info}" == "null" ]]; then
|
||||
bail "${tool}@${version} for '${host_os}' is not supported"
|
||||
fi
|
||||
checksum=$(jq -r '.hash' <<<"${download_info}")
|
||||
url=$(jq -r '.url' <<<"${download_info}")
|
||||
local tmp
|
||||
bin_in_archive=()
|
||||
if [[ "${url}" == "null" ]]; then
|
||||
local template
|
||||
template=$(jq -c ".template.${host_platform}" "${manifest_dir}/${tool}.json")
|
||||
template="${template//\$\{version\}/${exact_version}}"
|
||||
url=$(jq -r '.url' <<<"${template}")
|
||||
tmp=$(jq -r '.bin' <<<"${template}")
|
||||
if [[ "${tmp}" == *"["* ]]; then
|
||||
# shellcheck disable=SC2207
|
||||
bin_in_archive=($(jq -r '.bin[]' <<<"${template}"))
|
||||
fi
|
||||
else
|
||||
tmp=$(jq -r '.bin' <<<"${download_info}")
|
||||
if [[ "${tmp}" == *"["* ]]; then
|
||||
# shellcheck disable=SC2207
|
||||
bin_in_archive=($(jq -r '.bin[]' <<<"${download_info}"))
|
||||
fi
|
||||
fi
|
||||
if [[ ${#bin_in_archive[@]} -eq 0 ]]; then
|
||||
if [[ "${tmp}" == "null" ]]; then
|
||||
bin_in_archive=("${tool}${exe}")
|
||||
else
|
||||
bin_in_archive=("${tmp}")
|
||||
fi
|
||||
fi
|
||||
if [[ "${rust_crate}" == "null" ]]; then
|
||||
# Moving files to /usr/local/bin requires sudo in some environments, so do not use it: https://github.com/taiki-e/install-action/issues/543
|
||||
bin_dir="${install_action_dir}/bin"
|
||||
else
|
||||
bin_dir="${cargo_bin}"
|
||||
fi
|
||||
}
|
||||
download_from_manifest() {
|
||||
read_manifest "$@"
|
||||
download_from_download_info "$@"
|
||||
}
|
||||
download_from_download_info() {
|
||||
read_download_info "$@"
|
||||
download_and_extract "${url}" "${checksum}" "${bin_dir}" "${bin_in_archive[@]}"
|
||||
}
|
||||
install_cargo_binstall() {
|
||||
local binstall_version
|
||||
binstall_version=$(jq -r '.latest.version' "${manifest_dir}/cargo-binstall.json")
|
||||
local install_binstall=1
|
||||
_binstall_version=$("cargo-binstall${exe}" binstall -V 2>/dev/null || true)
|
||||
if [[ -n "${_binstall_version}" ]]; then
|
||||
if [[ "${_binstall_version}" == "${binstall_version}" ]]; then
|
||||
info "cargo-binstall already installed at ${cargo_bin}/cargo-binstall${exe}"
|
||||
install_binstall=''
|
||||
else
|
||||
info "cargo-binstall already installed at ${cargo_bin}/cargo-binstall${exe}, but is not compatible version with install-action, upgrading"
|
||||
rm -- "${cargo_bin}/cargo-binstall${exe}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -n "${install_binstall}" ]]; then
|
||||
info "installing cargo-binstall@latest (${binstall_version})"
|
||||
download_from_manifest "cargo-binstall" "latest"
|
||||
installed_at=$(type -P "cargo-binstall${exe}" || true)
|
||||
if [[ -n "${installed_at}" ]]; then
|
||||
info "cargo-binstall installed at ${installed_at}"
|
||||
else
|
||||
warn "cargo-binstall should be installed at ${bin_dir:-}/cargo-binstall${exe}; but cargo-binstall${exe} not found in path"
|
||||
fi
|
||||
rx "cargo-binstall${exe}" binstall -V
|
||||
fi
|
||||
}
|
||||
apt_update() {
|
||||
retry _sudo apt-get -o Acquire::Retries=10 -qq update
|
||||
apt_updated=1
|
||||
}
|
||||
apt_install() {
|
||||
if [[ -z "${apt_updated:-}" ]]; then
|
||||
apt_update
|
||||
fi
|
||||
retry _sudo apt-get -o Acquire::Retries=10 -o Dpkg::Use-Pty=0 install -y --no-install-recommends "$@"
|
||||
}
|
||||
apt_remove() {
|
||||
_sudo apt-get -qq -o Dpkg::Use-Pty=0 remove -y "$@"
|
||||
}
|
||||
snap_install() {
|
||||
retry _sudo snap install "$@"
|
||||
}
|
||||
dnf_install() {
|
||||
retry _sudo "${dnf}" install -y "$@"
|
||||
}
|
||||
zypper_install() {
|
||||
retry _sudo zypper install -y "$@"
|
||||
}
|
||||
pacman_install() {
|
||||
retry _sudo pacman -Sy --noconfirm "$@"
|
||||
}
|
||||
apk_install() {
|
||||
if type -P sudo >/dev/null; then
|
||||
retry sudo apk --no-cache add "$@"
|
||||
elif type -P doas >/dev/null; then
|
||||
retry doas apk --no-cache add "$@"
|
||||
else
|
||||
retry apk --no-cache add "$@"
|
||||
fi
|
||||
}
|
||||
sys_install() {
|
||||
case "${base_distro}" in
|
||||
debian) apt_install "$@" ;;
|
||||
fedora) dnf_install "$@" ;;
|
||||
suse) zypper_install "$@" ;;
|
||||
arch) pacman_install "$@" ;;
|
||||
alpine) apk_install "$@" ;;
|
||||
esac
|
||||
}
|
||||
init_install_action_bin_dir() {
|
||||
if [[ -z "${init_install_action_bin:-}" ]]; then
|
||||
init_install_action_bin=1
|
||||
mkdir -p -- "${bin_dir}"
|
||||
export PATH="${PATH}:${bin_dir}"
|
||||
local _bin_dir
|
||||
_bin_dir=$(canonicalize_windows_path "${bin_dir}")
|
||||
# TODO: avoid this when already added
|
||||
info "adding '${_bin_dir}' to PATH"
|
||||
printf '%s\n' "${_bin_dir}" >>"${GITHUB_PATH}"
|
||||
fi
|
||||
}
|
||||
canonicalize_windows_path() {
|
||||
case "${host_os}" in
|
||||
windows) sed -E 's/^\/cygdrive\//\//; s/^\/c\//C:\\/; s/\//\\/g' <<<"$1" ;;
|
||||
*) printf '%s\n' "$1" ;;
|
||||
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
|
||||
base_distro=''
|
||||
exe=''
|
||||
case "$(uname -s)" in
|
||||
Linux)
|
||||
host_os=linux
|
||||
ldd_version=$(ldd --version 2>&1 || true)
|
||||
if grep -Fq musl <<<"${ldd_version}"; then
|
||||
host_env=musl
|
||||
else
|
||||
host_env=gnu
|
||||
host_glibc_version=$(grep -E "GLIBC|GNU libc" <<<"${ldd_version}" | sed -E "s/.* //g")
|
||||
fi
|
||||
if [[ -e /etc/os-release ]]; then
|
||||
if grep -Eq '^ID_LIKE=' /etc/os-release; then
|
||||
base_distro=$(grep -E '^ID_LIKE=' /etc/os-release | cut -d= -f2)
|
||||
case "${base_distro}" in
|
||||
*debian*) base_distro=debian ;;
|
||||
*fedora*) base_distro=fedora ;;
|
||||
*suse*) base_distro=suse ;;
|
||||
*arch*) base_distro=arch ;;
|
||||
*alpine*) base_distro=alpine ;;
|
||||
esac
|
||||
else
|
||||
base_distro=$(grep -E '^ID=' /etc/os-release | cut -d= -f2)
|
||||
fi
|
||||
base_distro="${base_distro//\"/}"
|
||||
elif [[ -e /etc/redhat-release ]]; then
|
||||
# /etc/os-release is available on RHEL/CentOS 7+
|
||||
base_distro=fedora
|
||||
elif [[ -e /etc/debian_version ]]; then
|
||||
# /etc/os-release is available on Debian 7+
|
||||
base_distro=debian
|
||||
fi
|
||||
case "${base_distro}" in
|
||||
fedora)
|
||||
dnf=dnf
|
||||
if ! type -P dnf >/dev/null; then
|
||||
if type -P microdnf >/dev/null; then
|
||||
# fedora-based distributions have "minimal" images that
|
||||
# use microdnf instead of dnf.
|
||||
dnf=microdnf
|
||||
else
|
||||
# If neither dnf nor microdnf is available, it is
|
||||
# probably an RHEL7-based distribution that does not
|
||||
# have dnf installed by default.
|
||||
dnf=yum
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
Darwin) host_os=macos ;;
|
||||
MINGW* | MSYS* | CYGWIN* | Windows_NT)
|
||||
host_os=windows
|
||||
exe=.exe
|
||||
;;
|
||||
*) bail "unrecognized OS type '$(uname -s)'" ;;
|
||||
esac
|
||||
# NB: Sync with tools/ci/tool-list.sh.
|
||||
case "$(uname -m)" in
|
||||
aarch64 | arm64) host_arch=aarch64 ;;
|
||||
# Ignore 32-bit Arm for now, as we need to consider the version and whether hard-float is supported.
|
||||
# https://github.com/rust-lang/rustup/pull/593
|
||||
# https://github.com/cross-rs/cross/pull/1018
|
||||
# And support for 32-bit Arm will be removed in near future.
|
||||
# https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/#removal-of-operating-system-support-with-node24
|
||||
# Does it seem only armv7l+ is supported?
|
||||
# https://github.com/actions/runner/blob/v2.321.0/src/Misc/externals.sh#L178
|
||||
# https://github.com/actions/runner/issues/688
|
||||
xscale | arm | armv*l) bail "32-bit Arm runner is not supported yet by this action; if you need support for this platform, please submit an issue at <https://github.com/taiki-e/install-action>" ;;
|
||||
ppc64le) host_arch=powerpc64le ;;
|
||||
riscv64) host_arch=riscv64 ;;
|
||||
s390x) host_arch=s390x ;;
|
||||
# Very few tools provide prebuilt binaries for these.
|
||||
# TODO: fallback to `cargo install`? (binstall fallback is not good idea here as cargo-binstall doesn't provide prebuilt binaries for these.)
|
||||
loongarch64 | mips | mips64 | ppc | ppc64 | sun4v) bail "$(uname -m) runner is not supported yet by this action; if you need support for this platform, please submit an issue at <https://github.com/taiki-e/install-action>" ;;
|
||||
# GitHub Actions Runner supports x86_64/AArch64/Arm Linux and x86_64/AArch64 Windows/macOS.
|
||||
# https://github.com/actions/runner/blob/v2.332.0/.github/workflows/build.yml#L24
|
||||
# https://docs.github.com/en/actions/reference/runners/self-hosted-runners#supported-processor-architectures
|
||||
# And IBM provides runners for powerpc64le/s390x Linux.
|
||||
# https://github.com/IBM/actionspz
|
||||
# So we can assume x86_64 unless it has a known non-x86_64 uname -m result.
|
||||
# TODO: uname -m on windows-11-arm returns "x86_64"
|
||||
*) host_arch=x86_64 ;;
|
||||
esac
|
||||
info "host platform: ${host_arch}_${host_os}"
|
||||
|
||||
home="${HOME:-}"
|
||||
if [[ -z "${home}" ]]; then
|
||||
# https://github.com/IBM/actionspz/issues/30
|
||||
home=$(realpath ~)
|
||||
export HOME="${home}"
|
||||
fi
|
||||
if [[ "${host_os}" == "windows" ]]; then
|
||||
if [[ "${home}" == "/home/"* ]]; then
|
||||
if [[ -d "${home/\/home\///c/Users/}" ]]; then
|
||||
# MSYS2 https://github.com/taiki-e/install-action/pull/518#issuecomment-2160736760
|
||||
home="${home/\/home\///c/Users/}"
|
||||
elif [[ -d "${home/\/home\///cygdrive/c/Users/}" ]]; then
|
||||
# Cygwin https://github.com/taiki-e/install-action/issues/224#issuecomment-1720196288
|
||||
home="${home/\/home\///cygdrive/c/Users/}"
|
||||
else
|
||||
warn "\$HOME starting /home/ (${home}) on Windows bash is usually fake path, this may cause installation issue"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
install_action_dir="${home}/.install-action"
|
||||
tmp_dir="${install_action_dir}/tmp"
|
||||
cargo_bin="${CARGO_HOME:-"${home}/.cargo"}/bin"
|
||||
# If $CARGO_HOME does not exist, or cargo installed outside of $CARGO_HOME/bin
|
||||
# is used ($CARGO_HOME/bin is most likely not included in the PATH), fallback to
|
||||
# $install_action_dir/bin.
|
||||
if [[ "${host_os}" == "windows" ]]; then
|
||||
if type -P cargo >/dev/null; then
|
||||
info "cargo is located at $(type -P cargo)"
|
||||
cargo_bin=$(dirname -- "$(type -P cargo)")
|
||||
else
|
||||
cargo_bin="${install_action_dir}/bin"
|
||||
fi
|
||||
elif [[ ! -e "${cargo_bin}" ]] || [[ "$(type -P cargo || true)" != "${cargo_bin}/cargo"* ]]; then
|
||||
if type -P cargo >/dev/null; then
|
||||
info "cargo is located at $(type -P cargo)"
|
||||
fi
|
||||
# Moving files to /usr/local/bin requires sudo in some environments, so do not use it: https://github.com/taiki-e/install-action/issues/543
|
||||
cargo_bin="${install_action_dir}/bin"
|
||||
fi
|
||||
|
||||
case "${host_os}" in
|
||||
linux)
|
||||
if ! type -P jq >/dev/null || ! type -P curl >/dev/null || ! type -P tar >/dev/null; then
|
||||
case "${base_distro}" in
|
||||
debian | fedora | suse | arch | alpine)
|
||||
printf '::group::Install packages required for installation (jq, curl, and/or tar)\n'
|
||||
sys_packages=()
|
||||
if ! type -P curl >/dev/null; then
|
||||
sys_packages+=(ca-certificates curl)
|
||||
fi
|
||||
if ! type -P tar >/dev/null; then
|
||||
sys_packages+=(tar)
|
||||
fi
|
||||
if [[ "${dnf:-}" == "yum" ]]; then
|
||||
# On RHEL7-based distribution jq requires EPEL
|
||||
if ! type -P jq >/dev/null; then
|
||||
sys_packages+=(epel-release)
|
||||
sys_install "${sys_packages[@]}"
|
||||
sys_install jq --enablerepo=epel
|
||||
else
|
||||
sys_install "${sys_packages[@]}"
|
||||
fi
|
||||
else
|
||||
if ! type -P jq >/dev/null; then
|
||||
# https://github.com/taiki-e/install-action/issues/521
|
||||
if [[ "${base_distro}" == "arch" ]]; then
|
||||
sys_packages+=(glibc)
|
||||
fi
|
||||
sys_packages+=(jq)
|
||||
fi
|
||||
sys_install "${sys_packages[@]}"
|
||||
fi
|
||||
printf '::endgroup::\n'
|
||||
;;
|
||||
*) warn "install-action requires at least jq and curl on non-Debian/Fedora/SUSE/Arch/Alpine-based Linux" ;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
macos)
|
||||
if ! type -P jq >/dev/null || ! type -P curl >/dev/null; then
|
||||
warn "install-action requires at least jq and curl on macOS"
|
||||
fi
|
||||
;;
|
||||
windows)
|
||||
if ! type -P curl >/dev/null; then
|
||||
warn "install-action requires at least curl on Windows"
|
||||
fi
|
||||
if [[ -f "${install_action_dir}/jq/bin/jq.exe" ]]; then
|
||||
jq() { "${install_action_dir}/jq/bin/jq.exe" -b "$@"; }
|
||||
elif type -P jq >/dev/null; then
|
||||
# https://github.com/jqlang/jq/issues/1854
|
||||
_tmp=$(jq -r .a <<<'{}' | wc -c)
|
||||
if [[ "${_tmp}" != 5 ]]; then
|
||||
_tmp=$({ jq -b -r .a 2>/dev/null <<<'{}' || true; } | wc -c)
|
||||
if [[ "${_tmp}" == 5 ]]; then
|
||||
jq() { command jq -b "$@"; }
|
||||
else
|
||||
jq() { command jq "$@" | tr -d '\r'; }
|
||||
fi
|
||||
fi
|
||||
else
|
||||
printf '::group::Install packages required for installation (jq)\n'
|
||||
mkdir -p -- "${install_action_dir}/jq/bin"
|
||||
url='https://github.com/jqlang/jq/releases/download/jq-1.8.1/jq-windows-amd64.exe'
|
||||
checksum='23cb60a1354eed6bcc8d9b9735e8c7b388cd1fdcb75726b93bc299ef22dd9334'
|
||||
(
|
||||
cd -- "${install_action_dir}/jq/bin"
|
||||
download_and_checksum "${url}" "${checksum}"
|
||||
mv -- tmp jq.exe
|
||||
)
|
||||
printf '::endgroup::\n'
|
||||
jq() { "${install_action_dir}/jq/bin/jq.exe" -b "$@"; }
|
||||
fi
|
||||
;;
|
||||
*) bail "unsupported host OS '${host_os}'" ;;
|
||||
esac
|
||||
|
||||
unsupported_tools=()
|
||||
for tool in "${tools[@]}"; do
|
||||
if [[ "${tool}" == *"@"* ]]; then
|
||||
version="${tool#*@}"
|
||||
tool="${tool%@*}"
|
||||
if [[ ! "${version}" =~ ^([1-9][0-9]*(\.[0-9]+(\.[0-9]+)?)?|0\.[1-9][0-9]*(\.[0-9]+)?|^0\.0\.[0-9]+)(-[0-9A-Za-z\.-]+)?$|^latest$ ]]; then
|
||||
if [[ ! "${version}" =~ ^([1-9][0-9]*(\.[0-9]+(\.[0-9]+)?)?|0\.[1-9][0-9]*(\.[0-9]+)?|^0\.0\.[0-9]+)(-[0-9A-Za-z\.-]+)?(\+[0-9A-Za-z\.-]+)?$|^latest$ ]]; then
|
||||
bail "install-action does not support semver operators: '${version}'"
|
||||
fi
|
||||
bail "install-action v2 does not support semver build-metadata: '${version}'; if you need these supports again, please submit an issue at <https://github.com/taiki-e/install-action>"
|
||||
fi
|
||||
else
|
||||
version=latest
|
||||
fi
|
||||
installed_bin=()
|
||||
case "${tool}" in
|
||||
protoc)
|
||||
info "installing ${tool}@${version}"
|
||||
read_manifest "protoc" "${version}"
|
||||
read_download_info "protoc" "${version}"
|
||||
# Copying files to /usr/local/include requires sudo, so do not use it.
|
||||
bin_dir="${install_action_dir}/bin"
|
||||
include_dir="${install_action_dir}/include"
|
||||
init_install_action_bin_dir
|
||||
if [[ ! -e "${include_dir}" ]]; then
|
||||
mkdir -p -- "${include_dir}"
|
||||
fi
|
||||
if ! type -P unzip >/dev/null; then
|
||||
case "${base_distro}" in
|
||||
debian | fedora | suse | arch | alpine)
|
||||
printf '::group::Install packages required for installation (unzip)\n'
|
||||
sys_install unzip
|
||||
printf '::endgroup::\n'
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
mkdir -p -- "${tmp_dir}"
|
||||
(
|
||||
cd -- "${tmp_dir}"
|
||||
download_and_checksum "${url}" "${checksum}"
|
||||
unzip -q tmp
|
||||
mv -- "bin/protoc${exe}" "${bin_dir}/"
|
||||
mkdir -p -- "${include_dir}/"
|
||||
cp -r -- include/. "${include_dir}/"
|
||||
if [[ -z "${PROTOC:-}" ]]; then
|
||||
_bin_dir=$(canonicalize_windows_path "${bin_dir}")
|
||||
info "setting PROTOC environment variable to '${_bin_dir}/protoc${exe}'"
|
||||
printf '%s\n' "PROTOC=${_bin_dir}/protoc${exe}" >>"${GITHUB_ENV}"
|
||||
fi
|
||||
)
|
||||
rm -rf -- "${tmp_dir}"
|
||||
installed_bin=("${tool}${exe}")
|
||||
;;
|
||||
valgrind)
|
||||
info "installing ${tool}@${version}"
|
||||
case "${version}" in
|
||||
latest) ;;
|
||||
*) warn "specifying the version of ${tool} is not supported yet by this action" ;;
|
||||
esac
|
||||
case "${host_os}" in
|
||||
linux) ;;
|
||||
macos | windows) bail "${tool} for non-Linux is not supported yet by this action" ;;
|
||||
*) bail "unsupported host OS '${host_os}' for ${tool}" ;;
|
||||
esac
|
||||
# libc6-dbg is needed to run Valgrind
|
||||
apt_install libc6-dbg
|
||||
# Use snap to install the latest Valgrind
|
||||
# https://snapcraft.io/install/valgrind/ubuntu
|
||||
snap_install valgrind --classic
|
||||
installed_bin=("${tool}${exe}")
|
||||
;;
|
||||
cargo-binstall)
|
||||
case "${version}" in
|
||||
latest) ;;
|
||||
*) warn "specifying the version of ${tool} is not supported by this action" ;;
|
||||
esac
|
||||
install_cargo_binstall
|
||||
printf '\n'
|
||||
continue
|
||||
;;
|
||||
*)
|
||||
# Handle aliases.
|
||||
# NB: Update alias list in tools/publish.rs, tool input option in test-alias in .github/workflows/ci.yml,
|
||||
# and match for alias for tools/codegen/src/tools-markdown.rs.
|
||||
# TODO(codegen): auto-detect cases where crate name and tool name are different.
|
||||
case "${tool}" in
|
||||
nextest) tool=cargo-nextest ;;
|
||||
taplo-cli | typos-cli | wasm-bindgen-cli | wasmtime-cli) tool="${tool%-cli}" ;;
|
||||
esac
|
||||
|
||||
# Use cargo-binstall fallback if tool is not available.
|
||||
if [[ ! -f "${manifest_dir}/${tool}.json" ]]; then
|
||||
case "${version}" in
|
||||
latest) unsupported_tools+=("${tool}") ;;
|
||||
*) unsupported_tools+=("${tool}@${version}") ;;
|
||||
esac
|
||||
continue
|
||||
fi
|
||||
|
||||
# Use cargo-binstall fallback if tool is available but the specified version not available.
|
||||
read_manifest "${tool}" "${version}"
|
||||
if [[ "${download_info}" == "null" ]]; then
|
||||
if [[ "${rust_crate}" == "null" ]] || [[ "${fallback}" == "none" ]]; then
|
||||
bail "${tool}@${version} for '${host_arch}_${host_os}' is not supported"
|
||||
fi
|
||||
warn "${tool}@${version} for '${host_arch}_${host_os}' is not supported; fallback to ${fallback}"
|
||||
case "${version}" in
|
||||
latest) unsupported_tools+=("${rust_crate}") ;;
|
||||
*) unsupported_tools+=("${rust_crate}@${version}") ;;
|
||||
esac
|
||||
continue
|
||||
fi
|
||||
|
||||
info "installing ${tool}@${version}"
|
||||
|
||||
# Pre-install
|
||||
case "${tool}" in
|
||||
shellcheck)
|
||||
case "${host_os}" in
|
||||
linux)
|
||||
if type -P shellcheck >/dev/null; then
|
||||
apt_remove -y shellcheck
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
cyclonedx)
|
||||
case "${host_os}" in
|
||||
linux)
|
||||
apt_install libicu-dev
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
download_from_download_info "${tool}" "${version}"
|
||||
;;
|
||||
esac
|
||||
|
||||
tool_bin_stems=()
|
||||
for tool_bin in "${installed_bin[@]}"; do
|
||||
tool_bin=$(basename -- "${tool_bin}")
|
||||
tool_bin_stem="${tool_bin%.exe}"
|
||||
installed_at=$(type -P "${tool_bin}" || true)
|
||||
if [[ -z "${installed_at}" ]]; then
|
||||
tool_bin="${tool_bin_stem}"
|
||||
installed_at=$(type -P "${tool_bin}" || true)
|
||||
fi
|
||||
if [[ -n "${installed_at}" ]]; then
|
||||
info "${tool_bin_stem} installed at ${installed_at}"
|
||||
else
|
||||
warn "${tool_bin_stem} should be installed at ${bin_dir:+"${bin_dir}/"}${tool_bin}${exe}; but ${tool_bin}${exe} not found in path"
|
||||
fi
|
||||
tool_bin_stems+=("${tool_bin_stem}")
|
||||
done
|
||||
for tool_bin_stem in "${tool_bin_stems[@]}"; do
|
||||
# cargo-udeps 0.1.30 and wasm-pack 0.12.0 do not support --version flag.
|
||||
case "${tool_bin_stem}" in
|
||||
# biome up to 1.2.2 exits with 1 on both --version and --help flags.
|
||||
# cargo-machete up to 0.6.0 does not support --version flag.
|
||||
# wait-for-them up to 0.4.0 does not support --version flag.
|
||||
# gungraun-runner up to 0.17.1 (exclusive) does not support --version flag.
|
||||
biome | cargo-machete | wait-for-them | gungraun-runner) rx "${tool_bin_stem}" --version || true ;;
|
||||
# these packages support neither --version nor --help flag.
|
||||
cargo-auditable | cargo-careful | wasm-bindgen-test-runner) ;;
|
||||
# wasm2es6js does not support --version flag and --help flag doesn't contains version info.
|
||||
wasm2es6js) ;;
|
||||
# iai-callgrind-runner --version works only with iai-callgrind in nearby Cargo.toml.
|
||||
iai-callgrind-runner) ;;
|
||||
# cargo-zigbuild/cargo-insta has no --version flag on `cargo $tool_bin_stem` subcommand.
|
||||
cargo-zigbuild | cargo-insta) rx "${tool_bin_stem}" --version ;;
|
||||
# deepsource has version command instead of --version flag.
|
||||
deepsource | vacuum) rx "${tool_bin_stem}" version ;;
|
||||
cargo-*)
|
||||
case "${tool_bin_stem}" in
|
||||
# cargo-valgrind 2.1.0's --version flag just calls cargo's --version flag
|
||||
cargo-valgrind) rx "${tool_bin_stem}" "${tool_bin_stem#cargo-}" --help ;;
|
||||
*)
|
||||
if ! rx "${tool_bin_stem}" "${tool_bin_stem#cargo-}" --version; then
|
||||
rx "${tool_bin_stem}" "${tool_bin_stem#cargo-}" --help
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
if ! rx "${tool_bin_stem}" --version; then
|
||||
rx "${tool_bin_stem}" --help
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
printf '\n'
|
||||
done
|
||||
|
||||
if [[ ${#unsupported_tools[@]} -gt 0 ]]; then
|
||||
IFS=','
|
||||
case "${fallback}" in
|
||||
none) bail "install-action does not support ${unsupported_tools[*]} (fallback is disabled by 'fallback: none' input option)" ;;
|
||||
cargo-binstall)
|
||||
case "${host_arch}" in
|
||||
x86_64 | aarch64) ;;
|
||||
*)
|
||||
info "cargo-binstall does not provide prebuilt binaries for this platform (${host_arch}); use 'cargo-install' fallback instead"
|
||||
fallback=cargo-install
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
info "install-action does not support ${unsupported_tools[*]}; fallback to ${fallback}"
|
||||
IFS=$'\n\t'
|
||||
case "${fallback}" in
|
||||
cargo-binstall)
|
||||
install_cargo_binstall
|
||||
if [[ -z "${GITHUB_TOKEN:-}" ]] && [[ -n "${DEFAULT_GITHUB_TOKEN:-}" ]]; then
|
||||
export GITHUB_TOKEN="${DEFAULT_GITHUB_TOKEN}"
|
||||
fi
|
||||
# By default, cargo-binstall enforce downloads over secure transports only.
|
||||
# As a result, http will be disabled, and it will also set
|
||||
# min tls version to be 1.2
|
||||
cargo-binstall binstall --force --no-confirm --locked "${unsupported_tools[@]}"
|
||||
if ! type -P cargo >/dev/null; then
|
||||
_bin_dir=$(canonicalize_windows_path "${home}/.cargo/bin")
|
||||
# TODO: avoid this when already added
|
||||
info "adding '${_bin_dir}' to PATH"
|
||||
printf '%s\n' "${_bin_dir}" >>"${GITHUB_PATH}"
|
||||
fi
|
||||
;;
|
||||
cargo-install)
|
||||
cargo install --locked "${unsupported_tools[@]}"
|
||||
;;
|
||||
*) bail "unhandled fallback ${fallback}" ;;
|
||||
esac
|
||||
fi
|
||||
@@ -1,541 +0,0 @@
|
||||
{
|
||||
"rust_crate": null,
|
||||
"template": {
|
||||
"x86_64_linux_gnu": {
|
||||
"url": "https://github.com/aquasecurity/trivy/releases/download/v${version}/trivy_${version}_Linux-64bit.tar.gz",
|
||||
"bin": "trivy"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"url": "https://github.com/aquasecurity/trivy/releases/download/v${version}/trivy_${version}_macOS-64bit.tar.gz",
|
||||
"bin": "trivy"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"url": "https://github.com/aquasecurity/trivy/releases/download/v${version}/trivy_${version}_windows-64bit.zip",
|
||||
"bin": "trivy.exe"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"url": "https://github.com/aquasecurity/trivy/releases/download/v${version}/trivy_${version}_Linux-ARM64.tar.gz",
|
||||
"bin": "trivy"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"url": "https://github.com/aquasecurity/trivy/releases/download/v${version}/trivy_${version}_macOS-ARM64.tar.gz",
|
||||
"bin": "trivy"
|
||||
},
|
||||
"powerpc64le_linux_gnu": {
|
||||
"url": "https://github.com/aquasecurity/trivy/releases/download/v${version}/trivy_${version}_Linux-PPC64LE.tar.gz",
|
||||
"bin": "trivy"
|
||||
},
|
||||
"s390x_linux_gnu": {
|
||||
"url": "https://github.com/aquasecurity/trivy/releases/download/v${version}/trivy_${version}_Linux-s390x.tar.gz",
|
||||
"bin": "trivy"
|
||||
}
|
||||
},
|
||||
"license_markdown": "[Apache-2.0](https://github.com/aquasecurity/trivy/blob/main/LICENSE)",
|
||||
"latest": {
|
||||
"version": "0.69.3"
|
||||
},
|
||||
"0.69": {
|
||||
"version": "0.69.3"
|
||||
},
|
||||
"0.69.3": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DE7926D0967A1E",
|
||||
"hash": "1816b632dfe529869c740c0913e36bd1629cb7688bd5634f4a858c1d57c88b75"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE7926D3219B32",
|
||||
"hash": "fec4a9f7569b624dd9d044fca019e5da69e032700edbb1d7318972c448ec2f4e"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE7926D2485C4C",
|
||||
"hash": "74362dc711383255308230ecbeb587eb1e4e83a8d332be5b0259afac6e0c2224"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DE7926D331DC9A",
|
||||
"hash": "7e3924a974e912e57b4a99f65ece7931f8079584dae12eb7845024f97087bdfd"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE7926D1E307B1",
|
||||
"hash": "a2f2179afd4f8bb265ca3c7aefb56a666bc4a9a411663bc0f22c3549fbc643a5"
|
||||
},
|
||||
"powerpc64le_linux_gnu": {
|
||||
"etag": "0x8DE7926D0810E6D",
|
||||
"hash": "d54b3332b8940cb86d27144399afa3c877b230a4102f2e761cd02f154bca3b3e"
|
||||
},
|
||||
"s390x_linux_gnu": {
|
||||
"etag": "0x8DE7926D09ED52A",
|
||||
"hash": "4bc2e0f2848c7c1856855d8834d825c9a11b8b13e8726cee346c9fc3dde87e17"
|
||||
}
|
||||
},
|
||||
"0.69.2": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DE77C6B4EC9F34",
|
||||
"hash": "affa59a1e37d86e4b8ab2cd02f0ab2e63d22f1bf9cf6a7aa326c884e25e26ce3"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE77C6B3B0EEAA",
|
||||
"hash": "41f6eac3ebe3a00448a16f08038b55ce769fe2d5128cb0d64bdf282cdad4831a"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE77C6B4B74C5C",
|
||||
"hash": "d772fa7c3c1bc52d2914ff78107596fbd20010b5f18bec6f39d63ee3bb31ad45"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DE77C6B4CABE64",
|
||||
"hash": "c73b97699c317b0d25532b3f188564b4e29d13d5472ce6f8eb078082546a6481"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE77C6B60DB9D0",
|
||||
"hash": "320c0e6af90b5733b9326da0834240e944c6f44091e50019abdf584237ff4d0c"
|
||||
},
|
||||
"powerpc64le_linux_gnu": {
|
||||
"etag": "0x8DE77C6B3B949B2",
|
||||
"hash": "eeb7839f4f9dc5f5e27aebf33f087efbb917d9f7c3da8cd001c45aebbcc160f2"
|
||||
},
|
||||
"s390x_linux_gnu": {
|
||||
"etag": "0x8DE77C6B3B3F88B",
|
||||
"hash": "557b9b1ad75e9aa6762f64a338fa7f581f50375e054b946c67361d88b3f762be"
|
||||
}
|
||||
},
|
||||
"0.69.1": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DE64B81CF95EEF",
|
||||
"hash": "dd93975bc1e58053810a9bafea89923e5df42ddd3f99905fdf840fd797145157"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE64B819F91DC6",
|
||||
"hash": "1054f37ba02173a7e1a05e2bcc1179d7573124cea1502a37cc59de89582de307"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE64B819F13777",
|
||||
"hash": "7a37fafd7a62fef07d4ebe9c5a90bb079e929eac78d691863b013eec14d57eac"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DE64B81CCE12EB",
|
||||
"hash": "7a98c13e6c5799fc46219c94fa500b807532b4555501cce85fa4eead9f755516"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE64B81B7978AC",
|
||||
"hash": "ae5ce4a7b9bf2bd3794ccb3c257993526fa47470b3814d729a73788d36aff3d0"
|
||||
},
|
||||
"powerpc64le_linux_gnu": {
|
||||
"etag": "0x8DE64B81A1B2572",
|
||||
"hash": "b4314efdb60e19567072586c0ae0120053fa3453ca6f3f93b7002cfb98848759"
|
||||
},
|
||||
"s390x_linux_gnu": {
|
||||
"etag": "0x8DE64B81BB8F941",
|
||||
"hash": "5a813df48a525d0ed5a87c92a49b715bc1142787bb51562fc84156f28c68e9c1"
|
||||
}
|
||||
},
|
||||
"0.69.0": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DE5FE98E1231FF",
|
||||
"hash": "fff5813d6888fa6f8bd40042a08c4f072b3e65aec9f13dd9ab1d7b26146ad046"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE5FE98CD6F5A8",
|
||||
"hash": "4264e4fcc73259de36a68c112a586d65bf6cd488ef2aea857f37d00d8cb5c4e6"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE5FE98CABA986",
|
||||
"hash": "4b34440f0a854428e846b1d2329eede3f0663bec8eff865ae2dffca42542a076"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DE5FE98B60C75A",
|
||||
"hash": "425e883f37cad0b512478df2803f58532e7d235267303375a3d0f97e4790a1ca"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE5FE98CCAF53A",
|
||||
"hash": "bd35348d963d3f661ff4d7d138e65a75fedbfade0378689f3a349c824c6e5b75"
|
||||
},
|
||||
"powerpc64le_linux_gnu": {
|
||||
"etag": "0x8DE5FE98B58BA1E",
|
||||
"hash": "719963fc7ba3b0c1db69dd39c4410c7e01f4a13d4bf8cbd7085f2f7e7b5cf22c"
|
||||
},
|
||||
"s390x_linux_gnu": {
|
||||
"etag": "0x8DE5FE98B514869",
|
||||
"hash": "f747c09a5b6b401c573d36e9b7bece73c95c685de566f8077c0ddc8adfb718f4"
|
||||
}
|
||||
},
|
||||
"0.68": {
|
||||
"version": "0.68.2"
|
||||
},
|
||||
"0.68.2": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DE3D36FA8B041A",
|
||||
"hash": "3d933bbc3685f95ec15280f620583d05d97ee3affb66944d14481d5d6d567064"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE3D36F8E8C779",
|
||||
"hash": "c0790530cd717b6bdd02ed437be0710f5c7043078fafaf6841be7c865bf251ce"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE3D36FBDA4DDA",
|
||||
"hash": "2aaa0ce06f9f2221a6bb21e1fc0e0ecc6aeb56362bc5c9463e9fd7b06983c3c3"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DE3D36FA31D6BE",
|
||||
"hash": "33c87995fd0c3d1559086c3e18fd3148051296dfd0ca2a67583eb64f89998c91"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE3D36FBE6276F",
|
||||
"hash": "dfbe15ffe47426dad9fd3e0d52aeacf3dbbb25ca5dbc66049f5920834435988d"
|
||||
},
|
||||
"powerpc64le_linux_gnu": {
|
||||
"etag": "0x8DE3D36F8C75B58",
|
||||
"hash": "e8e0391fb23706885371aa26d98bf7d43ed330dda2dce5cd0098444955d3b071"
|
||||
},
|
||||
"s390x_linux_gnu": {
|
||||
"etag": "0x8DE3D36FA754A9D",
|
||||
"hash": "fd45fc808622ecb11393f4c27d1fbd20e1d78838148a282b1129624964dd0628"
|
||||
}
|
||||
},
|
||||
"0.68.1": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DE3251848BE364",
|
||||
"hash": "63e37242088e418651931f891963c19554faa19f0591fe6b40b606152051df2f"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE3251830BD5BF",
|
||||
"hash": "d5b5bd3b3c3626d223c3981cc40f4709f00a6327a681b588d2fc64a3aa9d02c5"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE325185F54E47",
|
||||
"hash": "600fc65bdb486e160efeedf8fff8ef6be8e9d2e82f2ea4db82ad23263ed5f902"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DE325182E5186B",
|
||||
"hash": "b29ea550f573afbcae3c86fb2b5e0ebba76b7cb0965e3787c4e8cb884d2c1d57"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE32518617A3C8",
|
||||
"hash": "4dd3d2e74e1b6f6f7fd5fbf55489727698f586d6a6a0cff3421031a05b80bcac"
|
||||
},
|
||||
"powerpc64le_linux_gnu": {
|
||||
"etag": "0x8DE325182EA1BD7",
|
||||
"hash": "85fad2f54d695044ff4c7cfbf527a339bbba624e248ca78c81b24d3ff505ec36"
|
||||
},
|
||||
"s390x_linux_gnu": {
|
||||
"etag": "0x8DE325184AA45AE",
|
||||
"hash": "5fd10a554ffc2a82bdc0212112352f0641d1ccf46b60f7c3be8b1f6c9e98a291"
|
||||
}
|
||||
},
|
||||
"0.67": {
|
||||
"version": "0.67.2"
|
||||
},
|
||||
"0.67.2": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DE080439A9226F",
|
||||
"hash": "546511a5514afc813c0b72e4abeea2c16a32228a13a1e5114d927c190e76b1f9"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE08043B0FD1EC",
|
||||
"hash": "4a5b936a8d89b508ecdc6edd65933b6fe3e9a368796cbdf917fd0df393f26542"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE0804388E4204",
|
||||
"hash": "ad6a7a706902ec3248d8905a32d0c15630958ab3040b8ea0373a6f5a2da30a94"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DE0804398EB34F",
|
||||
"hash": "e4f28390b06cdaaed94f8c49cce2c4c847938b5188aefdeb82453f2e933e57cb"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE08043AF0386A",
|
||||
"hash": "6b3163667f29fc608a2ed647c1bd42023af5779349286148190a168c5b3f28f1"
|
||||
},
|
||||
"powerpc64le_linux_gnu": {
|
||||
"etag": "0x8DE0804383BC3C5",
|
||||
"hash": "168f8a8009433de6fb82f4119370b873f96dbbe115968899100aff5512204fb7"
|
||||
},
|
||||
"s390x_linux_gnu": {
|
||||
"etag": "0x8DE080439F69D3F",
|
||||
"hash": "82ae68e011861a91adad87efa88d85d9a2f3a35099a531edd255999a36b07428"
|
||||
}
|
||||
},
|
||||
"0.67.1": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DE072A82C7AB42",
|
||||
"hash": "945c004188970dddb634db8bbac332b00f477858918a2026866367268a810678"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE072A813C381F",
|
||||
"hash": "36001046e4a52885b664b7a5f40da5f0e1883c07a72763dee57c7d5b9676d901"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE072A8320FFA5",
|
||||
"hash": "f68c6b04c8984766d95413fcb438e6a6e242eadb9d5e9b6ca4d1ba9c84ffa4cb"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DE072A82CFB88B",
|
||||
"hash": "dbc17ea23d75c9f93d3e781468cf0fd82d46e2e772353a4ff9da6d88919a1052"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE072A81571BFA",
|
||||
"hash": "81e24fd39ddecda180cc9abefaea184e0c22c331d7b683993a9bc89e67d07bb9"
|
||||
},
|
||||
"powerpc64le_linux_gnu": {
|
||||
"etag": "0x8DE072A815A7387",
|
||||
"hash": "3def8ad164495d431eca7643671a5076b12364a7875f7dae53d01b0b179aede0"
|
||||
},
|
||||
"s390x_linux_gnu": {
|
||||
"etag": "0x8DE072A842C87F8",
|
||||
"hash": "ac9c61256a890cf99cca33415fbd7d0931f5489575c4bcf9e6cdde8e22723e84"
|
||||
}
|
||||
},
|
||||
"0.67.0": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DDFFF9F277E803",
|
||||
"hash": "5b10e9bba00a508b0f3bcb98e78f1039f7eee26b57c9266961a415642a9208ab"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DDFFF9F4297CF7",
|
||||
"hash": "ae8a13d8c3abf7f7e7981ac1a5f5ec094d68835f2aac67da102d4ba36e820c3c"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DDFFF9F465316A",
|
||||
"hash": "cbdc0dea7563da0f1258bedb5c6782dfe762ec8b4377db2629555fbdd7e6425f"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DDFFF9F5C29C5E",
|
||||
"hash": "0f3ac33954dd918cad708bdf06731b4aa8cc14b12e879932b4ceef2f22640a9e"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DDFFF9F2834CFC",
|
||||
"hash": "feea8727b501f654683774fe0f98a9c1a128c7d8bcd7c942a8e6f6d05b33bd4b"
|
||||
},
|
||||
"powerpc64le_linux_gnu": {
|
||||
"etag": "0x8DDFFF9F5DDA710",
|
||||
"hash": "f1a685c309679ff23bca2dd42e017a22d235d0d9dbc0b129d1221590d9e1bc1b"
|
||||
},
|
||||
"s390x_linux_gnu": {
|
||||
"etag": "0x8DDFFF9F4253BFB",
|
||||
"hash": "f4b09750400c4a4ed68b5fe7a744fbe1b0ea14fc797d122119c9fa82ef167165"
|
||||
}
|
||||
},
|
||||
"0.66": {
|
||||
"version": "0.66.0"
|
||||
},
|
||||
"0.66.0": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DDEA4865EC0918",
|
||||
"hash": "93678741c3223c15120934ac00671ca7e797c9a5a4d89148db9ffca9184a5f0d"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DDEA486A0448AA",
|
||||
"hash": "284a3d3346429837f3da11aa6c25bf196e4fe5431733d4f6f99eac8578b329ed"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DDEA4867FEFF09",
|
||||
"hash": "402d083f7b6b75005bef6dcc75613c41fc09c0ba735bbdbbcce418d7b3250ad6"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DDEA4868075A08",
|
||||
"hash": "a51268845bdeb68f5f885f7de6c92fe33b64d630392e546eec0e16f79cfd42e8"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DDEA4865C5C055",
|
||||
"hash": "964bb69fc0e652891b38514fed4ee31de004a58ac22ea2a23c6891728bb6b6eb"
|
||||
},
|
||||
"powerpc64le_linux_gnu": {
|
||||
"etag": "0x8DDEA486824D2F2",
|
||||
"hash": "dbcf43998bafcd1adae26fc57ea6128f8a1c66da1523096e37fe29c30c68990f"
|
||||
},
|
||||
"s390x_linux_gnu": {
|
||||
"etag": "0x8DDEA4865B3FA0A",
|
||||
"hash": "8d5387862cec090d0f4922b3d2969291774097965649624d0d968e241d53a65e"
|
||||
}
|
||||
},
|
||||
"0.65": {
|
||||
"version": "0.65.0"
|
||||
},
|
||||
"0.65.0": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DDCFFB2522E989",
|
||||
"hash": "f0c5e3c912e7f5194a0efc85dfd34c94c63c4a4184b2d7b97ec7718661f5ead2"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DDCFFB23C5CCA2",
|
||||
"hash": "b022f86ac91d1c4e79cc548f3e470880a2f8150a369058fbd055bee537aca798"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DDCFFB23CC2E24",
|
||||
"hash": "736ea5990e1a8432624039b0438324b6b7542e94810f9bc83a56f37c56a05b87"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DDCFFB23875C2C",
|
||||
"hash": "013c67e6aff35429cbbc9f38ea030f5a929d128df08f16188af35ca70517330b"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DDCFFB26795759",
|
||||
"hash": "3076e27024b92d634fe09947934d36dc8b651a8539ff1d69b4cfac008dfb59ce"
|
||||
},
|
||||
"powerpc64le_linux_gnu": {
|
||||
"etag": "0x8DDCFFB236CC627",
|
||||
"hash": "6c54d2393322e493bd80ed2a208708fcca1d30e5ae9b0bfcbd3acb1c3212627e"
|
||||
},
|
||||
"s390x_linux_gnu": {
|
||||
"etag": "0x8DDCFFB2546EAE0",
|
||||
"hash": "383c80b9fee80c46d5232da40237fe1886baa76db9275adb5028184bba90adc0"
|
||||
}
|
||||
},
|
||||
"0.64": {
|
||||
"version": "0.64.1"
|
||||
},
|
||||
"0.64.1": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DDBA3D4C6732DE",
|
||||
"hash": "1a09d86667b3885a8783d1877c9abc8061b2b4e9b403941b22cbd82f10d275a8"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DDBA3D4E2ADC31",
|
||||
"hash": "107a874b41c1f0a48849f859b756f500d8be06f2d2b8956a046a97ae38088bf6"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DDBA3D4C6E56C5",
|
||||
"hash": "d03bce6326ff75d041f2499e801357d3da6b08a28be085580d9b0bdf84971d12"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DDBA3D4C3CD009",
|
||||
"hash": "a57d4d48a90f8ed875b821fc3078ba5a8572f86e90adfea0995cefd51d583bd7"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DDBA3D4C4000C5",
|
||||
"hash": "7489c69948cda032adc2862923222917cd025411abc4bba8517a8d581aed226c"
|
||||
},
|
||||
"powerpc64le_linux_gnu": {
|
||||
"etag": "0x8DDBA3D4DECB971",
|
||||
"hash": "98a9d625e614d16fbb6e467777282a0a43ab1505fcc1a77c0b97aafab1d9baf8"
|
||||
},
|
||||
"s390x_linux_gnu": {
|
||||
"etag": "0x8DDBA3D4FB6EB18",
|
||||
"hash": "4a8249d6fc7a9ca80179902923d1988ce4942359cc22c5ee68131b50ebd3a3f7"
|
||||
}
|
||||
},
|
||||
"0.64.0": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DDB87C74419214",
|
||||
"hash": "e50755b3be29ae515091a45c96a2bc126846334210c30202331b797b9ae6e366"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DDB87C72C4B5BC",
|
||||
"hash": "f7c649c3e9598fde7074bb34b024d11f5b836d230c391a0cdde319db73e0fedc"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DDB87C75CF7247",
|
||||
"hash": "7f34d0cd2813cf7f89064ffbc04af891f7839f673e9a0a0505cf91391d07826e"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DDB87C72D67BFC",
|
||||
"hash": "c7e78d67af98dad178f18b4b8d20929b7f9d267e9c556f8ad815f8997035bcd9"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DDB87C7591EB49",
|
||||
"hash": "77e70dd2fdbac5986cc02a8def382bdaf78777f0050fc37af72916cc47b56a20"
|
||||
},
|
||||
"powerpc64le_linux_gnu": {
|
||||
"etag": "0x8DDB87C7505B2B4",
|
||||
"hash": "13322bad430380ed58d52cafa706dd68127a20dcba5707ecea24ee00b7ad44ba"
|
||||
},
|
||||
"s390x_linux_gnu": {
|
||||
"etag": "0x8DDB87C7452482B",
|
||||
"hash": "a13059cf174a0de9c4790bd11e1626d5529265550637474fe8442755bb73062a"
|
||||
}
|
||||
},
|
||||
"0.63": {
|
||||
"version": "0.63.0"
|
||||
},
|
||||
"0.63.0": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DD9EDB240EAE38",
|
||||
"hash": "ea91fa393cfcb802da22832c96e99a4c8a295a8ba8faefd824c7168b7f0a741e"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD9EDB25C39AD1",
|
||||
"hash": "01659b540a885ee9bd1273c8c75ade1ce046fc9d6e5933d5978d9125a6a1cf6c"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD9EDB25D2CBF6",
|
||||
"hash": "33ba726ec9c37f15490efa1d51044c21f0db6acb9be56492d5e1429f404b602f"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DD9EDB26DF8B6D",
|
||||
"hash": "9aeecf81e8a1dc5625dd96a1a6fbea92a1f8e51c4160cfc0e412ef5f641ea1ac"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DD9EDB26DD1D32",
|
||||
"hash": "784f687759c647ffad54e4d7f55ed953647e4fff5ea1e38dbaf877a135254972"
|
||||
},
|
||||
"powerpc64le_linux_gnu": {
|
||||
"etag": "0x8DD9EDB25608D60",
|
||||
"hash": "f810c4fe9b3cf58022ce034db27780db3e64e91834dda23450407f1e6da13dab"
|
||||
},
|
||||
"s390x_linux_gnu": {
|
||||
"etag": "0x8DD9EDB271FA7BE",
|
||||
"hash": "af14cc441197d862d513926a7610111c8683548efb4c82202bb2d856d4603fc4"
|
||||
}
|
||||
},
|
||||
"0.62": {
|
||||
"version": "0.62.1"
|
||||
},
|
||||
"0.62.1": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DD8CD66B2C973F",
|
||||
"hash": "7da92b2ca503d08eb15e717585fa4ffb95ef2c5dc4c554204882d7d26d386a6a"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD8CD66B02A920",
|
||||
"hash": "819bf4dad9c3bb4e78bbd11d08b61bdc4663b33777121b3f43372986f7cb3d3e"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD8CD66CA4E62B",
|
||||
"hash": "f6d9b422f10af2d7a21b4924d36400d8a76932c9159b5feefaa8aee3e45a82bd"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DD8CD669AB51A2",
|
||||
"hash": "50e13c5cdd3e3b610e0dc554e3bc58bc6f58eabe3e42a6b28961a23ac6eff0df"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DD8CD66C735F7B",
|
||||
"hash": "0bbfa581a4139c6fef21f4129233ae6f02a9f4b53039327e62eccd7956af2ba1"
|
||||
},
|
||||
"powerpc64le_linux_gnu": {
|
||||
"etag": "0x8DD8CD66C56CFD2",
|
||||
"hash": "682f1b82e1def454a231f1aef7cadc58cf15aca48b8837caaec49cb41d8b5d2f"
|
||||
},
|
||||
"s390x_linux_gnu": {
|
||||
"etag": "0x8DD8CD66981D82D",
|
||||
"hash": "e36efe2d7b421960fd58e635e77f850e2a9934001c2033dc48431f5727e1b3b5"
|
||||
}
|
||||
},
|
||||
"0.62.0": {
|
||||
"x86_64_linux_gnu": {
|
||||
"etag": "0x8DD880CCF3EE84C",
|
||||
"hash": "1be4420999ffde59b9a6900f2c2481a2f4e50fd2e0ac738ad028944563ee6c60"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DD880CCD4C9C5F",
|
||||
"hash": "8f6d54c7de5c7247bb92b51d29d2542be8006111515ceaf50fe8185adb59ad89"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DD880CCD7359BB",
|
||||
"hash": "b30da5d15587824335cbb88a62585f00a3aac18f3f754d3ad74d68327e2efc46"
|
||||
},
|
||||
"aarch64_linux_gnu": {
|
||||
"etag": "0x8DD880CCF085E40",
|
||||
"hash": "82c8acca00390bf5e014b26abb03e24ba754824c4f87ead5564cd56375df07c1"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DD880CCF853F18",
|
||||
"hash": "727a8865c2caf6841a1f4668fd7702f442ae088fd08e3c3719e4f731c1f11333"
|
||||
},
|
||||
"powerpc64le_linux_gnu": {
|
||||
"etag": "0x8DD880CD0DCBCA1",
|
||||
"hash": "fba4b69f5d3a792dc21b93e88c9304329e711eec699dd9b2067dca0297ff92b5"
|
||||
},
|
||||
"s390x_linux_gnu": {
|
||||
"etag": "0x8DD880CCD7DD530",
|
||||
"hash": "a11cbdbb1b72f041f39004610a20a0b7f4b2aad4788dbd735b33b58e58190aca"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -32,10 +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)",
|
||||
"latest": {
|
||||
"version": "1.4.0"
|
||||
"version": "1.5.0"
|
||||
},
|
||||
"1": {
|
||||
"version": "1.4.0"
|
||||
"version": "1.5.0"
|
||||
},
|
||||
"1.5": {
|
||||
"version": "1.5.0"
|
||||
},
|
||||
"1.5.0": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE9606A16881B6",
|
||||
"hash": "29cebebba0bc6bc8cd3f089d4c8e06abecef1a1754b9c816ef4dbf6ae41b6f63"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE9606A093D120",
|
||||
"hash": "c50589f9fd2ad018adb3c085b9f31fe73b9b5587949cc04f6ae37c18cd0cc390"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE9606A0994946",
|
||||
"hash": "11b9305afc987e71d0edc0a7454d1b3f9a7b42d3b2603870729c21bba924ad20"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE9606A08CFAF6",
|
||||
"hash": "c52a2851aae177cfdcd2adf019e391ac4512eaa1566c4f7de3bd4a4746bb60d7"
|
||||
}
|
||||
},
|
||||
"1.4": {
|
||||
"version": "1.4.0"
|
||||
@@ -28,13 +28,354 @@
|
||||
},
|
||||
"license_markdown": "[MIT](https://github.com/jdx/mise/blob/main/LICENSE)",
|
||||
"latest": {
|
||||
"version": "2026.3.16"
|
||||
"version": "2026.4.11"
|
||||
},
|
||||
"2026": {
|
||||
"version": "2026.3.16"
|
||||
"version": "2026.4.11"
|
||||
},
|
||||
"2026.4": {
|
||||
"version": "2026.4.11"
|
||||
},
|
||||
"2026.4.11": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE99529B2B70CC",
|
||||
"hash": "e5950f11eaf8b6dfa9779b16b60c16e77581e9e3c2ca6ee6d0fcdbac4213755c"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE99529E24DCBF",
|
||||
"hash": "560f1de4717b1b112e715f2e7b8e42b4ff42cff30974b4d5af6a2beee49d0fa8"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE99529F6DEBAC",
|
||||
"hash": "bd3f65b704b3eb7ca149796cb4884f1a2cd5303095955a90cf2960226c3abf4d"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE995297A42038",
|
||||
"hash": "7d81786e18d807e99e441e1a519abf47a5dd02b4beb7c1eb4c6ec8e4f4d7519e"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE99529D304581",
|
||||
"hash": "0058795c35854976d5e0cd6cb1cb644cd7d5d5a9c57989e4a696f0555dd6ceeb"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE99529F21813E",
|
||||
"hash": "0595c0ace18209519cdb98b15b8e4aeba48b8dbe56a2ce5483baa3464e4c13f5"
|
||||
}
|
||||
},
|
||||
"2026.4.10": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE9883ECEDE998",
|
||||
"hash": "6a5fe535fd05e6ac7c525c70a1e05d9b1489ad735a6259c5ff29c7aeb4904b44"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE9883F0376682",
|
||||
"hash": "0efa9ad39af34c8ac86b6de4cef9edf855cdff871db8f5146b7c13bdd841358c"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE9883F1781AC8",
|
||||
"hash": "7a259920a81a995856949df55c6cc4c8c8f1c64313d6988fbb2b16c9b1cfcb74"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE9883E8686E03",
|
||||
"hash": "20876268118bb54471fd3701143f902f48272e59830eeaa2cb06e73012580236"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE9883EF04378C",
|
||||
"hash": "dd36283b3418070e1606a2e80839577a8d895f02c1df0d23e424e7104efac81c"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE9883F10ADFAC",
|
||||
"hash": "530e3613ede81b1a7a9fc2c7c45ec75ca774672cdd258f33c4048a12fe1e50a3"
|
||||
}
|
||||
},
|
||||
"2026.4.9": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE980D9FC8526F",
|
||||
"hash": "ba7b8e34c00948d34d7e28eeddc6591d79afc248967ab42180a6c12622a11e5c"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE980DA219DF1A",
|
||||
"hash": "26440608074420298a792c0f22ef8d84580ff3b5f0066ba77567fc68ca12c86b"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE980DA2DB1CEB",
|
||||
"hash": "f309f77f3c9456aaff9a6795fb435ebab4bc3ca88948efe6f7f82ad3cec7b922"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE980D9CC506E0",
|
||||
"hash": "254a97e05b5241fd1818ecffc000f2971978c7b4d13b719f669103109968044f"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE980DA1314861",
|
||||
"hash": "52d983f61b5326bf45b16ed182a7ad55fa5f8a3fd83003c97601f8bf02ecd0a4"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE980DA2BB8382",
|
||||
"hash": "ce5f87b91f25ad378a3f945b3a820003fea506220f26237aa5c9a1b4621a3186"
|
||||
}
|
||||
},
|
||||
"2026.4.8": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE96FA8585A4DB",
|
||||
"hash": "9d670988a11e6af1a478fc2037b55af90c51e4f3bc538fe684b18b71c5a5fc4e"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE96FA882F0282",
|
||||
"hash": "b8dd35a066ed7ccfba1c9217db04cd15f0f3976f06b1c59b99a9f38122a35bd6"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE96FA88E8CF31",
|
||||
"hash": "6bc622404bcfda0bca3f87a69dfd3ea83b2da92a0e06596c2fd4953b4ab10c5a"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE96FA8212FBA0",
|
||||
"hash": "a5be964c2e29237dc6808c237793c73732db29877aa135b2457345f5d788b436"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE96FA8721A766",
|
||||
"hash": "b27b067d5dc5ad208eabffffb001d87d1edee82d2140ebdc35332ec434ea8e98"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE96FA888159DE",
|
||||
"hash": "0a13e8ec7dbacd13b4eeb88ffdfd8800c5646be9592a4e2781d3f92b97ab18b1"
|
||||
}
|
||||
},
|
||||
"2026.4.7": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE962B67CA1C09",
|
||||
"hash": "494865907326bb864a31e4ca22bf6ed7572ceedea14ff8e82c783f604551dde3"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE962B6A6B1EA5",
|
||||
"hash": "fdffa9feeba79fd0d87494fa61af0d8b32b9e54c8200d5157a0365302ad531c1"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE962B6B48C5C8",
|
||||
"hash": "86ee64104d1d4202cc2347a325ed22b53fe28462519079b005d95a144de73933"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE962B6482E5D0",
|
||||
"hash": "58040a3fd0d8ac18ce99e7e5ebe79be50d49dc8a5a57f7e48441ab42c083cde0"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE962B698763DB",
|
||||
"hash": "311c41004d74519f97d180f404a623f8945366d9747d3c7b1c545a291d2c168e"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE962B6AD54FFD",
|
||||
"hash": "98ab2597f455e8e114445e30547a89007188cb57a4a2d3211cd7ae159cd2f72a"
|
||||
}
|
||||
},
|
||||
"2026.4.6": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE9505278268D0",
|
||||
"hash": "a99603adb9b185da342a1ff81e93390c42e6a90737086d130e929ddc6af774cc"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE950529B1EF40",
|
||||
"hash": "8c38ef6bdbe87a007d4e428d3974ab4e7b657c5dcf61d288edb69882070e2d0b"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE95052A93FE38",
|
||||
"hash": "1ccca1e747e1e5ddf0621b1a19cc02bd33f740542f0c3e5481ffa26062c05d01"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE950524131738",
|
||||
"hash": "bf5877c2ff7fd734f22ab1ed055f557d4bc865a54810fb59c3ebb175b238e6e7"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE95052911F638",
|
||||
"hash": "3f3e5584a9d563b62d07e0422100be5a9f7f56f0fc5555d4f0a17c3661757107"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE95052A84A627",
|
||||
"hash": "a2bb99b42571471a6bc5ff333a50841b3c8965db79e1a79644082cc7c05904a6"
|
||||
}
|
||||
},
|
||||
"2026.4.5": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE93CF28627B72",
|
||||
"hash": "8fa8eb3f3df6054089c1b8d8ab328927add851216053f83e681374f0cf34e4aa"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE93CF2AE7FEDD",
|
||||
"hash": "a6915b8b25548a1556a3880a3d2f75dd8544ccd67ce49cc70f13661fa4eee24c"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE93CF2BA1F279",
|
||||
"hash": "f379f668f5c51e27fab90a70007d7b5140bbabae1a78be85ef9ddef243c936b6"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE93CF253B2C4C",
|
||||
"hash": "384fe2cf9864b1bd0c91beb65c38a0d59b01c7ce1d82f05bd6ea5136e119a6c2"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE93CF29D221B3",
|
||||
"hash": "e2b3e912ab9405daacb79ac283a99ad5b1a04667ad4c0a69dd7ab406ba0ceba9"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE93CF2B2BC09D",
|
||||
"hash": "0dd01e1e456e79db7de39a135e8d73218841d9489b69560ce9e010141b3f21ae"
|
||||
}
|
||||
},
|
||||
"2026.4.4": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE92B8CD42D7A7",
|
||||
"hash": "3d746d5a137e63ed88e4e2213a9706a43dff68c995376fabb753a90ec799af18"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE92B8CF701697",
|
||||
"hash": "e3fe092643f3e68c3a2be9eef217937f241accb81891332678550c15224627c0"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE92B8D03C1E31",
|
||||
"hash": "5c879723f693514f6f8f725270724561cd8ebdf913188839ad1f879900bf5719"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE92B8CA044A7E",
|
||||
"hash": "e2da1fd598b4aa347761daf373e51608cbc4465c6b076b60b22cb1ef659cf97e"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE92B8CEAE639C",
|
||||
"hash": "22459d2852b716f5dbbdb07173ae0fb28d99b701589f6f6a73d85ac47a497de8"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE92B8D051630C",
|
||||
"hash": "6cada4eeeef1a9cd074962a76fa9a6f107b5b791b01839fc3355d3f3b1604c85"
|
||||
}
|
||||
},
|
||||
"2026.4.3": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE918787D0FCD3",
|
||||
"hash": "b700ef056f6671a738d824ed5b02b17615b470d6659adf548a49eda1f51bb770"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE91878B96BFCE",
|
||||
"hash": "f7dd16c3ad36e3b631a3f4c85c24be4c2577bfe693858df85bef46aff6f8acec"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE91878C86A1E4",
|
||||
"hash": "a564ed07eb2c41c403a59ac03238d053d0f250aa4e55225dc0456d63bb6589cb"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE91878239E45C",
|
||||
"hash": "1678e69b2fdbc9e0b8eea0c6e091922a1873a3c42e4a87bb13805a4f2613a7b5"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE91878A44E083",
|
||||
"hash": "c00791c18b8e1192685e995fd5b6ba136a19b01d16256a0367155274056a3aa8"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE91878C56793B",
|
||||
"hash": "02a27c60b23c5fb8d894a82af01d2ceb1f2e6d1d14db7463cb6ddb30489b0f5f"
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE8FE21276B8C4",
|
||||
"hash": "fb18613a5757097e947b1f904f51c2187be1153637e596645f4cc2c9d693810c"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE8FE21C68EACC",
|
||||
"hash": "1a8aa4e2c9d5aa29cd471efc9de13008c49aa49ac498eacf589ee2c94b29356f"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE8FE21FCAB703",
|
||||
"hash": "59e82ebc9497b1cde6e6815807d0297b4d35c601aad2446cb8e101bb369f9b4d"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE8FE2092ED454",
|
||||
"hash": "e54667528e0f2d7c4b2d259a72b53a4008f622b6bbf599461e65383f73f7741f"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE8FE2180465F0",
|
||||
"hash": "38af032537ffe661b004aef888c829d08f5d977e71f53f9711e184719ff5a6a8"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE8FE21F1C7623",
|
||||
"hash": "b40d20a2e0b17d7e454e8f4c3a19e0da45d28c3b484d9fad35e7a1513acb865d"
|
||||
}
|
||||
},
|
||||
"2026.3": {
|
||||
"version": "2026.3.16"
|
||||
"version": "2026.3.18"
|
||||
},
|
||||
"2026.3.18": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE8F16236336C0",
|
||||
"hash": "46c5c69eb04b8695189d530782a8778c390c3fbcea04bbe01eb321f1fb0f09ab"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE8F1625C18807",
|
||||
"hash": "55ca4c1b201dff443e9d12119c957874ff61915bf297eeacda8ec5e3ed7f931d"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE8F16267EAC4F",
|
||||
"hash": "7c50c4588f1b85944a5d9e5640998459b8a1360574a1617a5590f055e1b3caea"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE8F161FB2DF40",
|
||||
"hash": "2cae8fe34edab073f7e8794d30bc7419bebd0391fdc73decc51b4ed1d3f62a32"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE8F1625132034",
|
||||
"hash": "f387b7ed21afede268daccceb54d62905e2b7bab081bc17dc37c1077f0d17e69"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE8F162692E0ED",
|
||||
"hash": "7ee025648c1efbf7fd927079b07af26a7bc89e62fea8c889c4186cabe22ab671"
|
||||
}
|
||||
},
|
||||
"2026.3.17": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE8BF1812CA605",
|
||||
"hash": "f416a2d27f69173b22551429d2bc712c40fc3fb639112cf76ae817baae3772e2"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE8BF1834954DF",
|
||||
"hash": "bd120908c1476f6f27ae27f4214bdbc3fb0e81b9671aaba720b994a217d28e39"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE8BF1841058BD",
|
||||
"hash": "a5e0a77fe5ac6397d6bd3413b6c9b39ac06f24649a88eed526173062960f7b85"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE8BF17E0B455B",
|
||||
"hash": "7ef20440c3e1d9f0db69e57e68e6833a9cade44fd1e97384a279660e48091f97"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE8BF18293F06F",
|
||||
"hash": "6d98cedb9c92bd7a1694c9efedc035288da87f6e19c79d15bf91449474c37ce9"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE8BF183D566EE",
|
||||
"hash": "98772d1d68d23e8f1040c62501bcd0d136cf2db3b995a5e7b6f77aca93aef060"
|
||||
}
|
||||
},
|
||||
"2026.3.16": {
|
||||
"x86_64_linux_musl": {
|
||||
@@ -40,10 +40,44 @@
|
||||
},
|
||||
"license_markdown": "[MIT](https://github.com/j178/prek/blob/master/LICENSE)",
|
||||
"latest": {
|
||||
"version": "0.3.8"
|
||||
"version": "0.3.9"
|
||||
},
|
||||
"0.3": {
|
||||
"version": "0.3.8"
|
||||
"version": "0.3.9"
|
||||
},
|
||||
"0.3.9": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE9958BFB91B93",
|
||||
"hash": "254b48c4b0d8c7da07d0f23144f55f8b56d3a83c416d17a25dbaaee2f721f231"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE9958BF2DA54A",
|
||||
"hash": "62b863b3cfcd56dec6a924acad0362594607c86cb773265e148acce252a5c4ac"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE9958BF56354B",
|
||||
"hash": "a260094190979a6b2aa6e0bef02121a21e8c2715c2d91603f2763123bfc7f902"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE9958BDDB792E",
|
||||
"hash": "b6153b0756a61fc45bf9e63aaf68661bdd9da03dfcf18e2509cedba445b6c4c9"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE9958BDA9CBA2",
|
||||
"hash": "0e52d21951d488a9db211c9ea35775614b3cbadc778247486c1e0e9fd0e106cc"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE9958BD9BAACF",
|
||||
"hash": "b2fa54c2c6c43cf447a043551e68201c103c2d22692345a29622db8af9c3ce4e"
|
||||
},
|
||||
"riscv64_linux_gnu": {
|
||||
"etag": "0x8DE9958BEFA4C07",
|
||||
"hash": "28e3ba07248eb03f1cd57d6978fdf466eebdf3f69d6eb34b161af898ebb8b45d"
|
||||
},
|
||||
"s390x_linux_gnu": {
|
||||
"etag": "0x8DE9958BF32A8AF",
|
||||
"hash": "bde03bc2acad42eff7dc1579eceb98f1a0cd271dce7e76cf8a056e93e2b85bd9"
|
||||
}
|
||||
},
|
||||
"0.3.8": {
|
||||
"x86_64_linux_musl": {
|
||||
@@ -28,13 +28,39 @@
|
||||
},
|
||||
"license_markdown": "[MIT](https://github.com/rclone/rclone/blob/master/COPYING)",
|
||||
"latest": {
|
||||
"version": "1.73.3"
|
||||
"version": "1.73.4"
|
||||
},
|
||||
"1": {
|
||||
"version": "1.73.3"
|
||||
"version": "1.73.4"
|
||||
},
|
||||
"1.73": {
|
||||
"version": "1.73.3"
|
||||
"version": "1.73.4"
|
||||
},
|
||||
"1.73.4": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE9573A5AC74E7",
|
||||
"hash": "abc0e6e0f275a469d94645f7ef92c7c7673eed20b6558acec5ff48b74641213c"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE957478A87CEE",
|
||||
"hash": "4ef15279d857372f3ff84b967ad68fc1c3b113d631effb9c09a18e40f8a78fa7"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE9574B24AE740",
|
||||
"hash": "4ad32977eec7f77aef98c035865c333f2005be2478dd6b04c9456d1df7b326bf"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE9573BDB7D24C",
|
||||
"hash": "00c9e230f0004ab5e3b45c00edf7238ba5bff5fc7ea80f5a86a7da5568de6d1c"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE9574816FB321",
|
||||
"hash": "8cfffacc3ce732b1960645a2f7d2ce97c2ac9ba4f2221c13af6378c199a078f9"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE9574BA07586F",
|
||||
"hash": "db0cbec2eee4e852762d65afc5fe1c06cee5ba246c0ea8b765f4a5cf2aaa009a"
|
||||
}
|
||||
},
|
||||
"1.73.3": {
|
||||
"x86_64_linux_musl": {
|
||||
@@ -19,13 +19,35 @@
|
||||
},
|
||||
"license_markdown": "[BSD-3-Clause](https://github.com/mvdan/sh/blob/master/LICENSE)",
|
||||
"latest": {
|
||||
"version": "3.13.0"
|
||||
"version": "3.13.1"
|
||||
},
|
||||
"3": {
|
||||
"version": "3.13.0"
|
||||
"version": "3.13.1"
|
||||
},
|
||||
"3.13": {
|
||||
"version": "3.13.0"
|
||||
"version": "3.13.1"
|
||||
},
|
||||
"3.13.1": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE9425968D392A",
|
||||
"hash": "fb096c5d1ac6beabbdbaa2874d025badb03ee07929f0c9ff67563ce8c75398b1"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE9425982BD0F0",
|
||||
"hash": "6feedafc72915794163114f512348e2437d080d0047ef8b8fa2ec63b575f12af"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE942594A8E60E",
|
||||
"hash": "60cd368533d0ad73fa86d93d5bbf95ef40587245ce684ed138c1b31557b5fe97"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE942595A9A537",
|
||||
"hash": "32d92acaa5cd8abb29fc49dac123dc412442d5713967819d8af2c29f1b3857c7"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE9425979B56CB",
|
||||
"hash": "9680526be4a66ea1ffe988ed08af58e1400fe1e4f4aef5bd88b20bb9b3da33f8"
|
||||
}
|
||||
},
|
||||
"3.13.0": {
|
||||
"x86_64_linux_musl": {
|
||||
@@ -36,13 +36,47 @@
|
||||
},
|
||||
"license_markdown": "[Apache-2.0](https://github.com/anchore/syft/blob/main/LICENSE)",
|
||||
"latest": {
|
||||
"version": "1.42.3"
|
||||
"version": "1.42.4"
|
||||
},
|
||||
"1": {
|
||||
"version": "1.42.3"
|
||||
"version": "1.42.4"
|
||||
},
|
||||
"1.42": {
|
||||
"version": "1.42.3"
|
||||
"version": "1.42.4"
|
||||
},
|
||||
"1.42.4": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE95AFF8B22211",
|
||||
"hash": "590650c2743b83f327d1bf9bec64f6f83b7fec504187bb84f500c862bf8f2a0f"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE95AFF8BA2F4D",
|
||||
"hash": "4a14affad1b90f0bfa38fdb784279f01598b6099df40686391d814620e9de226"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE95AFF8B46965",
|
||||
"hash": "a712f912e8fc83ce2bf6a7cea213c2d5185778d66ea2e07d42c767817f77e381"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE95AFF85E45C7",
|
||||
"hash": "5029bad1ed372649527b1e443cbceef7f5d6ae1cfe52c16e721559f94267128b"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE95AFF7CD5703",
|
||||
"hash": "0797b64cf8841c904682e6007a695f9cd3e72103f064dd286723c0a56a2273e2"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE95AFF8296773",
|
||||
"hash": "6596227b24729d54e727917d5d59e3a6a49fc59cd505aae5a6d7eb630d871e82"
|
||||
},
|
||||
"powerpc64le_linux_musl": {
|
||||
"etag": "0x8DE95AFF78EE682",
|
||||
"hash": "9a54460ae5f6c3484c6f9913187306e4996ba21267e185434783872856dc836d"
|
||||
},
|
||||
"s390x_linux_musl": {
|
||||
"etag": "0x8DE95AFF8AF65FA",
|
||||
"hash": "8b2d019bbed41cc991be32f5c2a630b3dfb8cd76f8c45d815f18c4afd56b280e"
|
||||
}
|
||||
},
|
||||
"1.42.3": {
|
||||
"x86_64_linux_musl": {
|
||||
@@ -22,10 +22,218 @@
|
||||
},
|
||||
"license_markdown": "[MIT](https://github.com/tombi-toml/tombi/blob/main/LICENSE)",
|
||||
"latest": {
|
||||
"version": "0.9.9"
|
||||
"version": "0.9.17"
|
||||
},
|
||||
"0.9": {
|
||||
"version": "0.9.9"
|
||||
"version": "0.9.17"
|
||||
},
|
||||
"0.9.17": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE9896615FC8ED",
|
||||
"hash": "e2924b9debcfb8f3ec91e149ded07126c507b04a7cc775253c859d2d1bd60f36"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE98966161C271",
|
||||
"hash": "853a8d6da45b8af67fcdbaf56918895ec04b86733f44243eb8650b9fb258d594"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE989661689880",
|
||||
"hash": "e84b23757c5d01dd175aaee4828497889a667a8344b289dce53bcfff7a1ab69c"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE989661DC0DDF",
|
||||
"hash": "d8e5e4655eab5d26932ed741b26cddf9ac017a3aef0da595f776259060fcd83f"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE989661E09C9F",
|
||||
"hash": "11dc87c97bfa79da10922f377573509dcbeaf6794118d61baf45890a4c4a48df"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE9896616F6E9C",
|
||||
"hash": "a7351b565caaa4014f0f04326028d036c696fddd17cfc6c4377d7a68a33d483b"
|
||||
}
|
||||
},
|
||||
"0.9.16": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE95275403B11A",
|
||||
"hash": "93f0b5febc18f60c172a7d4008325183f6b90d3c2a2454e27bbc7aaa662c25de"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE952753DFFD89",
|
||||
"hash": "847a696cf655e642d7402560badde15c6fbb2b34a7e21fa33ba2614d74816a4e"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE952754763D72",
|
||||
"hash": "a08e144e55fa8b998e46bf2923c9d8fae1f454771c6411fd213febd9e182ae48"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE952754627D8A",
|
||||
"hash": "0549ee34fbbaf462ae8b17c41fc30dbfdada8e2adadc058b1f92d6d0070ca70e"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE952753D14101",
|
||||
"hash": "4a33dff421e644c03708b26cf73b235f7f146ef6af9ba631b66aa97cb10244ae"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE952753D6E00A",
|
||||
"hash": "1002d0cff2b146eb70d6670e20f8417a31a15a620755ec7b182f35b4f8816f68"
|
||||
}
|
||||
},
|
||||
"0.9.15": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE93A3FAF30C3B",
|
||||
"hash": "5be8b5d8d01044d135d9a08b407ad08ca1a6c7fd2e214eb892442968cdca7cf5"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE93A3FB045DDD",
|
||||
"hash": "3cf44fa8853b08c895d72583303a3fc402a97c933869c517a006f9b72c30819b"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE93A3FB001D02",
|
||||
"hash": "6fd8dde2c095ac060c22a1797377c8b30c7e6f6fb56a4a4dde482303e5ec62f0"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE93A3FB846F95",
|
||||
"hash": "ba5b907a945a40aa544ba1519434037018fd88b25d2134882c3e774e4702499a"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE93A3FAF6D883",
|
||||
"hash": "d9235496e896874ab8799b4d7efa9c8dff61962478bce6647dbbb81b1937e822"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE93A3FB6A2752",
|
||||
"hash": "015b47b6d266c49cd6b7d43b4bae82726be6134971dd2232092b020d555b9976"
|
||||
}
|
||||
},
|
||||
"0.9.14": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE91E8D04C6FA6",
|
||||
"hash": "0c6a3141cfa53948bb02148ec48b9cd2afad636b782b6f4770104d306caa8d95"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE91E8D02B514D",
|
||||
"hash": "e7d2adeef03a9b65d280e31ddca75510fe11dcc1864ee443b75a1872b9a47937"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE91E8CF98900F",
|
||||
"hash": "449c28b597c902862d799ad99d67d9de05eb2bb142e6f81e29c25ab95567c3a3"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE91E8CF650FD6",
|
||||
"hash": "983aab4bba3dd9a8aafd4f6e7922f0d687564101199f66d48cd6b670c2c996d6"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE91E8CF5C6701",
|
||||
"hash": "9fc05caf7bf58a37d9a925e2fc1e17d7bf0591120790665bb2142c0076ca3f15"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE91E8CF87B31E",
|
||||
"hash": "70202f4fcdfa081ad928052757cd16bae99b445fd775eaac6b1d0ef8a7265775"
|
||||
}
|
||||
},
|
||||
"0.9.13": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE8F7844A7DC4C",
|
||||
"hash": "55023b6a24f12c5be2fb6dd826a5f3763e701d4175352619518ac5092540d61a"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE8F7844169FFC",
|
||||
"hash": "00232564a55f84a19b571769207ce319056b96800e25ed2fab44203e71e38443"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE8F78442C32A0",
|
||||
"hash": "b886f817ea20a561ca330c9bc4097392c5d6471d94faabad41283763044b79cc"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE8F78441175B8",
|
||||
"hash": "db2bf291f42193a4bd5aebbddd37f1154f7a179b8952ea1ca20290800f0d344d"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE8F784480359A",
|
||||
"hash": "608e397c0b1a874814113cd337464589db858364aad26146ce5c778d4cbcbdea"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE8F784435C4C1",
|
||||
"hash": "21d83ec6a1526c601bfcafdd7a5890d96710d80a2b84e62c6edacdc9a1c92f70"
|
||||
}
|
||||
},
|
||||
"0.9.12": {
|
||||
"x86_64_linux_musl": {
|
||||
"etag": "0x8DE8E7577C157C6",
|
||||
"hash": "79236f1175331e3d189e54103d12ed957eed53d4ccc0a0eb9299f30102c7dda1"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"etag": "0x8DE8E7577BA0D09",
|
||||
"hash": "9a1b1463135f88493500dc1abfea9777a6e2f4f980dcfbe7b150cc41f4ccb474"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"etag": "0x8DE8E7577D14B62",
|
||||
"hash": "f60bd33e0bddaaa4ca556d82229ff7a833119b63accfca14f62c0175a2f5b4d0"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"etag": "0x8DE8E7577C413D4",
|
||||
"hash": "e0d333c04d75980a6f28d1f476e8b2182e03f58c74cfbe0706e2249d1d666dc8"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"etag": "0x8DE8E7578A33F60",
|
||||
"hash": "98c6d08b6102ce0498208ef55d14861c197f131a42a9add020aa0d076636d166"
|
||||
},
|
||||
"aarch64_windows": {
|
||||
"etag": "0x8DE8E7578703417",
|
||||
"hash": "55b186788381c89ad1a18b8bf0c2ffe9cb0eb270efe1cab406edb845b3743a50"
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
@@ -1 +0,0 @@
|
||||
git ls-files
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user