From cdab9324af2c014fe5ffa6aa9530286008d958b9 Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Thu, 26 Mar 2026 13:56:20 +1100 Subject: [PATCH] fix: replace curl API calls with tea CLI for release pipeline curl was silently failing inside the container. tea handles auth and TLS cleanly via logins add, then uses releases edit and assets create. --- .woodpecker/release.yaml | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/.woodpecker/release.yaml b/.woodpecker/release.yaml index 9ca3430..7da405b 100644 --- a/.woodpecker/release.yaml +++ b/.woodpecker/release.yaml @@ -21,28 +21,16 @@ steps: from_secret: RELEASER_TOKEN commands: - | + curl --output /usr/local/bin/tea https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/gitea-dl/tea/0.12.0/tea-0.12.0-linux-amd64 && chmod +x /usr/local/bin/tea + tea logins add --name gitea --url https://git.unkin.net --token "${RELEASER_TOKEN}" --no-version-check PREV_TAG=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo "") if [ -n "$PREV_TAG" ]; then NOTES=$(git log "${PREV_TAG}..${CI_COMMIT_TAG}" --merges --pretty=format:"- %s") else NOTES=$(git log --merges --pretty=format:"- %s") fi - BODY=$(printf '%s' "$NOTES" | sed 's/"/\\"/g; s/$/\\n/' | tr -d '\n') - GET_RESPONSE=$(curl -sk "https://git.unkin.net/api/v1/repos/${CI_REPO}/releases/tags/${CI_COMMIT_TAG}") - echo "GET response: ${GET_RESPONSE}" - RELEASE_ID=$(printf '%s' "${GET_RESPONSE}" | grep -o '"id":[0-9]*' | head -1 | cut -d: -f2) - if [ -z "$RELEASE_ID" ]; then - echo "ERROR: failed to find release for tag ${CI_COMMIT_TAG}" >&2 - exit 1 - fi - echo "Release ID: ${RELEASE_ID}" - curl -sk -X PATCH "https://git.unkin.net/api/v1/repos/${CI_REPO}/releases/${RELEASE_ID}" \ - -H "Authorization: token ${RELEASER_TOKEN}" \ - -H "Content-Type: application/json" \ - -d "{\"body\":\"${BODY}\"}" - curl -sk -X POST "https://git.unkin.net/api/v1/repos/${CI_REPO}/releases/${RELEASE_ID}/assets" \ - -H "Authorization: token ${RELEASER_TOKEN}" \ - -F "attachment=@node-lookup" + tea releases edit "${CI_COMMIT_TAG}" --note "${NOTES}" --login gitea --repo "${CI_REPO}" + tea releases assets create "${CI_COMMIT_TAG}" node-lookup --login gitea --repo "${CI_REPO}" backend_options: kubernetes: serviceAccountName: default