From 75640a5e8e38e0e1d78b9f0b4defbd05ad5e4c3c 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 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit curl was silently failing inside the container. tea handles auth and TLS cleanly via logins add, then uses releases edit and assets create. 💘 Generated with Crush Assisted-by: Claude Sonnet 4.6 via Crush --- .woodpecker/release.yaml | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/.woodpecker/release.yaml b/.woodpecker/release.yaml index 9ca3430..4ad2141 100644 --- a/.woodpecker/release.yaml +++ b/.woodpecker/release.yaml @@ -21,28 +21,15 @@ steps: from_secret: RELEASER_TOKEN commands: - | + 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