Change to only tagging with the makefile. Change the workflow to create the release based on the tag. Build the binary for multiple os/archs Reviewed-on: #11
This commit was merged in pull request #11.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
when:
|
||||
- event: release
|
||||
- event: tag
|
||||
|
||||
steps:
|
||||
- name: test
|
||||
@@ -7,11 +7,28 @@ steps:
|
||||
commands:
|
||||
- go test ./...
|
||||
|
||||
- name: build
|
||||
- name: build-linux-amd64
|
||||
image: golang:latest
|
||||
commands:
|
||||
- VERSION=${CI_COMMIT_TAG}
|
||||
- go build -ldflags="-s -w -X main.version=${VERSION}" -o node-lookup ./...
|
||||
- GOOS=linux GOARCH=amd64 go build -ldflags="-s -w -X main.version=${CI_COMMIT_TAG}" -o node-lookup-linux-amd64 ./...
|
||||
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]
|
||||
|
||||
- name: release
|
||||
@@ -25,13 +42,18 @@ steps:
|
||||
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 "")
|
||||
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
|
||||
NOTES=$(git log --merges --pretty=format:"- %s")
|
||||
NOTES=$(git log --pretty=format:"- %s")
|
||||
fi
|
||||
tea releases edit "${CI_COMMIT_TAG}" --note "${NOTES}" --login gitea --repo "${CI_REPO}"
|
||||
tea releases assets create "${CI_COMMIT_TAG}" node-lookup --login gitea --repo "${CI_REPO}"
|
||||
tea releases create "${CI_COMMIT_TAG}" --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:
|
||||
kubernetes:
|
||||
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)
|
||||
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
|
||||
|
||||
@@ -31,16 +31,15 @@ _PAT := $(shell echo $(_BASE) | sed 's/^v//' | cut -d. -f3)
|
||||
|
||||
patch:
|
||||
@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:
|
||||
@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:
|
||||
@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)
|
||||
tea releases create --tag $(TAG) --title $(TAG)
|
||||
|
||||
Reference in New Issue
Block a user