#!/bin/bash export GITHUB_USER=${GITHUB_USER:-xcp} export GITHUB_REPO=${GITHUB_REPO:-docker-machine-driver-xcp} export GITHUB_COMMIT_ID=${TRAVIS_COMMIT:-${COMMIT_ID:-master}} export WORKING_DIR=/tmp/tmp.$(date "+%Y%m%d%H%M%S").${RANDOM:-$$}.${GITHUB_REPO} export GOROOT_BOOTSTRAP=${WORKING_DIR}/go1.6 export GOROOT=${WORKING_DIR}/go export GOPATH=${WORKING_DIR}/gopath export PATH=$GOROOT/bin:$GOPATH/bin:$PATH mkdir -p ${WORKING_DIR} function build_go() { pushd ${WORKING_DIR} curl -k https://storage.googleapis.com/golang/go1.6.linux-amd64.tar.gz | tar xz mv go go1.6 git clone --depth 50 --branch release-branch.go1.6 https://github.com/golang/go patch -d go -p1 < <(curl -k -L https://github.com/${GITHUB_USER}/${GITHUB_REPO}/raw/master/patches/TLS_RSA_WITH_AES_128_CBC_SHA256.patch) (cd go/src && bash ./make.bash) go env go version popd } function build_repo() { pushd ${WORKING_DIR} go get -v github.com/${GITHUB_USER}/${GITHUB_REPO} popd } function release_repo() { if [ "$TRAVIS_PULL_REQUEST" == "true" ]; then return fi pushd ${WORKING_DIR} if [ -d "${WORKSPACE}" ]; then local FILENAME=docker-machine-driver-xcp_$(go env GOOS)-$(go env GOARCH) cp -rf $GOPATH/bin/docker-machine-driver-xcp ${WORKSPACE}/${FILENAME} fi popd } function clean() { rm -rf $HOME/tmp.*.${GITHUB_REPO} } build_go build_repo release_repo clean