54 lines
1.7 KiB
YAML
54 lines
1.7 KiB
YAML
name: 'Setup Weld CLI'
|
|
description: 'Downloads a specific version of the weld CLI from a GitHub release, makes it executable, and adds it to the PATH.'
|
|
|
|
inputs:
|
|
weld-version:
|
|
description: 'The version of weld to install (e.g., v0.2.0). Defaults to the latest release.'
|
|
required: false
|
|
default: 'latest' # Use 'latest' as a special keyword
|
|
repo:
|
|
description: 'The repository where the weld CLI is released, in owner/repo format.'
|
|
required: false
|
|
default: Xenox-Incorporated-Industries/weld
|
|
github-token:
|
|
description: 'GitHub token for downloading from a private repository. The default token is usually sufficient within the same organization.'
|
|
required: false
|
|
default: ${{ github.token }}
|
|
|
|
branding:
|
|
icon: 'anchor'
|
|
color: 'blue'
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Get Version Tag for Download
|
|
id: get_version
|
|
shell: bash
|
|
run: |
|
|
VERSION_TAG=""
|
|
if [[ "${{ inputs.weld-version }}" != "latest" ]]; then
|
|
VERSION_TAG="${{ inputs.weld-version }}"
|
|
fi
|
|
echo "tag=${VERSION_TAG}" >> $GITHUB_OUTPUT
|
|
|
|
- name: Download Weld CLI
|
|
shell: bash
|
|
env:
|
|
GH_TOKEN: ${{ inputs.github-token }}
|
|
run: |
|
|
echo "Downloading weld version '${{ inputs.weld-version }}' from repo '${{ inputs.repo }}'..."
|
|
gh release download ${{ steps.get_version.outputs.tag }} \
|
|
--repo ${{ inputs.repo }} \
|
|
--pattern 'weld-binary-*' \
|
|
--output ./weld
|
|
echo "Download complete."
|
|
|
|
- name: Make Weld CLI executable
|
|
shell: bash
|
|
run: chmod +x ./weld
|
|
|
|
- name: Add Weld CLI to PATH
|
|
shell: bash
|
|
run: echo "$(pwd)" >> $GITHUB_PATH
|