From 5c61c96e1495dfdf0fc2d557fca5418164f45842 Mon Sep 17 00:00:00 2001 From: Robert Kaussow Date: Sat, 14 Jan 2023 15:46:27 +0100 Subject: [PATCH] add goarm handling in makefile (#45) --- .dockerignore | 2 - .drone.jsonnet | 175 ------------------------------------------------- Makefile | 7 +- 3 files changed, 6 insertions(+), 178 deletions(-) delete mode 100644 .dockerignore delete mode 100644 .drone.jsonnet diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index 92d6c40..0000000 --- a/.dockerignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!dist/ diff --git a/.drone.jsonnet b/.drone.jsonnet deleted file mode 100644 index 48da650..0000000 --- a/.drone.jsonnet +++ /dev/null @@ -1,175 +0,0 @@ -local PipelineTest = { - kind: 'pipeline', - name: 'test', - platform: { - os: 'linux', - arch: 'amd64', - }, - steps: [ - { - name: 'deps', - image: 'golang:1.19', - commands: [ - 'make deps', - ], - volumes: [ - { - name: 'godeps', - path: '/go', - }, - ], - }, - { - name: 'lint', - image: 'golang:1.19', - commands: [ - 'make lint', - ], - volumes: [ - { - name: 'godeps', - path: '/go', - }, - ], - }, - { - name: 'test', - image: 'golang:1.19', - commands: [ - 'make test', - ], - volumes: [ - { - name: 'godeps', - path: '/go', - }, - ], - }, - { - name: 'coverage', - image: 'plugins/codecov', - settings: { - token: { - from_secret: 'codecov_token', - }, - files: [ - 'coverage.out', - ], - }, - }, - ], - volumes: [ - { - name: 'godeps', - temp: {}, - }, - ], - trigger: { - ref: ['refs/heads/main', 'refs/tags/**', 'refs/pull/**'], - }, -}; - - -local PipelineBuildBinaries = { - kind: 'pipeline', - name: 'build-binaries', - platform: { - os: 'linux', - arch: 'amd64', - }, - steps: [ - { - name: 'build', - image: 'techknowlogick/xgo:go-1.19.x', - commands: [ - 'ln -s /drone/src /source', - 'make release', - ], - }, - { - name: 'executable', - image: 'alpine', - commands: [ - '$(find dist/ -executable -type f -iname ${DRONE_REPO_NAME}-linux-amd64) --help', - ], - }, - { - name: 'changelog-generate', - image: 'thegeeklab/git-chglog', - commands: [ - 'git fetch -tq', - 'git-chglog --no-color --no-emoji -o CHANGELOG.md ${DRONE_TAG:---next-tag unreleased unreleased}', - ], - }, - { - name: 'changelog-format', - image: 'thegeeklab/alpine-tools', - commands: [ - 'prettier CHANGELOG.md', - 'prettier -w CHANGELOG.md', - ], - }, - { - name: 'publish', - image: 'plugins/github-release', - settings: { - overwrite: true, - api_key: { - from_secret: 'github_token', - }, - files: ['dist/*'], - title: '${DRONE_TAG}', - note: 'CHANGELOG.md', - }, - when: { - ref: [ - 'refs/tags/**', - ], - }, - }, - ], - depends_on: [ - 'test', - ], - trigger: { - ref: ['refs/heads/main', 'refs/tags/**', 'refs/pull/**'], - }, -}; - -local PipelineNotifications = { - kind: 'pipeline', - name: 'notifications', - platform: { - os: 'linux', - arch: 'amd64', - }, - steps: [ - { - name: 'matrix', - image: 'thegeeklab/drone-matrix', - settings: { - homeserver: { from_secret: 'matrix_homeserver' }, - roomid: { from_secret: 'matrix_roomid' }, - template: 'Status: **{{ build.Status }}**
Build: [{{ repo.Owner }}/{{ repo.Name }}]({{ build.Link }}){{#if build.Branch}} ({{ build.Branch }}){{/if}} by {{ commit.Author }}
Message: {{ commit.Message.Title }}', - username: { from_secret: 'matrix_username' }, - password: { from_secret: 'matrix_password' }, - }, - when: { - status: ['success', 'failure'], - }, - }, - ], - depends_on: [ - 'build-binaries', - ], - trigger: { - ref: ['refs/heads/main', 'refs/tags/**'], - status: ['success', 'failure'], - }, -}; - -[ - PipelineTest, - PipelineBuildBinaries, - PipelineNotifications, -] diff --git a/Makefile b/Makefile index f24a172..ba0041c 100644 --- a/Makefile +++ b/Makefile @@ -22,6 +22,11 @@ GENERATE ?= XGO_VERSION := go-1.19.x XGO_TARGETS ?= linux/amd64,linux/arm-6,linux/arm-7,linux/arm64 +TARGETOS ?= linux +TARGETARCH ?= amd64 +ifneq ("$(TARGETVARIANT)","") +GOARM ?= $(subst v,,$(TARGETVARIANT)) +endif TAGS ?= netgo ifndef VERSION @@ -69,7 +74,7 @@ test: build: $(DIST)/$(EXECUTABLE) $(DIST)/$(EXECUTABLE): $(SOURCES) - $(GO) build -v -tags '$(TAGS)' -ldflags '-extldflags "-static" $(LDFLAGS)' -o $@ ./cmd/$(EXECUTABLE) + GOOS=${TARGETOS} GOARCH=${TARGETARCH} GOARM=$(GOARM) $(GO) build -v -tags '$(TAGS)' -ldflags '-extldflags "-static" $(LDFLAGS)' -o $@ ./cmd/$(EXECUTABLE) $(DIST_DIRS): mkdir -p $(DIST_DIRS)