From 5d837e47efc1bd59937c6bdfcb641a6dfe318515 Mon Sep 17 00:00:00 2001 From: bea Date: Tue, 10 Mar 2026 00:25:05 +0100 Subject: [PATCH] ci: replace publish step with warm-proxy (Gitea serves modules from git tags natively) --- .drone.yml | 37 +++++-------------------------------- 1 file changed, 5 insertions(+), 32 deletions(-) diff --git a/.drone.yml b/.drone.yml index a1a95a6..1ff407a 100644 --- a/.drone.yml +++ b/.drone.yml @@ -72,41 +72,14 @@ steps: commands: - go build ./... - - name: publish + - name: warm-proxy image: golang:1.26 - environment: - GITEA_TOKEN: - from_secret: gitea_token commands: - - apt-get update -q && apt-get install -qy python3 - - MODULE=$(go mod edit -json | python3 -c "import json,sys; print(json.load(sys.stdin)['Module']['Path'])") + - MODULE=$(go list -m) - VERSION=${DRONE_TAG} - - echo "Publishing $MODULE@$VERSION" - - go mod download - - | - cat > /tmp/mkzip.py << 'PYEOF' - import zipfile, os, sys - module, version = sys.argv[1], sys.argv[2] - prefix = f'{module}@{version}/' - with zipfile.ZipFile('/tmp/module.zip', 'w', zipfile.ZIP_DEFLATED) as zf: - for root, dirs, files in os.walk('.'): - dirs[:] = [d for d in dirs if not d.startswith('.')] - for f in files: - if f.startswith('.'): continue - path = os.path.join(root, f) - zf.write(path, prefix + os.path.relpath(path, '.')) - print(f'Zip created: {len(zf.namelist())} files') - PYEOF - - python3 /tmp/mkzip.py "$MODULE" "$VERSION" - - | - HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" -X PUT \ - "https://git.beatrice.wtf/api/packages/panic.haus/go/upload" \ - -H "Authorization: token $GITEA_TOKEN" \ - -H "Content-Type: application/zip" \ - --data-binary "@/tmp/module.zip") - echo "Upload HTTP $HTTP_CODE" - [ "$HTTP_CODE" = "201" ] || exit 1 - - echo "Published $MODULE@$VERSION to Gitea package registry" + - echo "Warming proxy for $MODULE@$VERSION" + - curl -sf "https://git.beatrice.wtf/api/packages/panic.haus/go/${MODULE}/@v/${VERSION}.info" + - echo "Registered $MODULE@$VERSION in Gitea package registry" volumes: - name: go-mod-cache