From 938bbcdbd44a363ab776abd9fae06dfc0203ec4d Mon Sep 17 00:00:00 2001 From: Jason Hall Date: Wed, 28 Apr 2021 16:20:08 -0400 Subject: [PATCH] Add GitHub Action to install and setup ko (#347) --- action.yml | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 action.yml diff --git a/action.yml b/action.yml new file mode 100644 index 0000000000..40259ddb5a --- /dev/null +++ b/action.yml @@ -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