From 85651e30a3f1b594f97d8f96d5571a699aec0322 Mon Sep 17 00:00:00 2001 From: Aleksander Cynarski Date: Sat, 4 Jun 2022 23:51:41 +0200 Subject: [PATCH 1/3] goreleaser --- .circleci/config.yml | 21 +++++++++++++++++++++ .goreleaser.yml | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 .circleci/config.yml create mode 100644 .goreleaser.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..07f84d4 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,21 @@ +# .circleci/config.yml +version: 2.1 +workflows: + main: + jobs: + - release: + # Only run this job on git tag pushes + filters: + branches: + ignore: /.*/ + tags: + only: /v[0-9]+(\.[0-9]+)*(-.*)*/ +jobs: + release: + docker: + - image: cimg/go:1.17 + steps: + - checkout + - run: + name: goreleaser + command: curl -sL https://git.io/goreleaser | bash diff --git a/.goreleaser.yml b/.goreleaser.yml new file mode 100644 index 0000000..788b713 --- /dev/null +++ b/.goreleaser.yml @@ -0,0 +1,38 @@ +before: + hooks: + - go mod tidy + - go generate ./... +builds: + - env: + - CGO_ENABLED=0 + goos: + - linux + - windows + - darwin + goarch: + - "386" + - amd64 + - arm + - arm64 + goarm: + - "6" + - "7" +archives: + - replacements: + darwin: Darwin + linux: Linux + windows: Windows + 386: i386 + amd64: x86_64 +checksum: + name_template: 'checksums.txt' +snapshot: + name_template: "{{ incpatch .Version }}-next" +changelog: + sort: asc + filters: + exclude: + - '^docs:' + - '^test:' +env_files: + github_token: ~/.github-token From eba9099951386ef7a963e0ad584217e8cf80b986 Mon Sep 17 00:00:00 2001 From: Aleksander Cynarski Date: Sun, 5 Jun 2022 00:16:40 +0200 Subject: [PATCH 2/3] goreleaser, ldflags, tags --- .gitignore | 1 + .goreleaser.yml | 15 ++++----------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 343e3cf..a5a8055 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,4 @@ _testmain.go # Created by .ignore support plugin (hsz.mobi) dockerize +dist diff --git a/.goreleaser.yml b/.goreleaser.yml index 788b713..8e4869e 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -3,27 +3,20 @@ before: - go mod tidy - go generate ./... builds: - - env: - - CGO_ENABLED=0 + - ldflags: + - -s -w -X main.buildVersion={{ .Version }} + tags: + - netgo goos: - linux - - windows - darwin goarch: - - "386" - amd64 - arm - arm64 goarm: - "6" - "7" -archives: - - replacements: - darwin: Darwin - linux: Linux - windows: Windows - 386: i386 - amd64: x86_64 checksum: name_template: 'checksums.txt' snapshot: From a13813cb0d5d2dac4140f601a251b8ef989dd28d Mon Sep 17 00:00:00 2001 From: Aleksander Cynarski Date: Sun, 5 Jun 2022 00:40:16 +0200 Subject: [PATCH 3/3] remove makefile --- Makefile | 41 ----------------------------------------- 1 file changed, 41 deletions(-) delete mode 100644 Makefile diff --git a/Makefile b/Makefile deleted file mode 100644 index e9d26a8..0000000 --- a/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -.SILENT : -.PHONY : dockerize clean fmt - -TAG:=`git describe --abbrev=0 --tags` -LDFLAGS:=-X main.buildVersion=$(TAG) -GO111MODULE:=on - -all: dockerize - -deps: - go mod tidy - -dockerize: - echo "Building dockerize" - go install -ldflags "$(LDFLAGS)" - -dist-clean: - rm -rf dist - rm -f dockerize-*.tar.gz - -dist: deps dist-clean - mkdir -p dist/alpine-linux/amd64 && GOOS=linux GOARCH=amd64 go build -ldflags "$(LDFLAGS)" -a -tags netgo -installsuffix netgo -o dist/alpine-linux/amd64/dockerize - mkdir -p dist/alpine-linux/ppc64le && GOOS=linux GOARCH=ppc64le go build -ldflags "$(LDFLAGS)" -a -tags netgo -installsuffix netgo -o dist/alpine-linux/ppc64le/dockerize - mkdir -p dist/linux/amd64 && GOOS=linux GOARCH=amd64 go build -ldflags "$(LDFLAGS)" -o dist/linux/amd64/dockerize - mkdir -p dist/linux/386 && GOOS=linux GOARCH=386 go build -ldflags "$(LDFLAGS)" -o dist/linux/386/dockerize - mkdir -p dist/linux/armel && GOOS=linux GOARCH=arm GOARM=5 go build -ldflags "$(LDFLAGS)" -o dist/linux/armel/dockerize - mkdir -p dist/linux/armhf && GOOS=linux GOARCH=arm GOARM=6 go build -ldflags "$(LDFLAGS)" -o dist/linux/armhf/dockerize - mkdir -p dist/linux/ppc64le && GOOS=linux GOARCH=ppc64le go build -ldflags "$(LDFLAGS)" -o dist/linux/ppc64le/dockerize - mkdir -p dist/darwin/amd64 && GOOS=darwin GOARCH=amd64 go build -ldflags "$(LDFLAGS)" -o dist/darwin/amd64/dockerize - mkdir -p dist/darwin/amd64 && GOOS=darwin GOARCH=arm64 go build -ldflags "$(LDFLAGS)" -o dist/darwin/arm64/dockerize - -release: dist - tar -cvzf dockerize-alpine-linux-amd64-$(TAG).tar.gz -C dist/alpine-linux/amd64 dockerize - tar -cvzf dockerize-alpine-linux-ppc64le-$(TAG).tar.gz -C dist/alpine-linux/ppc64le dockerize - tar -cvzf dockerize-linux-amd64-$(TAG).tar.gz -C dist/linux/amd64 dockerize - tar -cvzf dockerize-linux-386-$(TAG).tar.gz -C dist/linux/386 dockerize - tar -cvzf dockerize-linux-armel-$(TAG).tar.gz -C dist/linux/armel dockerize - tar -cvzf dockerize-linux-armhf-$(TAG).tar.gz -C dist/linux/armhf dockerize - tar -cvzf dockerize-linux-ppc64le-$(TAG).tar.gz -C dist/linux/ppc64le dockerize - tar -cvzf dockerize-darwin-amd64-$(TAG).tar.gz -C dist/darwin/amd64 dockerize - tar -cvzf dockerize-darwin-arm64-$(TAG).tar.gz -C dist/darwin/arm64 dockerize