Skip to content

k1LoW/gh-setup

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5c87609 · Mar 31, 2025
Mar 19, 2025
Mar 19, 2025
Mar 19, 2025
Mar 19, 2025
Mar 19, 2025
Mar 22, 2025
Jul 11, 2023
Mar 31, 2025
Dec 12, 2024
Feb 12, 2023
Mar 19, 2025
Jan 26, 2024
Mar 22, 2025
Feb 12, 2023
May 15, 2023
Feb 12, 2023
Feb 12, 2023
Mar 19, 2025
Mar 22, 2025
Jul 11, 2023
Mar 23, 2025
Mar 23, 2025

Repository files navigation

gh-setup

:octocat: Setup asset of Github Releases.

build Coverage Code to Test Ratio

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-*.

As a GitHub CLI extension

Usage

$ 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

Install

$ gh extension install k1LoW/gh-setup

As a GitHub Action

Usage

# .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
        # gh-setup-version: latest
      -
        name: Run tbls
        run: tbls doc

As a part to create a GitHub Action like setup-*

See 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 }}

As a Standalone CLI

Usage

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.0

Install

deb:

$ 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.deb

RPM:

$ 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.rpm

apk:

$ 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.apk

homebrew tap:

$ brew install k1LoW/tap/gh-setup

aqua:

$ aqua g -i k1LoW/gh-setup

manually:

Download binary from releases page

go install:

$ go install github.com/k1LoW/gh-setup/cmd/gh-setup@latest

docker:

$ docker pull ghcr.io/k1low/gh-setup:latest