fix: Use POST for Gitea package link API and handle already-linked
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed

The link endpoint uses POST (not PUT) and returns 400 when already
linked. Handle both 204 (linked) and 400 (already linked) as success.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-08 02:02:15 -06:00
parent 657c33927b
commit f0bfbe4367

View File

@@ -271,20 +271,24 @@ steps:
# Links all Docker packages to the mosaic/stack repository
# This makes packages visible on the repository page in Gitea
link-packages:
image: alpine:latest
image: alpine:3
environment:
GITEA_TOKEN:
from_secret: gitea_token
commands:
- apk add --no-cache curl
- |
# Link all container packages to the repository
for package in api web postgres openbao orchestrator; do
echo "Linking package mosaic/${package} to repository stack..."
curl -X PUT \
STATUS=$(curl -s -o /dev/null -w "%{http_code}" -X POST \
-H "Authorization: token $GITEA_TOKEN" \
-H "Content-Type: application/json" \
"https://git.mosaicstack.dev/api/v1/packages/mosaic/container/${package}/-/link/stack" || echo "Failed to link ${package} (may not exist yet)"
"https://git.mosaicstack.dev/api/v1/packages/mosaic/container/${package}/-/link/stack")
if [ "$STATUS" = "204" ]; then
echo "Linked ${package} to stack"
elif [ "$STATUS" = "400" ]; then
echo "${package} already linked (OK)"
else
echo "Warning: ${package} link returned $STATUS"
fi
done
when:
- branch: [main, develop]