1 Commits

Author SHA1 Message Date
unkinben f8943e50e4 Replace gitea-release plugin with curl-based release upload
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/unit-tests Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
Uses basic auth (droneci user) and Gitea API directly to create
the release and upload the binary asset.
Fix the golangci-lint issues
2026-03-25 19:44:03 +11:00
2 changed files with 22 additions and 45 deletions
+16 -40
View File
@@ -1,5 +1,5 @@
when: when:
- event: tag - event: release
steps: steps:
- name: test - name: test
@@ -7,53 +7,29 @@ steps:
commands: commands:
- go test ./... - go test ./...
- name: build-linux-amd64 - name: build
image: golang:latest image: golang:latest
commands: commands:
- GOOS=linux GOARCH=amd64 go build -ldflags="-s -w -X main.version=${CI_COMMIT_TAG}" -o node-lookup-linux-amd64 ./... - VERSION=${CI_COMMIT_TAG}
depends_on: [test] - go build -ldflags="-s -w -X main.version=${VERSION}" -o node-lookup ./...
- name: build-linux-arm64
image: golang:latest
commands:
- GOOS=linux GOARCH=arm64 go build -ldflags="-s -w -X main.version=${CI_COMMIT_TAG}" -o node-lookup-linux-arm64 ./...
depends_on: [test]
- name: build-darwin-amd64
image: golang:latest
commands:
- GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w -X main.version=${CI_COMMIT_TAG}" -o node-lookup-darwin-amd64 ./...
depends_on: [test]
- name: build-darwin-arm64
image: golang:latest
commands:
- GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w -X main.version=${CI_COMMIT_TAG}" -o node-lookup-darwin-arm64 ./...
depends_on: [test] depends_on: [test]
- name: release - name: release
image: git.unkin.net/unkin/almalinux9-base:20260325 image: alpine/curl
environment: environment:
RELEASER_TOKEN: DRONECI_PASSWORD:
from_secret: RELEASER_TOKEN from_secret: DRONECI_PASSWORD
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 RELEASE_ID=$(curl -sf -X POST "https://git.unkin.net/api/v1/repos/${CI_REPO}/releases" \
tea logins add --name gitea --url https://git.unkin.net --token "$${RELEASER_TOKEN}" --no-version-check -u "droneci:$DRONECI_PASSWORD" \
PREV_TAG=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo "") -H "Content-Type: application/json" \
if [ -n "$PREV_TAG" ]; then -d "{\"tag_name\":\"${CI_COMMIT_TAG}\",\"name\":\"${CI_COMMIT_TAG}\"}" \
NOTES=$(git log "${PREV_TAG}..${CI_COMMIT_TAG}" --pretty=format:"- %s") | grep -o '"id":[0-9]*' | head -1 | cut -d: -f2)
else curl -sf -X POST "https://git.unkin.net/api/v1/repos/${CI_REPO}/releases/${RELEASE_ID}/assets" \
NOTES=$(git log --pretty=format:"- %s") -u "droneci:$DRONECI_PASSWORD" \
fi -F "attachment=@node-lookup"
tea releases create --tag "${CI_COMMIT_TAG}" --title "${CI_COMMIT_TAG}" --note "${NOTES}" --login gitea --repo "${CI_REPO}"
tea releases assets create "${CI_COMMIT_TAG}" \
node-lookup-linux-amd64 \
node-lookup-linux-arm64 \
node-lookup-darwin-amd64 \
node-lookup-darwin-arm64 \
--login gitea --repo "${CI_REPO}"
backend_options: backend_options:
kubernetes: kubernetes:
serviceAccountName: default serviceAccountName: default
depends_on: [build-linux-amd64, build-linux-arm64, build-darwin-amd64, build-darwin-arm64] depends_on: [build]
+6 -5
View File
@@ -2,7 +2,7 @@ BINARY := node-lookup
VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo dev) VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo dev)
GOFLAGS := -ldflags="-s -w -X main.version=$(VERSION)" GOFLAGS := -ldflags="-s -w -X main.version=$(VERSION)"
.PHONY: all build test lint clean install patch minor major _tag .PHONY: all build test lint clean install patch minor major _release
all: build all: build
@@ -31,15 +31,16 @@ _PAT := $(shell echo $(_BASE) | sed 's/^v//' | cut -d. -f3)
patch: patch:
@NEW=v$(_MAJ).$(_MIN).$(shell expr $(_PAT) + 1); \ @NEW=v$(_MAJ).$(_MIN).$(shell expr $(_PAT) + 1); \
git tag $$NEW && echo "Tagged $$NEW" && $(MAKE) _tag TAG=$$NEW git tag $$NEW && echo "Tagged $$NEW" && $(MAKE) _release TAG=$$NEW
minor: minor:
@NEW=v$(_MAJ).$(shell expr $(_MIN) + 1).0; \ @NEW=v$(_MAJ).$(shell expr $(_MIN) + 1).0; \
git tag $$NEW && echo "Tagged $$NEW" && $(MAKE) _tag TAG=$$NEW git tag $$NEW && echo "Tagged $$NEW" && $(MAKE) _release TAG=$$NEW
major: major:
@NEW=v$(shell expr $(_MAJ) + 1).0.0; \ @NEW=v$(shell expr $(_MAJ) + 1).0.0; \
git tag $$NEW && echo "Tagged $$NEW" && $(MAKE) _tag TAG=$$NEW git tag $$NEW && echo "Tagged $$NEW" && $(MAKE) _release TAG=$$NEW
_tag: _release:
git push origin $(TAG) git push origin $(TAG)
tea releases create --tag $(TAG) --title $(TAG)