mirror of
https://github.com/ko-build/ko.git
synced 2025-11-06 09:19:12 +02:00
Add GitHub Action to install and setup ko (#347)
This commit is contained in:
43
action.yml
Normal file
43
action.yml
Normal file
@@ -0,0 +1,43 @@
|
||||
name: 'Setup ko'
|
||||
description: 'Install and authorize ko'
|
||||
branding:
|
||||
icon: box
|
||||
color: green
|
||||
inputs:
|
||||
version:
|
||||
description: 'Version of ko to install (tip, latest-release, v0.8.2, etc.)'
|
||||
required: true
|
||||
default: 'latest-release'
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- shell: bash
|
||||
run: |
|
||||
# Install ko:
|
||||
# - if version is "tip", install from tip of main.
|
||||
# - if version is "latest-release", look up latest release.
|
||||
# - otherwise, install the specified version.
|
||||
case "${{ inputs.version }}" in
|
||||
tip)
|
||||
echo "Installing ko using go get"
|
||||
go get github.com/google/ko@main
|
||||
;;
|
||||
latest-release)
|
||||
tag=$(curl -s https://api.github.com/repos/google/ko/releases/latest | jq -r '.tag_name')
|
||||
;;
|
||||
*)
|
||||
tag="${{ inputs.version }}"
|
||||
esac
|
||||
|
||||
if [[ ! -z ${tag} ]]; then
|
||||
echo "Installing ko @ ${tag}"
|
||||
curl -fsL https://github.com/google/ko/releases/download/${tag}/ko_${tag:1}_Linux_x86_64.tar.gz | sudo tar xzf - -C /usr/local/bin ko
|
||||
fi
|
||||
|
||||
# NB: username doesn't seem to matter.
|
||||
echo "Logging in to ghcr.io"
|
||||
echo "${{ github.token }}" | ko login ghcr.io --username "placeholder" --password-stdin
|
||||
|
||||
# Set KO_DOCKER_REPO for future steps.
|
||||
echo "KO_DOCKER_REPO=ghcr.io/${{ github.repository }}"
|
||||
echo "KO_DOCKER_REPO=ghcr.io/${{ github.repository }}" >> $GITHUB_ENV
|
||||
Reference in New Issue
Block a user