1 Commits

Author SHA1 Message Date
Jason Swank
2fa7870ddb add asciinema 2026-02-06 13:16:01 -05:00
18 changed files with 94 additions and 193 deletions

View File

@@ -1,80 +0,0 @@
name: Regenerate install scripts on Renovate PRs
on:
pull_request:
branches: [main]
paths:
- "config/*.binstaller.yml"
jobs:
regen:
if: startsWith(github.head_ref, 'renovate/')
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: read
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
token: ${{ secrets.GITHUB_TOKEN }}
- name: Install task
run: |
curl -sSL https://raw.githubusercontent.com/jswank/install/main/scripts/task-install.sh | bash
echo "${HOME}/.local/bin" >> "$GITHUB_PATH"
- name: Install binst
run: |
curl -sSL https://raw.githubusercontent.com/jswank/install/main/scripts/binstaller-install.sh | bash
echo "${HOME}/.local/bin" >> "$GITHUB_PATH"
- name: Install yq
run: |
sudo wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64
sudo chmod +x /usr/local/bin/yq
- name: Detect changed configs
id: changed
run: |
changed=$(git diff --name-only origin/main...HEAD -- 'config/*.binstaller.yml' \
| sed 's|config/||;s|\.binstaller\.yml||' \
| tr '\n' ' ')
echo "binaries=${changed}" >> "$GITHUB_OUTPUT"
- name: Extract new versions from changed configs
id: versions
run: |
for binary in ${{ steps.changed.outputs.binaries }}; do
version=$(grep -oP '(?<=embedded_checksums:\n\s{4})(v[\d.]+)' \
"config/${binary}.binstaller.yml" || \
grep -A 1 'embedded_checksums:' "config/${binary}.binstaller.yml" \
| tail -1 | grep -oP 'v[\d.]+')
echo "${binary}=${version}" >> "$GITHUB_OUTPUT"
done
- name: Re-embed checksums and regenerate scripts
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
for binary in ${{ steps.changed.outputs.binaries }}; do
version=$(grep -A 1 'embedded_checksums:' "config/${binary}.binstaller.yml" \
| tail -1 | grep -oP 'v[\d.]+')
echo "Regenerating ${binary} at ${version}"
binst embed-checksums \
--config "config/${binary}.binstaller.yml" \
--version "${version}" \
--mode download
binst gen \
--config "config/${binary}.binstaller.yml" \
-o "scripts/${binary}-install.sh"
done
- name: Commit regenerated scripts
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add scripts/
git diff --cached --quiet || git commit -m "chore: regenerate install scripts"
git push

View File

@@ -26,7 +26,7 @@ asset:
checksums:
algorithm: sha256
embedded_checksums:
v0.30.0: # renovate: datasource=github-releases depName=sigoden/aichat
v0.30.0:
- filename: aichat-v0.30.0-aarch64-apple-darwin.tar.gz
hash: 680d36ed7f7ba8a2c2490a099df26c9da54495903c27956109a89c87eeb9edb3
- filename: aichat-v0.30.0-aarch64-pc-windows-msvc.zip

View File

@@ -0,0 +1,35 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/binary-install/binstaller/main/schema/InstallSpec.json
schema: v1
repo: asciinema/asciinema
asset:
template: asciinema-${ARCH}-${OS}${EXT}
rules:
- when:
arch: amd64
arch: x86_64
- when:
arch: arm64
arch: aarch64
- when:
os: darwin
os: apple-darwin
- when:
os: linux
arch: amd64
os: unknown-linux-musl
- when:
os: linux
arch: arm64
os: unknown-linux-gnu
checksums:
algorithm: sha256
embedded_checksums:
v3.1.0:
- filename: asciinema-aarch64-apple-darwin
hash: c354d4abcbeae94c592df0d70417d6fca8400546c3b4b5b666761fa8b1a9bca8
- filename: asciinema-aarch64-unknown-linux-gnu
hash: dd6a08eed98d200b0a00d6756b564c10d95f7b6de940c8bac52098a55221f300
- filename: asciinema-x86_64-apple-darwin
hash: 5f0531ada539ce32224e2c680d8022b77ee82fd7b4fd24569f78f1772d38750c
- filename: asciinema-x86_64-unknown-linux-musl
hash: 7c5dc9172a9a9202dd8f558b9df2220785e9b4ce2763091fc22e9f9a458a161b

