diff --git a/.travis.yml b/.travis.yml index b61ac44..9ed0f27 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,19 +2,17 @@ language: go go: - 1.8 script: -- GOARCH=amd64 make -- GOARCH=arm64 make -- GOARCH=arm make -- GOOS=darwin make +- make test +- make distribution deploy: provider: releases api_key: secure: VATbHmgR1DDXlIHEMpupuTggPU6wgtZk3BFK/eT5L+qqhnfSal1z+ZsypgWMGZN2Ch6WTRFaXqUhpV7N2oo+pQoXAYcDFWTd3BiTUied+pKVoUa8VuZFF2TW1cNcVJ3fnFPMFnpJPTYkld//+8s8zJQitTabE1QZdXNYPU1uUiY= file: - - release/webhookd-linux-amd64 - - release/webhookd-linux-arm64 - - release/webhookd-linux-arm - - release/webhookd-darwin-amd64 + - release/webhookd-linux-amd64.tgz + - release/webhookd-linux-arm64.tgz + - release/webhookd-linux-arm.tgz + - release/webhookd-darwin-amd64.tgz skip_cleanup: true on: repo: ncarlier/webhookd diff --git a/Makefile b/Makefile index 42dd384..20c2ac7 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,7 @@ ARTEFACT=release/$(APPNAME)-$(GOOS)-$(GOARCH)$(EXT) # Extract version infos VERSION:=`git describe --tags` -LDFLAGS=-ldflags "-X $(AUTHOR)/$(APPNAME)/version.App=${VERSION}" +LDFLAGS=-ldflags "-X $(AUTHOR)/$(APPNAME)/main.Version=${VERSION}" all: build @@ -52,7 +52,7 @@ $(ARTEFACT): build ## Run tests test: - go test + cd $(APPBASE)/$(APPNAME) && go test `go list ./... | grep -v vendor` .PHONY: test ## Install executable @@ -67,3 +67,21 @@ image: docker build --rm -t ncarlier/$(APPNAME) . .PHONY: image +## Generate changelog +changelog: + standard-changelog --first-release +.PHONY: changelog + +## GZIP executable +gzip: + tar cvzf $(ARTEFACT).tgz $(ARTEFACT) +.PHONY: gzip + +## Create distribution binaries +distribution: + GOARCH=amd64 make build gzip + GOARCH=arm64 make build gzip + GOARCH=arm make build gzip + GOOS=darwin make build gzip +.PHONY: distribution + diff --git a/install.sh b/install.sh index 13324e9..7564a9d 100644 --- a/install.sh +++ b/install.sh @@ -22,15 +22,24 @@ artefact_url=`curl -s $release_url | grep browser_download_url | head -n 1 | cut [ -z "$artefact_url" ] && die "Unable to extract artefact URL" base_download_url=`dirname $artefact_url` -download_url=$base_download_url/webhookd-$os-$arch +download_url=$base_download_url/webhookd-$os-${arch}.tgz +download_file=/tmp/webhookd-$os-${arch}.tgz bin_target=/usr/local/bin/webhookd -echo "Downloading $download_url to $bin_target ..." -sudo curl -o $bin_target --fail -L $download_url -[ $? != 0 ] && die "Unable download binary for your architecture." +echo "Downloading $download_url to $download_file ..." +sudo curl -o $download_file --fail -L $download_url +[ $? != 0 ] && die "Unable to download binary for your architecture." + +echo "Extracting $download_file ..." +sudo tar xvzf ${download_file} -C /tmp/ +[ $? != 0 ] && die "Unable to extract archive." + +echo "Moving binary to $bin_target ..." +sudo mv /tmp/release/webhookd* $bin_target +[ $? != 0 ] && die "Unable to move binary." echo "Making $bin_target as executable ..." sudo chmod +x $bin_target [ $? != 0 ] && die "Unable to make the binary as executable." -echo "Installation done. Type 'webhookd' to start the server." \ No newline at end of file +echo "Installation done. Type 'webhookd' to start the server."