Setup asset of Github Releases.
Key features of gh-setup are:
- For setup, detect the version, the appropriate GitHub Releases asset, the asset's compressed format, and the executable path where the binary will be installed.
- Works as a GitHub CLI extension (or a standalone CLI) as well as a GitHub Action.
- Could be used as a part to create a GitHub Action like
setup-*.
$ gh setup --repo k1LoW/tbls
Use tbls_v1.62.0_darwin_arm64.zip
Setup binaries to executable path (PATH):
tbls -> /Users/k1low/local/bin/tbls
$ tbls version
1.62.0$ gh extension install k1LoW/gh-setup# .github/workflows/doc.yml
[...]
steps:
-
name: Setup k1LoW/tbls
uses: k1LoW/gh-setup@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
repo: k1LoW/tbls
# version: v1.60.0
# os: linux
# arch: amd64
# bin-match: tbls
# checksum: f1ee97bbf22d5324ec2b468d83f43088d9e5c61deb77fafc220b297e03d47574
# force: true
# strict: true
# verify-attestation: true
# attestation-flags: "--owner=k1LoW"
# gh-setup-version: latest
-
name: Run tbls
run: tbls docSee https://github.com/k1LoW/setup-tbls
# action.yml
name: 'Setup tbls'
description: 'GitHub Action for tbls, a CI-Friendly tool for document a database, written in Go.'
branding:
icon: 'box'
color: 'blue'
inputs:
github-token:
description: The GitHub token
default: ${{ github.token }}
required: false
version:
description: Version of tbls
default: latest
required: false
force:
description: Enable force setup
default: ''
required: false
checksum:
description: Checksum of tbls
default: ''
required: false
runs:
using: 'composite'
steps:
-
uses: k1LoW/gh-setup@v1
with:
repo: github.com/k1LoW/tbls
github-token: ${{ inputs.github-token }}
version: ${{ inputs.version }}
bin-match: tbls
checksum: ${{ inputs.checksum }}
force: ${{ inputs.force }}Run gh-setup instead of gh setup.
$ gh-setup --repo k1LoW/tbls
Use tbls_v1.62.0_darwin_arm64.zip
Setup binaries to executable path (PATH):
tbls -> /Users/k1low/local/bin/tbls
$ tbls version
1.62.0deb:
$ export GH_SETUP_VERSION=X.X.X
$ curl -o gh-setup.deb -L https://github.com/k1LoW/gh-setup/releases/download/v$GH_SETUP_VERSION/gh-setup_$GH_SETUP_VERSION-1_amd64.deb
$ dpkg -i gh-setup.debRPM:
$ export GH_SETUP_VERSION=X.X.X
$ yum install https://github.com/k1LoW/gh-setup/releases/download/v$GH_SETUP_VERSION/gh-setup_$GH_SETUP_VERSION-1_amd64.rpmapk:
$ export GH_SETUP_VERSION=X.X.X
$ curl -o gh-setup.apk -L https://github.com/k1LoW/gh-setup/releases/download/v$GH_SETUP_VERSION/gh-setup_$GH_SETUP_VERSION-1_amd64.apk
$ apk add gh-setup.apkhomebrew tap:
$ brew install k1LoW/tap/gh-setupaqua:
$ aqua g -i k1LoW/gh-setupmanually:
Download binary from releases page
go install:
$ go install github.com/k1LoW/gh-setup/cmd/gh-setup@latestdocker:
$ docker pull ghcr.io/k1low/gh-setup:latestgh-setup supports verifying attestations using the gh attestation verify command. To enable attestation verification, use the --verify-attestation flag. You can also pass additional flags to the gh attestation verify command using the --attestation-flags flag.
Example:
$ gh setup --repo k1LoW/tbls --verify-attestation --attestation-flags "--owner=k1LoW"In GitHub Actions:
- name: Setup k1LoW/tbls
uses: k1LoW/gh-setup@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
repo: k1LoW/tbls
verify-attestation: true
attestation-flags: "--owner=k1LoW"This feature requires the gh CLI with the attestation extension to be installed.