diff --git a/.gitignore b/.gitignore index c221bc6a2..4bf2d1d37 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .DS_Store .release/ +.releases/ kopia-*.tar.gz kopia-*.zip diff --git a/.travis.yml b/.travis.yml index f817f492e..a3789fa68 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ deploy: provider: releases api_key: secure: MDSDX0cJgeuQMAbPei13K1FaNxPpfqz1mYLaiAUeaIIfT0C4by6HiovUJxCxImen4IFro2AP9cbWpsGK5KlHnNHbzk62f1a1MpVEv4+dFi4cOJXs/I1hnjE8xnC8x/OzgiPtqzF3xsMvdC7oXjtVc6BV/Txq1KoLbfK9beOXdC08LxoHPIb/KPMokPZeqfry/mkfkeG9nVMZklAf71ltF7JQ9vSp9oebLXwFfjx71+2NhVWKKX56KBdJTw5HTQeNW5s+5/ZJoM31LzCVG9dT1jF4Ob/6gJv5s302RX3wSoM3VbsHgEYpEMVSDHMKxJoIRB6jvsmVb9SY3cTNzyx9SpC8IQ+YmYxzzBD3MSpO8Sa2RPqqG+fh5udI85WBSJHSVnV/7bQKX/0r9oIUdgjzBwfowhvYSAOKdKO5x2pdTXwWgJu59CO+HZASOY0HJuLnpnMs7mpdu01hMuEjE+a5iVnoQkith3bNdtcNO2vvGnZqz5RAH8A4WGbcAT/EO1VGtx6iFJOowA1Zd5Ke/TJNnOViBesUnd29Mp5JQsKwglsyu6Abmh7jor+osdsu4u+Fg6Ui+EIoEgQ5pjsl9Cy2kLwmQgiBy3WCEYjARlz08/LKNU//ZWGhFrcYgfia/1xbwmaAZbd4fyxLvdWJ4rZ5JWKhEHB4Nc7Ab4fqk2ebZjw= - file: kopia-*.{zip,tar.gz} + file: .releases/* file_glob: true on: tags: true diff --git a/Makefile b/Makefile index 7b0f9feb1..4f4d96b69 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,8 @@ RELEASE_SUFFIX ?= $(shell go env GOOS)-$(shell go env GOARCH) RELEASE_VERSION ?= $(BUILD_VERSION)-$(RELEASE_SUFFIX) RELEASE_NAME = kopia-$(RELEASE_VERSION) LDARGS="-X main.buildVersion=$(BUILD_VERSION) -X main.buildInfo=$(BUILD_INFO)" -RELEASE_TMP_DIR = .release +RELEASE_TMP_DIR = $(CURDIR)/.release +RELEASES_OUT_DIR = $(CURDIR)/.releases ZIP ?= 0 all: install test lint vet @@ -34,14 +35,15 @@ release: go build -o $(RELEASE_TMP_DIR)/$(RELEASE_NAME)/bin/kopia$(EXE_SUFFIX) -ldflags $(LDARGS) github.com/kopia/kopia/cmd/kopia cp README.md LICENSE $(RELEASE_TMP_DIR)/$(RELEASE_NAME) ifeq ($(GOOS), windows) - (cd $(RELEASE_TMP_DIR) && zip -r ../$(RELEASE_NAME).zip $(RELEASE_NAME)/) + (cd $(RELEASE_TMP_DIR) && zip -r $(RELEASES_OUT_DIR)/$(RELEASE_NAME).zip $(RELEASE_NAME)/) else - (cd $(RELEASE_TMP_DIR) && tar -cvzf ../$(RELEASE_NAME).tar.gz $(RELEASE_NAME)/) + (cd $(RELEASE_TMP_DIR) && tar -cvzf $(RELEASES_OUT_DIR)/$(RELEASE_NAME).tar.gz $(RELEASE_NAME)/) endif travis-setup: deps dev-deps travis-release: + mkdir -p $(RELEASES_OUT_DIR) GOARCH=386 GOOS=windows EXE_SUFFIX=.exe RELEASE_SUFFIX=windows-x86 BUILD_INFO=$(BUILD_INFO) make release GOARCH=amd64 GOOS=windows EXE_SUFFIX=.exe RELEASE_SUFFIX=windows-x64 BUILD_INFO=$(BUILD_INFO) make release GOARCH=386 GOOS=linux RELEASE_SUFFIX=linux-x86 BUILD_INFO=$(BUILD_INFO) make release @@ -49,6 +51,7 @@ travis-release: GOARCH=amd64 GOOS=darwin RELEASE_SUFFIX=macosx-x64 BUILD_INFO=$(BUILD_INFO) make release GOARCH=arm GOOS=linux RELEASE_SUFFIX=linux-arm BUILD_INFO=$(BUILD_INFO) make release rm -rf $(RELEASE_TMP_DIR) + (cd $(RELEASES_OUT_DIR) && sha256sum --tag kopia-* > CHECKSUM) dev-deps: go get -u golang.org/x/tools/cmd/gorename