From f52387e84945b2094ff22041ba43b7951ec4ffbb Mon Sep 17 00:00:00 2001 From: Stefan Prodan Date: Fri, 25 Jun 2021 13:30:05 +0300 Subject: [PATCH] Add ARM and ARM64 support to flux GitHub Action Signed-off-by: Stefan Prodan --- action/README.md | 12 +++++++++++- action/action.yml | 7 ++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/action/README.md b/action/README.md index 09c0c50a..7a432d6b 100644 --- a/action/README.md +++ b/action/README.md @@ -10,11 +10,21 @@ Usage: run: flux -v ``` -Note that this action can only be used on GitHub **Linux AMD64** runners. The latest stable version of the `flux` binary is downloaded from GitHub [releases](https://github.com/fluxcd/flux2/releases) and placed at `/usr/local/bin/flux`. +Note that this action can only be used on GitHub **Linux** runners. +You can change the arch (defaults to `amd64`) with: + +```yaml + steps: + - name: Setup Flux CLI + uses: fluxcd/flux2/action@main + with: + arch: arm64 # can be amd64, arm64 or arm +``` + You can download a specific version with: ```yaml diff --git a/action/action.yml b/action/action.yml index bb562bb2..038a5204 100644 --- a/action/action.yml +++ b/action/action.yml @@ -8,19 +8,24 @@ inputs: version: description: "Flux version e.g. 0.8.0 (defaults to latest stable release)" required: false + arch: + description: "arch can be amd64, arm64 or arm" + required: true + default: "amd64" runs: using: composite steps: - name: "Download flux binary to tmp" shell: bash run: | + ARCH=${{ inputs.arch }} VERSION=${{ inputs.version }} if [ -z $VERSION ]; then VERSION=$(curl https://api.github.com/repos/fluxcd/flux2/releases/latest -sL | grep tag_name | sed -E 's/.*"([^"]+)".*/\1/' | cut -c 2-) fi - BIN_URL="https://github.com/fluxcd/flux2/releases/download/v${VERSION}/flux_${VERSION}_linux_amd64.tar.gz" + BIN_URL="https://github.com/fluxcd/flux2/releases/download/v${VERSION}/flux_${VERSION}_linux_${ARCH}.tar.gz" curl -sL ${BIN_URL} -o /tmp/flux.tar.gz mkdir -p /tmp/flux tar -C /tmp/flux/ -zxvf /tmp/flux.tar.gz