Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 990e2a2e43 | |||
| ae384e7b46 | |||
| e9ec29d60e | |||
| 1daa48ade1 | |||
| b5978a18a1 | |||
| 6d7703c3f2 | |||
| 3291f8f73d | |||
| 3a4c9ea1c1 |
+35
-18
@@ -1,5 +1,5 @@
|
|||||||
when:
|
when:
|
||||||
- event: release
|
- event: tag
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: test
|
- name: test
|
||||||
@@ -7,36 +7,53 @@ steps:
|
|||||||
commands:
|
commands:
|
||||||
- go test ./...
|
- go test ./...
|
||||||
|
|
||||||
- name: build
|
- name: build-linux-amd64
|
||||||
image: golang:latest
|
image: golang:latest
|
||||||
commands:
|
commands:
|
||||||
- VERSION=${CI_COMMIT_TAG}
|
- GOOS=linux GOARCH=amd64 go build -ldflags="-s -w -X main.version=${CI_COMMIT_TAG}" -o node-lookup-linux-amd64 ./...
|
||||||
- go build -ldflags="-s -w -X main.version=${VERSION}" -o node-lookup ./...
|
depends_on: [test]
|
||||||
|
|
||||||
|
- 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: git.unkin.net/unkin/almalinux9-base:20260325
|
||||||
environment:
|
environment:
|
||||||
DRONECI_PASSWORD:
|
RELEASER_TOKEN:
|
||||||
from_secret: DRONECI_PASSWORD
|
from_secret: RELEASER_TOKEN
|
||||||
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
|
||||||
|
tea logins add --name gitea --url https://git.unkin.net --token "$${RELEASER_TOKEN}" --no-version-check
|
||||||
PREV_TAG=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo "")
|
PREV_TAG=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo "")
|
||||||
if [ -n "$PREV_TAG" ]; then
|
if [ -n "$PREV_TAG" ]; then
|
||||||
NOTES=$(git log "${PREV_TAG}..${CI_COMMIT_TAG}" --merges --pretty=format:"- %s")
|
NOTES=$(git log "${PREV_TAG}..${CI_COMMIT_TAG}" --pretty=format:"- %s")
|
||||||
else
|
else
|
||||||
NOTES=$(git log --merges --pretty=format:"- %s")
|
NOTES=$(git log --pretty=format:"- %s")
|
||||||
fi
|
fi
|
||||||
BODY=$(printf '%s' "$NOTES" | sed 's/"/\\"/g; s/$/\\n/' | tr -d '\n')
|
tea releases create --tag "${CI_COMMIT_TAG}" --title "${CI_COMMIT_TAG}" --note "${NOTES}" --login gitea --repo "${CI_REPO}"
|
||||||
RELEASE_ID=$(curl -sf -X POST "https://git.unkin.net/api/v1/repos/${CI_REPO}/releases" \
|
tea releases assets create "${CI_COMMIT_TAG}" \
|
||||||
-u "droneci:$DRONECI_PASSWORD" \
|
node-lookup-linux-amd64 \
|
||||||
-H "Content-Type: application/json" \
|
node-lookup-linux-arm64 \
|
||||||
-d "{\"tag_name\":\"${CI_COMMIT_TAG}\",\"name\":\"${CI_COMMIT_TAG}\",\"body\":\"${BODY}\"}" \
|
node-lookup-darwin-amd64 \
|
||||||
| grep -o '"id":[0-9]*' | head -1 | cut -d: -f2)
|
node-lookup-darwin-arm64 \
|
||||||
curl -sf -X POST "https://git.unkin.net/api/v1/repos/${CI_REPO}/releases/${RELEASE_ID}/assets" \
|
--login gitea --repo "${CI_REPO}"
|
||||||
-u "droneci:$DRONECI_PASSWORD" \
|
|
||||||
-F "attachment=@node-lookup"
|
|
||||||
backend_options:
|
backend_options:
|
||||||
kubernetes:
|
kubernetes:
|
||||||
serviceAccountName: default
|
serviceAccountName: default
|
||||||
depends_on: [build]
|
depends_on: [build-linux-amd64, build-linux-arm64, build-darwin-amd64, build-darwin-arm64]
|
||||||
|
|||||||
@@ -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 _release
|
.PHONY: all build test lint clean install patch minor major _tag
|
||||||
|
|
||||||
all: build
|
all: build
|
||||||
|
|
||||||
@@ -31,16 +31,15 @@ _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) _release TAG=$$NEW
|
git tag $$NEW && echo "Tagged $$NEW" && $(MAKE) _tag 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) _release TAG=$$NEW
|
git tag $$NEW && echo "Tagged $$NEW" && $(MAKE) _tag 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) _release TAG=$$NEW
|
git tag $$NEW && echo "Tagged $$NEW" && $(MAKE) _tag TAG=$$NEW
|
||||||
|
|
||||||
_release:
|
_tag:
|
||||||
git push origin $(TAG)
|
git push origin $(TAG)
|
||||||
tea releases create --tag $(TAG) --title $(TAG)
|
|
||||||
|
|||||||
Reference in New Issue
Block a user