View File

@@ -4,38 +4,19 @@ repo: binary-install/binstaller
asset:
template: binst_${OS}_${ARCH}${EXT}
default_extension: .tar.gz
binaries:
- name: binst
path: binst
rules:
- when:
arch: amd64
arch: x86_64
- when:
os: darwin
os: Darwin
- when:
os: linux
os: Linux
- when:
os: windows
os: Windows
- when:
os: windows
ext: .zip
checksums:
algorithm: sha256
embedded_checksums:
v0.12.0: # renovate: datasource=github-releases depName=binary-install/binstaller
- filename: binst_Darwin_arm64.tar.gz
hash: 2c3a8cf9b8f95edb5d97b905ccb0204800b25f1a9bc2b4ad704596e756e41eb9
- filename: binst_Darwin_x86_64.tar.gz
hash: bd9eae149f5735671bf1f32204f5ba9f10de269a290755f21f93bf1bb5d09b03
- filename: binst_Linux_arm64.tar.gz
hash: 76bca4884ee3fa229d915473ddd53ab4d04c34c9e4b5a1eda36d9751763af916
- filename: binst_Linux_x86_64.tar.gz
hash: af36ebb92c01ad4b9867a79eb45d1a130efbce20930896ec7578b3746416ee41
- filename: binst_Windows_arm64.zip
hash: 133784089efd57f5a0164b84ac74c4924c299342c88eb40be65155193ca37761
- filename: binst_Windows_x86_64.zip
hash: afcc9eab78de6bfa1ce360aebbf1a48738c519cdbe6a9560e6979ec3a4fcb4ef
- when:
arch: amd64
arch: x86_64
- when:
os: darwin
os: Darwin
- when:
os: linux
os: Linux
- when:
os: windows
os: Windows
- when:
os: windows
ext: .zip

View File

@@ -21,7 +21,7 @@ checksums:
algorithm: sha256
template: eksctl_checksums.txt
embedded_checksums:
v0.221.0: # renovate: datasource=github-releases depName=eksctl-io/eksctl
v0.221.0:
- filename: eksctl_Darwin_amd64.tar.gz
hash: 9a5a3370ed79ffa646e25a0115aa7ee7fa203b284dffe058135b353be1542752
- filename: eksctl_Darwin_arm64.tar.gz

View File

@@ -11,7 +11,7 @@ checksums:
algorithm: sha256
template: checksums.txt
embedded_checksums:
v2.0.0: # renovate: datasource=github-releases depName=ekalinin/github-markdown-toc.go
v2.0.0:
- filename: gh-md-toc_2.0.0_darwin_amd64.tar.gz
hash: 622626f7880f6b604e93c06638e948500f4b458703d4066e91bae5b857934666
- filename: gh-md-toc_2.0.0_darwin_arm64.tar.gz

View File

@@ -1,18 +0,0 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/binary-install/binstaller/main/schema/InstallSpec.json
schema: v1
repo: rubrical-studios/gh-pmu
asset:
template: ${OS}-${ARCH}${EXT}
checksums:
algorithm: sha256
template: checksums.txt
embedded_checksums:
v0.14.3: # renovate: datasource=github-releases depName=rubrical-studios/gh-pmu
- filename: darwin-amd64
hash: 0a07dea041d1a76683884ae82fd9c4ecf8569c01d5bc03168b5dd15da471637a
- filename: darwin-arm64
hash: 4401d839d0e15511ec478a0008e66338e9fa407437bf7aee52ec003f2b99e38c
- filename: linux-amd64
hash: 3519a08f7f82e635acb5df755855b6cfd754f73603d59a5958ded2be7dac14fb
- filename: linux-arm64
hash: be4f3e9e4691bffe121a40240e94359b5b00f7fad844a29e497fb7b01d89b1b3

View File

