fix: replace curl API calls with tea CLI for release pipeline
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/unit-tests Pipeline failed
ci/woodpecker/pr/pre-commit Pipeline failed

curl was silently failing inside the container. tea handles auth and
TLS cleanly via logins add, then uses releases edit and assets create.
This commit is contained in:
2026-03-26 13:56:20 +11:00
parent 26ad1eba64
commit 4eb2781c1b
+4 -16
View File
@@ -21,28 +21,16 @@ steps:
from_secret: RELEASER_TOKEN from_secret: RELEASER_TOKEN
commands: 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 "") PREV_TAG=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo "")
if [ -n "$PREV_TAG" ]; then if [ -n "$PREV_TAG" ]; then
NOTES=$(git log "${PREV_TAG}..${CI_COMMIT_TAG}" --merges --pretty=format:"- %s") NOTES=$(git log "${PREV_TAG}..${CI_COMMIT_TAG}" --merges --pretty=format:"- %s")
else else
NOTES=$(git log --merges --pretty=format:"- %s") NOTES=$(git log --merges --pretty=format:"- %s")
fi fi
BODY=$(printf '%s' "$NOTES" | sed 's/"/\\"/g; s/$/\\n/' | tr -d '\n') tea releases edit "${CI_COMMIT_TAG}" --note "${NOTES}" --login gitea --repo "${CI_REPO}"
GET_RESPONSE=$(curl -sk "https://git.unkin.net/api/v1/repos/${CI_REPO}/releases/tags/${CI_COMMIT_TAG}") tea releases assets create "${CI_COMMIT_TAG}" node-lookup --login gitea --repo "${CI_REPO}"
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"
backend_options: backend_options:
kubernetes: kubernetes:
serviceAccountName: default serviceAccountName: default