39 lines
1.1 KiB
YAML
39 lines
1.1 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: build-and-release
|
|
|
|
steps:
|
|
- name: build
|
|
image: golang:1.23
|
|
environment:
|
|
CGO_ENABLED: 0
|
|
GOOS: linux
|
|
GOARCH: amd64
|
|
commands:
|
|
- go build -o camcap camcap.go
|
|
|
|
- name: publish-release
|
|
image: curlimages/curl
|
|
environment:
|
|
GOGS_TOKEN:
|
|
from_secret: gogs_key
|
|
GOGS_API: https://code.unbl.ink/api/v1
|
|
REPO: secstate/camcap
|
|
TAG: ${DRONE_TAG:=build-$(date -u +%Y%m%d%H%M%S)}
|
|
commands:
|
|
# Create release (if it doesn't exist yet)
|
|
- |
|
|
curl -s -X POST "$GOGS_API/repos/$REPO/releases" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: token $GOGS_TOKEN" \
|
|
-d "{\"tag_name\": \"$TAG\", \"name\": \"$TAG\", \"draft\": false, \"prerelease\": false}" \
|
|
|| echo "Release may already exist"
|
|
|
|
# Upload artifact to release
|
|
- |
|
|
curl -s -X POST "$GOGS_API/repos/$REPO/releases/tags/$TAG/assets" \
|
|
-H "Authorization: token $GOGS_TOKEN" \
|
|
-F "attachment=@camcap" \
|
|
|| echo "Upload failed"
|
|
|