@@ -8,7 +8,7 @@ checksums:
algorithm: sha256
template: tofu_${VERSION}_SHA256SUMS
embedded_checksums:
v1.11.4: # renovate: datasource=github-releases depName=opentofu/opentofu
v1.11.4:
- filename: tofu_1.11.4_darwin_amd64.tar.gz
hash: 46abdd10b826e864f6daf2013a6f0dbc079d8c6e0f79b529138b7da50bea502f
- filename: tofu_1.11.4_darwin_arm64.tar.gz

View File

@@ -12,7 +12,7 @@ checksums:
algorithm: sha256
template: task_checksums.txt
embedded_checksums:
v3.46.4: # renovate: datasource=github-releases depName=go-task/task
v3.46.4:
- filename: task_darwin_amd64.tar.gz
hash: 6e3d1bf5fcc03e50b2c02c92335923b715d3f61e27fef5b3048b59ed97a18721
- filename: task_darwin_arm64.tar.gz

View File

@@ -39,7 +39,7 @@ checksums:
algorithm: sha256
template: tenv_${TAG}_checksums.txt
embedded_checksums:
v4.9.0: # renovate: datasource=github-releases depName=tofuutils/tenv
v4.9.0:
- filename: tenv_v4.9.0_Darwin_arm64.tar.gz
hash: 9fe1bea568d89c877198caa3af8cdf78c44263aedd6117feb783be4f242bf09b
- filename: tenv_v4.9.0_Darwin_x86_64.tar.gz

View File

@@ -8,7 +8,7 @@ checksums:
algorithm: sha256
template: checksums.txt
embedded_checksums:
v0.60.0: # renovate: datasource=github-releases depName=terraform-linters/tflint
v0.60.0:
- filename: tflint_darwin_amd64.zip
hash: 256f70ad2c9963690bccc31ffda6be0159f1c5f857b46773b70d01d56b711280
- filename: tflint_darwin_arm64.zip

View File

@@ -41,16 +41,3 @@ checksums:
hash: 192bb1f0f9f257cad232e0148d81c3e31e644b888e61c22b46fa15b6b760547e
- filename: toolhive_0.8.0_windows_arm64.zip
hash: 313931641136da7479f02caf351c955c2d1d9bbc7204dff5f7f9d61ca1fd9242
v0.9.2: # renovate: datasource=github-releases depName=stacklok/toolhive
- filename: toolhive_0.9.2_darwin_amd64.tar.gz
hash: f8e45af89346a93678ed628552e68dae19a04f0b7402e1e545e5a53dd68ddb38
- filename: toolhive_0.9.2_darwin_arm64.tar.gz
hash: 29595e175cf60c3b8419754a5e384c530a84d63b506dd240372e55ba07290434
- filename: toolhive_0.9.2_linux_amd64.tar.gz
hash: 70be3936c37f98f5582aabc5b455e9f89ec797146cd69485484129e95f607185
- filename: toolhive_0.9.2_linux_arm64.tar.gz
hash: a9bdac8893adbfbd3b1491155b54f825cb82e084a837422e12a1de72dcd574ba
- filename: toolhive_0.9.2_windows_amd64.zip
hash: e8c73681a2ccf55396497d5b6066811f2e059776e2444ec35daa3a0a74267e66
- filename: toolhive_0.9.2_windows_arm64.zip
hash: d42f5149287fd0b37f517724272421b14d4732e036d35e0a908deece836f7500

View File

@@ -24,7 +24,7 @@ checksums:
algorithm: sha256
template: trivy_${VERSION}_checksums.txt
embedded_checksums:
v0.68.2: # renovate: datasource=github-releases depName=aquasecurity/trivy
v0.68.2:
- filename: trivy_0.68.2_Linux-64bit.tar.gz
hash: 3d933bbc3685f95ec15280f620583d05d97ee3affb66944d14481d5d6d567064
- filename: trivy_0.68.2_Linux-ARM64.tar.gz

View File

@@ -8,7 +8,7 @@ checksums:
algorithm: sha256
template: trufflehog_${VERSION}_checksums.txt
embedded_checksums:
v3.92.4: # renovate: datasource=github-releases depName=trufflesecurity/trufflehog
v3.92.4:
- filename: trufflehog_3.92.4_darwin_amd64.tar.gz
hash: 7599e25b2d9c8eea30aac873114bad54cb254a3dbc4b01cac52b28ef9f013f0e
- filename: trufflehog_3.92.4_darwin_arm64.tar.gz

