diff --git a/Makefile b/Makefile index aec16aae0..83a011ce7 100644 --- a/Makefile +++ b/Makefile @@ -41,10 +41,7 @@ help: @echo "gofmt - go fmt" @echo "vet - go vet" @echo "linux - go build linux/amd64" - @echo "release - build/release.sh" - @echo "gorelease - goreleaser" - @echo "homebrew - build/homebrew.sh" - @echo "buildpkg - build/build.sh" + @echo "release - tag, build and publish release with goreleaser" @echo "pkg - build, test and create pkg/fabio.tar.gz" @echo "clean - remove temp files" @@ -89,13 +86,13 @@ pkg: build test mkdir pkg tar czf pkg/fabio.tar.gz fabio -# release executes a release -# this is deprecated since I'm switching to goreleaser -release: preflight test - build/release.sh - -# ship executes the steps for a release with goreleaser -ship: preflight test gorelease homebrew docker-aliases +# release tags, builds and publishes a build with goreleaser +# +# Run this in sub-shells instead of dependencies so that +# later targets can pick up the new tag value. +release: + $(MAKE) tag + $(MAKE) preflight test gorelease homebrew docker-aliases # preflight runs some checks before a release preflight: @@ -116,11 +113,6 @@ gorelease: homebrew: build/homebrew.sh $(LAST_TAG) -# docker builds the docker containers and publishes them -# this is deprecated since goreleaser should handle that -docker: - build/docker.sh $(VERSION)-$(GOVERSION) - # docker-aliases creates aliases for the docker containers # since goreleaser doesn't handle that properly yet docker-aliases: @@ -147,4 +139,4 @@ clean: rm -rf pkg dist fabio find . -name '*.test' -delete -.PHONY: build buildpkg clean docker gofmt homebrew install linux pkg release test vendorfmt vet +.PHONY: build clean docker gofmt homebrew install linux pkg release test vendorfmt vet diff --git a/build/build.sh b/build/build.sh deleted file mode 100755 index 110bf5c46..000000000 --- a/build/build.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -e - -readonly prgdir=$(cd $(dirname $0); pwd) -readonly basedir=$(cd $prgdir/..; pwd) -v=$1 - -[[ -n "$v" ]] || read -p "Enter version (e.g. 1.0.4): " v -if [[ -z "$v" ]] ; then - echo "Usage: $0 [] (e.g. 1.0.4)" - exit 1 -fi - -go get -u github.com/mitchellh/gox -for go in go1.9.2; do - echo "Building fabio with ${go}" - gox -gocmd ~/${go}/bin/go -tags netgo -output "${basedir}/build/builds/fabio-${v}/fabio-${v}-${go}-{{.OS}}_{{.Arch}}" -done - -( cd ${basedir}/build/builds/fabio-${v} && shasum -a 256 fabio-${v}-* > fabio-${v}.sha256 ) -( cd ${basedir}/build/builds/fabio-${v} && gpg --output fabio-${v}.sha256.sig --detach-sig fabio-${v}.sha256 ) diff --git a/build/docker.sh b/build/docker.sh deleted file mode 100755 index 240ad13ec..000000000 --- a/build/docker.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash -e -# -# docker.sh will build docker images from -# the versions provided on the command line. -# The binaries must already exist in the build/builds -# directory and are usually built with the build.sh -# or the release.sh script. The last specified -# version will be used as the 'latest' image. -# -# Example: -# -# build/docker.sh 1.1-go1.5.4 1.1-go1.6 -# -# will build three containers -# -# * fabiolb/fabio:1.1-go1.5.4 -# * fabiolb/fabio:1.1-go1.6.2 -# * fabiolb/fabio (which contains 1.1-go1.6.2) -# -if [[ $# = 0 ]]; then - echo "Usage: docker.sh <1.x-go1.x.x> <1.x-go1.x.y>" - exit 1 -fi - -for v in "$@" ; do - echo "Building docker image fabiolb/fabio:$v" - ( - cp dist/linuxamd64/fabio fabio - docker build -q -t fabiolb/fabio:${v} . - ) - docker tag fabiolb/fabio:$v magiconair/fabio:$v - docker tag fabiolb/fabio:$v magiconair/fabio:latest - docker tag fabiolb/fabio:$v fabiolb/fabio:latest -done - -docker images | grep '/fabio' | egrep "($v|latest)" - -read -p "Push docker images? (y/N) " -n 1 -r -echo -if [[ ! $REPLY =~ ^[Yy]$ ]]; then - echo "Not pushing images. Exiting" - exit 0 -fi - -echo "Pushing images..." -docker push fabiolb/fabio:$v -docker push fabiolb/fabio:latest -docker push magiconair/fabio:$v -docker push magiconair/fabio:latest diff --git a/build/release.sh b/build/release.sh deleted file mode 100755 index ce39144e4..000000000 --- a/build/release.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash -e -# -# Script for replacing the version number -# in main.go, committing and tagging the code - -readonly prgdir=$(cd $(dirname $0); pwd) -readonly basedir=$(cd $prgdir/..; pwd) -v=$1 - -[[ -n "$v" ]] || read -p "Enter version (e.g. 1.0.4): " v -if [[ -z "$v" ]]; then - echo "Usage: $0 (e.g. 1.0.4)" - exit 1 -fi - -grep -q "$v" CHANGELOG.md || echo "CHANGELOG.md not updated" - -read -p "Release fabio version $v? (y/N) " -n 1 -r -echo -if [[ ! $REPLY =~ ^[Yy]$ ]]; then - exit 1 -fi - -sed -i '' -e "s|^var version .*$|var version = \"$v\"|" $basedir/main.go -git add $basedir/main.go -git commit -S -m "Release v$v" -git commit -S --amend -git tag -s v$v -m "Tag v${v}" - -$prgdir/build.sh $v