#!/bin/sh -e VER=$1 function build { proj=${1} ver=${2} if [ ! -d ${proj} ]; then git clone https://github.com/coreos/${proj} fi cd ${proj} git checkout master git fetch --all git reset --hard origin/master git checkout $ver ./build cd - } function package { proj=${1} target=${2} ccdir="${proj}/bin/${GOOS}_${GOARCH}" if [ -d ${ccdir} ]; then cp ${ccdir}/${proj}* ${target} else cp ${proj}/bin/${proj} ${target} fi cp ${proj}/README.md ${target}/README-${proj}.md } mkdir release cd release for i in darwin windows linux; do export GOOS=${i} export GOARCH="amd64" build etcd ${VER} build etcdctl ${VER} TARGET="etcd-${VER}-${GOOS}-${GOARCH}" mkdir ${TARGET} package etcd ${TARGET} package etcdctl ${TARGET} if [ ${GOOS} == "linux" ]; then tar cvvfz ${TARGET}.tar.gz ${TARGET} else zip -r ${TARGET}.zip ${TARGET} fi done