From 0151f5e0c1fa92379b88728fc28ecd52d49a966d Mon Sep 17 00:00:00 2001 From: Cody Soyland Date: Wed, 20 Sep 2017 14:01:58 -0500 Subject: [PATCH 1/2] Add prerelease build target in Makefile and update TravisCI config to use it. Also update Slack notification token. Fixes #832. --- .travis.yml | 14 +++++++++++++- Makefile | 23 ++++++++++++++++++----- 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index beb41e392..9b7eaa968 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,11 +3,23 @@ go: - 1.8 - 1.9 - master +env: + global: # AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY + - secure: OOu9Wh9fqyX6UZGfxAgkJRpkUiZemSMyOHWwJiGOvlq9kxQNCsag6t5OTrIzaMX/lKJ6ZnbyjSDPtKbQMbz1NdWz5WHkaqa7s2Qzcl1oDX1lycV/J4zx1BrP3BpTLQxOFWF7geCXMXD0eXsIBjMEhZ2b/NZtmzhNZnfx1n/2/OxIfXBvMW4iw8ahU9PRjaje73K7b431r1rzkP3zeKeCUutPcK3WtQAwSRYYT3DOH99MLYVwTmCFfQtq6YrDUiSukrlWeqf/wUh1Y5UzSLOCNPE5athR1TnTmjCobXjOiVFa2kUzwicakjowaNQSt+FwcPDC/CAXkewKnDKArcrpWqFsk74dCx2U7L8/jpDoR3aM6YMQUJH9viceI2WYbTOnYqmxJ5ixKAGwpvXSpBfGeTh4ykV12B5c6FzjiC4jmULcMrOUsfZd80KJzoUpap3le6p72tQUOz0cabYmdExncOprWgFhXm9rQUjvMKn+UedDg+mFOFMjTG7lq6+r+ovnshbErh621mvTRbEetIRKE/0HNIKxcUZTaNJ2/l3MC3s+A1r4VzKA8w4eK9TWt9oe9qj8z78r11YeXwDFbmT9aa4eSMxzaZT2xPNzgAbeFABaaKdLgLMvOHEv0UFxf+EpHGPfPRF8z7pyQGKB5A6TmKlGF8SUaXeYdTVMAXxT570= + - secure: OKHQbWGvV7DgOBAXvn3wVd8R9WMXo5324/lQRvGytzSk6HkQ2v8spvy12rDKBDu7MJpSfFxtEMNRQ44pSBekKqKvwiUBXai6QIJwyAlZJ//H5/lTYxAIYR9/W7jTuD1ZI8liSMGXCt+iLR0SEwi4FN/QeUts9JcGfXFywo+9E4sFCHCH2w+JmDU6Vlgb+umKN5T77GuLzPqdjmWmtvNMMXXPKmNNc2ozf0BHovSKJtMAkQHN3oFalJ74IRANHO4SnROS4+/AYg8oUf2lNJBC/4PJ5FinpDqiKIyD8HzEYny5OYG/4V50KcLgnWtF9KoMtj2/vyj6krVhQcmQYTJgqBnwMM6PYMYAr7OYB5TltuOlvDxlE8SqvaEIfdityBW1GLNR5eiXikjQ3fYRjBaxucalJA4g2gJ+0GvsXYe2dxO91mxPVaRZlasTdMU3ND+Jt7OdbJvpFsjqBVJYaPqB81oCMCC7a3VtS26KFKkFbdOlY/xjGisVPe2o+OQkT4h3n420IbdtHu5zB9qbz4jxPzczrhvPLU0XVLuqxvhsbheTOUCT+ehw8TWfy83T75NIfWQR12hmqAt+AwVaqOW8ep+4phDuhLs3WBy4sMYVAht5AQd/eCs+gK8qGvPKQAqfqLivEscr0AGAvE+CKTXIR7TrIPPHd8B0lusU38HWhMY= addons: before_install: - go get github.com/mattn/goveralls script: - make vendor && $HOME/gopath/bin/goveralls -service=travis-ci -ignore "internal/internal.go,internal/public.pb.go,internal/private.pb.go" +before_deploy: + - pip install awscli --user `whoami` +deploy: + - provider: script + script: make prerelease-upload + skip_cleanup: true + on: + branch: master notifications: slack: - secure: k0m8IqQIjb8L5b1plR9+w4hGo5iWlGtrR9nxvPsHL7gShwez74dpHCmFUCjR/uJoZa5Xq6849IWmiBB71ZHE/wNVN60HpMeui9VKkYvUDVpgBuqoIo969ySPDyQo4jNsk0wRRv/dG5/wXo7ArY8qOp5UDjdVuEf4nEbDlBtKjo0A2W8qXBTdZ5EJ3VeP5nrtrT7knuWxXgeUyVmLkpnUaLgkY7icvH6evqkftfcb56n3l5ulKtlQkI/ij2XCUK+5xtNB9m0e1QbiqIFS7sjwlSly/GCstPVnTEp4oHNHE7LtS6TJ8lgRV90Qy6LPtROjbSdfVjhJ5cYKus8DdddSfcsm2qgHCHQThyYtVAfOXaFPYPb50WXEu3HOckHk1tYChfkdxwEGdn/cN8/xxa7Khd7T/+SaS1B4CPxOFp0ie+rD4lF6IhApmpr/UwtiW6srHcPB04lF5mioYWmyS2eyGKTzSZR82nifg5KYUgBL1FjywQDYb8t9QaAn/6svu08k4H29TBnYpOQWREb38pYmEnMtRqiRmbfQL6IyV8405TJkl/PZmIElX6IQGjf53M1KoFdCUuTL1we6rh8gen5zRVUwmM6BJxkVt4NJ2wGkrXg/HD3feYCMrv+DY3lfDN7tADx90lPb+ukmanB8oSIQHLuLCJ2XcFixEC3QSvVlnH0= + secure: dGOhPuyJRMENgqooKaoDkg2ZkZndVXMCUyr8eZK2TkUHFBvXTS1ajDYyNbzlokzgHQefD96ZlgAiuE5H/VLUW7fK1CyWsVIgC/BaEbeXquZJN/fwoCx7H5JI6eXHF1ZiBkI6X6TTg3fQ6t1yuBUNYwcUp0RFW3pAsuC7a1Xt4n7jrBaKwesvgZN8Gj6uZFj6cm5ogSBuq0TQxhryFfk9KVuUHGObiFAMtfSFH4K6VdhHnTJNsNeWZ6ekbYMmSaIFcK/Y4YKOagniCa6d5Ztlh0+RjM5j2HnMZWaMLa5y5C5i4QLuNxLVil6ZSfLWCd1U1R5kGuhTUoFSIRCKwOfomOl/eYHDLmUttjbDHHkLYgFwgSS7lOPhfcA+czOuZNf3C7VBLEvW3DfOwcExiVp2Z4dGltBMReF8LIQPIf3/8DA1wTS4slpBeOxFcOMUgpGg2FU5JMkmtUZtEv7vn4ru9y1YESJHARJzDMmBEFyQTbG23otAt1VsHLzOdwKRYROE1DByET7xzhiP03W1n8tSjehg01G4ziHXzHdsJdkQbfMO6il5zCLsvtn2+uH2Lw7fqx6fHJ1+3Yh+poztVliCXdLohw3mCkNShtU/bsyidBqG7sknGYN0BB8QjH4i1XGHBeyNReeJETT2k33FOa5NdfTwiAGmR20iwQAZqjUVRx4= diff --git a/Makefile b/Makefile index b064c7ce0..5b4029d43 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: dep docker pilosa crossbuild install generate statik release test cover cover-pkg cover-viz +.PHONY: dep docker pilosa release-build prerelease-build release prerelease prerelease-upload install generate statik test cover cover-pkg cover-viz DEP := $(shell command -v dep 2>/dev/null) STATIK := $(shell command -v statik 2>/dev/null) @@ -50,7 +50,7 @@ cover-viz: cover pilosa: vendor go build -ldflags $(LDFLAGS) $(FLAGS) $(CLONE_URL)/cmd/pilosa -crossbuild: vendor +release-build: vendor mkdir -p build/pilosa-$(IDENTIFIER) make pilosa FLAGS="-o build/pilosa-$(IDENTIFIER)/pilosa" cp LICENSE README.md build/pilosa-$(IDENTIFIER) @@ -58,9 +58,22 @@ crossbuild: vendor @echo "Created release build: build/pilosa-$(IDENTIFIER).tar.gz" release: - make crossbuild GOOS=linux GOARCH=amd64 - make crossbuild GOOS=linux GOARCH=386 - make crossbuild GOOS=darwin GOARCH=amd64 + make release-build GOOS=linux GOARCH=amd64 + make release-build GOOS=linux GOARCH=386 + make release-build GOOS=darwin GOARCH=amd64 + +prerelease-build: vendor + mkdir -p build/pilosa-master + make pilosa FLAGS="-o build/pilosa-master-$(GOOS)-$(GOARCH)/pilosa" + cp LICENSE README.md build/pilosa-master-$(GOOS)-$(GOARCH) + tar -cvz -C build -f build/pilosa-master-$(GOOS)-$(GOARCH).tar.gz pilosa-master-$(GOOS)-$(GOARCH)/ + @echo "Created pre-release build: build/pilosa-master-$(GOOS)-$(GOARCH).tar.gz" + +prerelease: + make prerelease-build GOOS=linux GOARCH=amd64 + +prerelease-upload: prerelease + aws s3 cp build/pilosa-master-linux-amd64.tar.gz s3://build.pilosa.com/pilosa-master-linux-amd64.tar.gz --acl public-read install: vendor go install -ldflags $(LDFLAGS) $(FLAGS) $(CLONE_URL)/cmd/pilosa From f99cc9ba851420c95156bd8d105fcbd0bf21585d Mon Sep 17 00:00:00 2001 From: Cody Soyland Date: Thu, 21 Sep 2017 08:52:14 -0500 Subject: [PATCH 2/2] Remove redundant `mkdir` (go build will make dir) --- Makefile | 2 -- 1 file changed, 2 deletions(-) diff --git a/Makefile b/Makefile index 5b4029d43..33f1c579d 100644 --- a/Makefile +++ b/Makefile @@ -51,7 +51,6 @@ pilosa: vendor go build -ldflags $(LDFLAGS) $(FLAGS) $(CLONE_URL)/cmd/pilosa release-build: vendor - mkdir -p build/pilosa-$(IDENTIFIER) make pilosa FLAGS="-o build/pilosa-$(IDENTIFIER)/pilosa" cp LICENSE README.md build/pilosa-$(IDENTIFIER) tar -cvz -C build -f build/pilosa-$(IDENTIFIER).tar.gz pilosa-$(IDENTIFIER)/ @@ -63,7 +62,6 @@ release: make release-build GOOS=darwin GOARCH=amd64 prerelease-build: vendor - mkdir -p build/pilosa-master make pilosa FLAGS="-o build/pilosa-master-$(GOOS)-$(GOARCH)/pilosa" cp LICENSE README.md build/pilosa-master-$(GOOS)-$(GOARCH) tar -cvz -C build -f build/pilosa-master-$(GOOS)-$(GOARCH).tar.gz pilosa-master-$(GOOS)-$(GOARCH)/