From cc6b5af41568eeb2e164723de5f3ec49f035500a Mon Sep 17 00:00:00 2001 From: Denis <13015392+longdog@users.noreply.github.com> Date: Wed, 30 Oct 2019 11:42:29 +0400 Subject: [PATCH] Ci releases (#1) * add build tag to ignore windows * add ci script for automatic build * update Makefile for automatic builds * get version from git tag --- .travis.yml | 31 +++++++++++++++++++++++++++++++ Makefile | 24 +++++++++++++++++++++--- app/internal/runtime.go | 3 +++ version.mk | 2 +- 4 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..e1b3d43 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,31 @@ +language: go +sudo: false + +os: + - linux + +go: + - 1.13 + +script: + # Windows 386 build + - GOOS=windows GOARCH=386 VERSION=${TRAVIS_TAG} make release + # Windows amd64 build + - GOOS=windows GOARCH=amd64 VERSION=${TRAVIS_TAG} make release + # Linux 386 build + - GOOS=linux GOARCH=386 VERSION=${TRAVIS_TAG} make release + # Linux amd64 build + - GOOS=linux GOARCH=amd64 VERSION=${TRAVIS_TAG} make release + # Darwin amd64 build + - GOOS=darwin GOARCH=amd64 VERSION=${TRAVIS_TAG} make release + +deploy: + provider: releases + api_key: ${GITHUB_TOKEN} + file: + - release/underblog-*.zip + - release/underblog-*.tar.gz + on: + tags: true + file_glob: true + skip_cleanup: true diff --git a/Makefile b/Makefile index 2d8bbbc..09b50a0 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,16 @@ include version.mk +NAME = underblog +BUILD_NAME = $(GOOS)-$(GOARCH) +BUILD_DIR = release/$(BUILD_NAME) + + +ifeq ($(GOOS),windows) + ext=.exe + archiveCmd=zip -9 -r $(NAME)-$(BUILD_NAME)-$(VERSION).zip $(BUILD_NAME) +else + ext= + archiveCmd=tar czpvf $(NAME)-$(BUILD_NAME)-$(VERSION).tar.gz $(BUILD_NAME) +endif all: build test targz sha move @@ -12,10 +24,16 @@ bench: go test -v -run Bench -bench=. ./... targz: - tar -czf underblog_$(version).tar.gz underblog + tar -czf underblog_$(VERSION).tar.gz underblog sha: - shasum -a 256 underblog_$(version).tar.gz + shasum -a 256 underblog_$(VERSION).tar.gz move: - mv underblog release/ && mv underblog_$(version).tar.gz release/ + mv underblog release/ && mv underblog_$(VERSION).tar.gz release/ + +.PHONY: release +release: + -mkdir -p $(BUILD_DIR) + GOOS=$(GOOS) GOARCH=$(GOARCH) GO111MODULE=on CGO_ENABLED=0 go build -o $(BUILD_DIR)/$(NAME)$(ext) ./app/main.go + cd release ; $(archiveCmd) \ No newline at end of file diff --git a/app/internal/runtime.go b/app/internal/runtime.go index 8a114f4..b8ac473 100644 --- a/app/internal/runtime.go +++ b/app/internal/runtime.go @@ -1,3 +1,6 @@ +// +build linux darwin +// +build !windows + package internal import ( diff --git a/version.mk b/version.mk index 82f9350..585cdc7 100644 --- a/version.mk +++ b/version.mk @@ -1 +1 @@ -version = 0.2 +VERSION ?= 0.2