diff --git a/.travis.yml b/.travis.yml index 6562fef4c..f8285743e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -80,4 +80,6 @@ script: - if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_PULL_REQUEST" = "false" ]]; then make coverage; fi after_success: + - wget -O statup.gpg $SIGN_URL + - gpg --import statup.gpg - if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_PULL_REQUEST" = "false" ]]; then make travis-build; fi diff --git a/Makefile b/Makefile index aaa72f90e..b608bf224 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ VERSION=$(shell cat version.txt) +SIGN_KEY=1CD16653F89EDB72A5621D2D253A2CB79B43052D BINARY_NAME=statup GOPATH:=$(GOPATH) GOCMD=go @@ -242,22 +243,31 @@ tag: # compress built binaries into tar.gz and zip formats compress: cd build && mv alpine-linux-amd64 $(BINARY_NAME) + cd build && gpg --default-key $(SIGN_KEY) --batch --detach-sign --output gpg-statup-alpine.asc --armor $(BINARY_NAME) cd build && tar -czvf $(BINARY_NAME)-linux-alpine.tar.gz $(BINARY_NAME) && rm -f $(BINARY_NAME) cd build && mv cmd-darwin-10.6-amd64 $(BINARY_NAME) + cd build && gpg --default-key $(SIGN_KEY) --batch --detach-sign --output gpg-statup-mac64.asc --armor $(BINARY_NAME) cd build && tar -czvf $(BINARY_NAME)-osx-x64.tar.gz $(BINARY_NAME) && rm -f $(BINARY_NAME) cd build && mv cmd-darwin-10.6-386 $(BINARY_NAME) + cd build && gpg --default-key $(SIGN_KEY) --batch --detach-sign --output gpg-statup-mac32.asc --armor $(BINARY_NAME) cd build && tar -czvf $(BINARY_NAME)-osx-x32.tar.gz $(BINARY_NAME) && rm -f $(BINARY_NAME) cd build && mv cmd-linux-amd64 $(BINARY_NAME) + cd build && gpg --default-key $(SIGN_KEY) --batch --detach-sign --output gpg-statup-linux64.asc --armor $(BINARY_NAME) cd build && tar -czvf $(BINARY_NAME)-linux-x64.tar.gz $(BINARY_NAME) && rm -f $(BINARY_NAME) cd build && mv cmd-linux-386 $(BINARY_NAME) + cd build && gpg --default-key $(SIGN_KEY) --batch --detach-sign --output gpg-statup-linux32.asc --armor $(BINARY_NAME) cd build && tar -czvf $(BINARY_NAME)-linux-x32.tar.gz $(BINARY_NAME) && rm -f $(BINARY_NAME) cd build && mv cmd-windows-6.0-amd64.exe $(BINARY_NAME).exe - cd build && zip $(BINARY_NAME)-windows-x64.zip $(BINARY_NAME).exe && rm -f $(BINARY_NAME).exe + cd build && gpg --default-key $(SIGN_KEY) --batch --detach-sign --output gpg-statup-win64.asc --armor $(BINARY_NAME).exe + cd build && zip $(BINARY_NAME)-windows-x64.zip $(BINARY_NAME).exe && rm -f $(BINARY_NAME).exe cd build && mv cmd-linux-arm-7 $(BINARY_NAME) + cd build && gpg --default-key $(SIGN_KEY) --batch --detach-sign --output gpg-statup-arm7.asc --armor $(BINARY_NAME) cd build && tar -czvf $(BINARY_NAME)-linux-arm7.tar.gz $(BINARY_NAME) && rm -f $(BINARY_NAME) cd build && mv cmd-linux-arm-6 $(BINARY_NAME) + cd build && gpg --default-key $(SIGN_KEY) --batch --detach-sign --output gpg-statup-arm6.asc --armor $(BINARY_NAME) cd build && tar -czvf $(BINARY_NAME)-linux-arm6.tar.gz $(BINARY_NAME) && rm -f $(BINARY_NAME) cd build && mv cmd-linux-arm64 $(BINARY_NAME) + cd build && gpg --default-key $(SIGN_KEY) --batch --detach-sign --output gpg-statup-arm64.asc --armor $(BINARY_NAME) cd build && tar -czvf $(BINARY_NAME)-linux-arm64.tar.gz $(BINARY_NAME) && rm -f $(BINARY_NAME) # push the :dev docker tag using curl @@ -305,6 +315,12 @@ snapcraft-release: snap: snapcraft cleanbuild +sign-all: + gpg --default-key CB1895149EEA4A2B8DBC9FB4C326E5C3B26BBA53 --detach-sign --armor statuper + +valid-sign: + gpg --verify statuper.asc + # install xgo and pull the xgo docker image xgo-install: clean go get github.com/karalabe/xgo diff --git a/dev/statup.gpg b/dev/statup.gpg new file mode 100644 index 000000000..862307b2f --- /dev/null +++ b/dev/statup.gpg @@ -0,0 +1,51 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=6VHg +-----END PGP PUBLIC KEY BLOCK----- \ No newline at end of file