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/.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 new file mode 100644 index 0000000..8e4869e --- /dev/null +++ b/.goreleaser.yml @@ -0,0 +1,31 @@ +before: + hooks: + - go mod tidy + - go generate ./... +builds: + - ldflags: + - -s -w -X main.buildVersion={{ .Version }} + tags: + - netgo + goos: + - linux + - darwin + goarch: + - amd64 + - arm + - arm64 + goarm: + - "6" + - "7" +checksum: + name_template: 'checksums.txt' +snapshot: + name_template: "{{ incpatch .Version }}-next" +changelog: + sort: asc + filters: + exclude: + - '^docs:' + - '^test:' +env_files: + github_token: ~/.github-token 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