From 3bd65d9e05c5e5689c473283890ceee5ec23d6f0 Mon Sep 17 00:00:00 2001 From: Mathias Beaulieu-Duncan Date: Mon, 2 Feb 2026 09:58:52 -0500 Subject: [PATCH] Fix apko install: resolve version via GitHub API instead of /latest redirect The Gitea runner doesn't follow GitHub's /latest/download/ 302 redirect properly. Resolve the version tag explicitly via the GitHub API, then download from the versioned URL directly. Co-Authored-By: Claude Opus 4.5 --- .gitea/workflows/publish.yaml | 4 ++-- .gitea/workflows/rebuild.yaml | 4 ++-- .gitea/workflows/scout.yaml | 4 ++-- .gitea/workflows/update-check.yaml | 8 ++++---- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.gitea/workflows/publish.yaml b/.gitea/workflows/publish.yaml index 4311883..24029a6 100644 --- a/.gitea/workflows/publish.yaml +++ b/.gitea/workflows/publish.yaml @@ -42,9 +42,9 @@ jobs: - name: Install apko run: | - APKO_OS=$(uname -s | tr '[:upper:]' '[:lower:]') APKO_ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/') - curl -fsSL "https://github.com/chainguard-dev/apko/releases/latest/download/apko_${APKO_OS}_${APKO_ARCH}.tar.gz" | tar xz -C /usr/local/bin apko + APKO_VERSION=$(curl -fsSL "https://api.github.com/repos/chainguard-dev/apko/releases/latest" | jq -r '.tag_name') + curl -fsSL "https://github.com/chainguard-dev/apko/releases/download/${APKO_VERSION}/apko_linux_${APKO_ARCH}.tar.gz" | tar xz -C /usr/local/bin apko - name: Login to Docker Registry uses: docker/login-action@v3 diff --git a/.gitea/workflows/rebuild.yaml b/.gitea/workflows/rebuild.yaml index 9b5195c..dde23db 100644 --- a/.gitea/workflows/rebuild.yaml +++ b/.gitea/workflows/rebuild.yaml @@ -34,9 +34,9 @@ jobs: - name: Install apko run: | - APKO_OS=$(uname -s | tr '[:upper:]' '[:lower:]') APKO_ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/') - curl -fsSL "https://github.com/chainguard-dev/apko/releases/latest/download/apko_${APKO_OS}_${APKO_ARCH}.tar.gz" | tar xz -C /usr/local/bin apko + APKO_VERSION=$(curl -fsSL "https://api.github.com/repos/chainguard-dev/apko/releases/latest" | jq -r '.tag_name') + curl -fsSL "https://github.com/chainguard-dev/apko/releases/download/${APKO_VERSION}/apko_linux_${APKO_ARCH}.tar.gz" | tar xz -C /usr/local/bin apko - name: Login to Docker Registry uses: docker/login-action@v3 diff --git a/.gitea/workflows/scout.yaml b/.gitea/workflows/scout.yaml index 22cee68..57a2753 100644 --- a/.gitea/workflows/scout.yaml +++ b/.gitea/workflows/scout.yaml @@ -52,9 +52,9 @@ jobs: - name: Install apko if: steps.should_run.outputs.run == 'true' run: | - APKO_OS=$(uname -s | tr '[:upper:]' '[:lower:]') APKO_ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/') - curl -fsSL "https://github.com/chainguard-dev/apko/releases/latest/download/apko_${APKO_OS}_${APKO_ARCH}.tar.gz" | tar xz -C /usr/local/bin apko + APKO_VERSION=$(curl -fsSL "https://api.github.com/repos/chainguard-dev/apko/releases/latest" | jq -r '.tag_name') + curl -fsSL "https://github.com/chainguard-dev/apko/releases/download/${APKO_VERSION}/apko_linux_${APKO_ARCH}.tar.gz" | tar xz -C /usr/local/bin apko - name: Build image locally if: steps.should_run.outputs.run == 'true' diff --git a/.gitea/workflows/update-check.yaml b/.gitea/workflows/update-check.yaml index 15ae061..d3a15c3 100644 --- a/.gitea/workflows/update-check.yaml +++ b/.gitea/workflows/update-check.yaml @@ -26,9 +26,9 @@ jobs: - name: Install apko run: | - APKO_OS=$(uname -s | tr '[:upper:]' '[:lower:]') APKO_ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/') - curl -fsSL "https://github.com/chainguard-dev/apko/releases/latest/download/apko_${APKO_OS}_${APKO_ARCH}.tar.gz" | tar xz -C /usr/local/bin apko + APKO_VERSION=$(curl -fsSL "https://api.github.com/repos/chainguard-dev/apko/releases/latest" | jq -r '.tag_name') + curl -fsSL "https://github.com/chainguard-dev/apko/releases/download/${APKO_VERSION}/apko_linux_${APKO_ARCH}.tar.gz" | tar xz -C /usr/local/bin apko - name: Check for Wolfi package updates id: check @@ -122,9 +122,9 @@ jobs: - name: Install apko run: | - APKO_OS=$(uname -s | tr '[:upper:]' '[:lower:]') APKO_ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/') - curl -fsSL "https://github.com/chainguard-dev/apko/releases/latest/download/apko_${APKO_OS}_${APKO_ARCH}.tar.gz" | tar xz -C /usr/local/bin apko + APKO_VERSION=$(curl -fsSL "https://api.github.com/repos/chainguard-dev/apko/releases/latest" | jq -r '.tag_name') + curl -fsSL "https://github.com/chainguard-dev/apko/releases/download/${APKO_VERSION}/apko_linux_${APKO_ARCH}.tar.gz" | tar xz -C /usr/local/bin apko - name: Login to Docker Registry uses: docker/login-action@v3