github.com/mccv1r0/cni@v0.7.0-alpha1/scripts/release.sh (about) 1 #!/usr/bin/env bash 2 set -xe 3 4 SRC_DIR="${SRC_DIR:-$PWD}" 5 BUILDFLAGS="-a --ldflags '-extldflags \"-static\"'" 6 7 TAG=$(git describe --tags --dirty) 8 RELEASE_DIR=release-${TAG} 9 10 OUTPUT_DIR=bin 11 12 # Always clean first 13 rm -Rf ${SRC_DIR}/${RELEASE_DIR} 14 mkdir -p ${SRC_DIR}/${RELEASE_DIR} 15 mkdir -p ${OUTPUT_DIR} 16 17 docker run -i -v ${SRC_DIR}:/opt/src --rm golang:1.8-alpine \ 18 /bin/sh -xe -c "\ 19 apk --no-cache add bash tar; 20 cd /opt/src; umask 0022; 21 for arch in amd64 arm arm64 ppc64le s390x; do \ 22 rm -f ${OUTPUT_DIR}/* ; \ 23 CGO_ENABLED=0 GOARCH=\$arch ./build.sh ${BUILDFLAGS}; \ 24 for format in tgz; do \ 25 FILENAME=cni-\$arch-${TAG}.\$format; \ 26 FILEPATH=${RELEASE_DIR}/\$FILENAME; \ 27 tar -C ${OUTPUT_DIR} --owner=0 --group=0 -caf \$FILEPATH .; \ 28 if [ \"\$arch\" == \"amd64\" ]; then \ 29 cp \$FILEPATH ${RELEASE_DIR}/cni-${TAG}.\$format; \ 30 fi; \ 31 done; \ 32 done; 33 cd ${RELEASE_DIR}; 34 for f in *.tgz; do sha1sum \$f > \$f.sha1; done; 35 for f in *.tgz; do sha256sum \$f > \$f.sha256; done; 36 for f in *.tgz; do sha512sum \$f > \$f.sha512; done; 37 cd .. 38 chown -R ${UID} ${OUTPUT_DIR} ${RELEASE_DIR}"