View File

@@ -1,18 +0,0 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:base"],
"minimumReleaseAge": "7 days",
"labels": ["renovate", "dependencies"],
"schedule": ["before 9am on monday"],
"prConcurrentLimit": 5,
"regexManagers": [
{
"fileMatch": ["^config/[^/]+\\.binstaller\\.yml$"],
"matchStrings": [
"\\s+(?<currentValue>v[\\d.]+):\\s+#\\s+renovate:\\s+datasource=(?<datasource>[^\\s]+)\\s+depName=(?<depName>[^\\s]+)"
],
"datasourceTemplate": "{{datasource}}",
"depNameTemplate": "{{depName}}"
}
]
}

View File

@@ -13,7 +13,7 @@ Usage: $this [-b bindir] [-d] [-q] [-n] [tag]
-q turns on quiet mode (errors only)
-n turns on dry run mode
[tag] is a tag from
https://github.com/rubrical-studios/gh-pmu/releases
https://github.com/asciinema/asciinema/releases
If tag is missing, then latest will be used.
Environment variables:
@@ -410,10 +410,10 @@ github_release() {
# --- Embedded Checksums (Format: VERSION:FILENAME:HASH) ---
EMBEDDED_CHECKSUMS="
0.14.3:darwin-amd64:0a07dea041d1a76683884ae82fd9c4ecf8569c01d5bc03168b5dd15da471637a
0.14.3:darwin-arm64:4401d839d0e15511ec478a0008e66338e9fa407437bf7aee52ec003f2b99e38c
0.14.3:linux-amd64:3519a08f7f82e635acb5df755855b6cfd754f73603d59a5958ded2be7dac14fb
0.14.3:linux-arm64:be4f3e9e4691bffe121a40240e94359b5b00f7fad844a29e497fb7b01d89b1b3"
3.1.0:asciinema-aarch64-apple-darwin:c354d4abcbeae94c592df0d70417d6fca8400546c3b4b5b666761fa8b1a9bca8
3.1.0:asciinema-aarch64-unknown-linux-gnu:dd6a08eed98d200b0a00d6756b564c10d95f7b6de940c8bac52098a55221f300
3.1.0:asciinema-x86_64-apple-darwin:5f0531ada539ce32224e2c680d8022b77ee82fd7b4fd24569f78f1772d38750c
3.1.0:asciinema-x86_64-unknown-linux-musl:7c5dc9172a9a9202dd8f558b9df2220785e9b4ce2763091fc22e9f9a458a161b"
# Find embedded checksum for a given version and filename
find_embedded_checksum() {
@@ -464,8 +464,28 @@ resolve_asset_filename() {
# --- Apply Rules ---
ASSET_FILENAME=""
if [ "${UNAME_ARCH}" = 'amd64' ] && true
then
ARCH='x86_64'
fi
if [ "${UNAME_ARCH}" = 'arm64' ] && true
then
ARCH='aarch64'
fi
if [ "${UNAME_OS}" = 'darwin' ] && true
then
OS='apple-darwin'
fi
if [ "${UNAME_OS}" = 'linux' ] && [ "${UNAME_ARCH}" = 'amd64' ] && true
then
OS='unknown-linux-musl'
fi
if [ "${UNAME_OS}" = 'linux' ] && [ "${UNAME_ARCH}" = 'arm64' ] && true
then
OS='unknown-linux-gnu'
fi
if [ -z "${ASSET_FILENAME}" ]; then
ASSET_FILENAME="${OS}-${ARCH}${EXT}"
ASSET_FILENAME="asciinema-${ARCH}-${OS}${EXT}"
fi
}
# Cleanup function to remove temporary files and stop progress
@@ -481,7 +501,7 @@ cleanup() {
execute() {
STRIP_COMPONENTS=0
CHECKSUM_FILENAME="checksums.txt"
CHECKSUM_FILENAME=""
# --- Construct URLs ---
GITHUB_DOWNLOAD="https://github.com/${REPO}/releases/download"
@@ -530,7 +550,7 @@ execute() {
log_info "Extracting ${ASSET_FILENAME}..."
(cd "${TMPDIR}" && untar "${ASSET_FILENAME}" "${STRIP_COMPONENTS}")
fi
BINARY_NAME='gh-pmu'
BINARY_NAME='asciinema'
if [ -z "${EXT}" ] || [ "${EXT}" = ".exe" ]; then
BINARY_PATH="${TMPDIR}/${ASSET_FILENAME}"
else
@@ -568,8 +588,8 @@ execute() {
}
# --- Configuration ---
NAME='gh-pmu'
REPO='rubrical-studios/gh-pmu'
NAME='asciinema'
REPO='asciinema/asciinema'
EXT=''
# use in logging routines
@@ -587,7 +607,7 @@ OS="${BINSTALLER_OS:-$(uname_os)}"
UNAME_OS="${OS}"
ARCH="${BINSTALLER_ARCH:-$(uname_arch)}"
UNAME_ARCH="${ARCH}"
log_info "Detected Platform: ${OS}/${ARCH}"
# --- Validate platform ---

View File

@@ -503,7 +503,7 @@ cleanup() {
execute() {
STRIP_COMPONENTS=0
CHECKSUM_FILENAME=""
CHECKSUM_FILENAME="checksums.txt"
# --- Construct URLs ---
GITHUB_DOWNLOAD="https://github.com/${REPO}/releases/download"
@@ -552,11 +552,11 @@ execute() {
log_info "Extracting ${ASSET_FILENAME}..."
(cd "${TMPDIR}" && untar "${ASSET_FILENAME}" "${STRIP_COMPONENTS}")
fi
BINARY_NAME='binst'
BINARY_NAME='binstaller'
if [ -z "${EXT}" ] || [ "${EXT}" = ".exe" ]; then
BINARY_PATH="${TMPDIR}/${ASSET_FILENAME}"
else
BINARY_PATH="${TMPDIR}/binst"
BINARY_PATH="${TMPDIR}/binstaller"
fi
if [ "${UNAME_OS}" = "windows" ]; then

View File

@@ -421,13 +421,7 @@ EMBEDDED_CHECKSUMS="
0.8.0:toolhive_0.8.0_linux_amd64.tar.gz:2f4216bdefdc37bda46ee5c896c54920d65e18013a0627855ce1a16eb2c44726
0.8.0:toolhive_0.8.0_linux_arm64.tar.gz:3b806cf7b857b0dce819610b4ef48709d35ee10a73865dfca4fcc791bff80416
0.8.0:toolhive_0.8.0_windows_amd64.zip:192bb1f0f9f257cad232e0148d81c3e31e644b888e61c22b46fa15b6b760547e
0.8.0:toolhive_0.8.0_windows_arm64.zip:313931641136da7479f02caf351c955c2d1d9bbc7204dff5f7f9d61ca1fd9242
0.9.2:toolhive_0.9.2_darwin_amd64.tar.gz:f8e45af89346a93678ed628552e68dae19a04f0b7402e1e545e5a53dd68ddb38
0.9.2:toolhive_0.9.2_darwin_arm64.tar.gz:29595e175cf60c3b8419754a5e384c530a84d63b506dd240372e55ba07290434
0.9.2:toolhive_0.9.2_linux_amd64.tar.gz:70be3936c37f98f5582aabc5b455e9f89ec797146cd69485484129e95f607185
0.9.2:toolhive_0.9.2_linux_arm64.tar.gz:a9bdac8893adbfbd3b1491155b54f825cb82e084a837422e12a1de72dcd574ba
0.9.2:toolhive_0.9.2_windows_amd64.zip:e8c73681a2ccf55396497d5b6066811f2e059776e2444ec35daa3a0a74267e66
0.9.2:toolhive_0.9.2_windows_arm64.zip:d42f5149287fd0b37f517724272421b14d4732e036d35e0a908deece836f7500"
0.8.0:toolhive_0.8.0_windows_arm64.zip:313931641136da7479f02caf351c955c2d1d9bbc7204dff5f7f9d61ca1fd9242"
# Find embedded checksum for a given version and filename
find_embedded_checksum() {