language: go go: - 1.12.x services: - docker env: global: - CGO_ENABLED=0 - GO111MODULE=on - GOPROXY=https://proxy.golang.org cache: directories: - "$GOPATH/pkg/mod" - "$GOPATH/bin" install: curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.16.0 script: - go test -v -coverprofile=coverage.txt ./... - golangci-lint -v run - | set -e for dist in linux/386 linux/amd64 windows/amd64 darwin/amd64 do os=`echo $dist | cut -d'/' -f1` arch=`echo $dist | cut -d'/' -f2` env GOOS=$os GOARCH=$arch go build -o bin/werther_${os}_${arch} -ldflags "-w -s -X main.version=$TRAVIS_TAG" ./cmd/werther if [[ "$os" = "windows" ]]; then zip -r bin/werther_${os}_${arch}.zip bin/werther_${os}_${arch} else tar cvzf bin/werther_${os}_${arch}.tar.gz bin/werther_${os}_${arch} fi done (cd bin && sha256sum *.{tar.gz,zip} > werther_checksums.txt) - | set -e docker build --build-arg GOPROXY --build-arg VERSION=$TRAVIS_TAG -t "icoreru/werther:$TRAVIS_COMMIT" . if [ -n "$TRAVIS_TAG" ]; then docker tag "icoreru/werther:$TRAVIS_COMMIT" "icoreru/werther:$TRAVIS_TAG" docker tag "icoreru/werther:$TRAVIS_COMMIT" "icoreru/werther:latest" fi after_success: - bash <(curl -s https://codecov.io/bash) before_deploy: - | if [ -n "$TRAVIS_TAG" ]; then docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD" fi deploy: - provider: releases api_key: secure: YSy6tswGWij7VpIHmnvPd2O/CrlEFYKts87XJJxPiaA9IrQrr3QieXeg3yz7gEthsoMymP0EVTnBgn+1IUaobgh1LadAOPwxrUEDwsBBKVrusBFky3oBERbNa4os8qRDU8jSMyoijsH0vBKSEUz9eRiHEC61OfZtRuyHHUtWWyfhI3L3Q/GSVxM7LkW2oCN8HCOy99ISvshhqxdKDO4yRKNr1dR8V/EqV8j/2jLU4a0CmMZFQ4iK9V02USXOD17WNiI59Emc69lgsrDAa/abTea3hYNyYF5oP56E2RXFy8DetnnHW7fGisyws/Y3QWLZNaHGuJ9c05RBSrHjy8yDaDu+iFYq8+KMh9iQwTCv+h6BPTel4X0poz8k13e7QNT4DccpC5IrGsqY/MO3vC4G18ENDr4bd5OYNE4fC93+fn689ZvwdxfGrrlrn/HU5MqT1UcorpMSdL6WmJSiMtkimeRFAc0v/ZCFf3gzecwtQRMd8LukHor2+aslb86lFH+x6PywKPfnXEESudrOvVMIocNIK2ARGx2jYFKUc9ZAGijfzeK8A3N0mXJV0TvejEPygDsM8FMW83nAqPwZXFmtD3UnEGrt5Uq4N/U4D761il+sjmE7xO+lgjCh8gr2g5K6wUh2AzP9LVpTg1OJmEvuWlr+Pufn4QfiDgUvN4rO778= file: - bin/werther_linux_386.tar.gz - bin/werther_linux_amd64.tar.gz - bin/werther_windows_amd64.zip - bin/werther_darwin_amd64.tar.gz - bin/werther_checksums.txt skip_cleanup: true on: tags: true condition: $TRAVIS_OS_NAME = linux - provider: script skip_cleanup: true script: docker push "icoreru/werther:$TRAVIS_TAG" on: tags: true condition: $TRAVIS_OS_NAME = linux - provider: script skip_cleanup: true script: docker push "icoreru/werther:latest" on: tags: true condition: $TRAVIS_OS_NAME = linux