#!/usr/bin/env bash set -euo pipefail mkdir -p /pkg/out nfpm package --config /pkg/nfpm.yaml --packager deb --target /pkg/out/ echo "✓ built $(ls /pkg/out/*.deb)" DEB=$(ls /pkg/out/*.deb | head -1) FILENAME=$(basename "$DEB") DISTRIBUTION="bookworm" COMPONENT="main" echo "↑ publishing ${FILENAME}..." HTTP_CODE=$(curl -sSL \ -w "%{http_code}" \ -o /tmp/publish_response.txt \ -X PUT \ -H "Authorization: token ${GITEA_TOKEN}" \ -H "Content-Type: application/octet-stream" \ --data-binary "@${DEB}" \ "${GITEA_URL}/api/packages/${GITEA_OWNER}/debian/pool/${DISTRIBUTION}/${COMPONENT}/upload") cat /tmp/publish_response.txt echo "" if [[ "$HTTP_CODE" =~ ^2 ]]; then echo "✓ published ${FILENAME} (HTTP ${HTTP_CODE})" elif [[ "$HTTP_CODE" == "409" ]]; then echo "⚠ ${FILENAME} already exists, skipping (HTTP 409)" else echo "✗ failed (HTTP ${HTTP_CODE})" exit 1 fi