scripts: build static releases and create an ACI
* use SHA1 instead of MD5
This commit is contained in:
parent
e145c60337
commit
4aaffc2069
32
build-static
Executable file
32
build-static
Executable file
@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
set -xe
|
||||
|
||||
ORG_PATH="github.com/appc"
|
||||
REPO_PATH="${ORG_PATH}/cni"
|
||||
|
||||
if [ ! -h gopath/src/${REPO_PATH} ]; then
|
||||
mkdir -p gopath/src/${ORG_PATH}
|
||||
ln -s ../../../.. gopath/src/${REPO_PATH} || exit 255
|
||||
fi
|
||||
|
||||
export GO15VENDOREXPERIMENT=1
|
||||
export GOBIN=${PWD}/bin
|
||||
export GOPATH=${PWD}/gopath
|
||||
export CGO_ENABLED=0
|
||||
|
||||
echo "Building API"
|
||||
go build ${REPO_PATH}/libcni
|
||||
|
||||
echo "Building reference CLI"
|
||||
go install --ldflags '-extldflags "-static"' ${REPO_PATH}/cnitool
|
||||
|
||||
echo "Building plugins"
|
||||
|
||||
PLUGINS="plugins/meta/* plugins/main/* plugins/ipam/*"
|
||||
for d in $PLUGINS; do
|
||||
if [ -d $d ]; then
|
||||
plugin=$(basename $d)
|
||||
echo " " $plugin
|
||||
go install ${REPO_PATH}/$d
|
||||
fi
|
||||
done
|
@ -3,8 +3,10 @@ set -xe
|
||||
|
||||
SRC_DIR="${SRC_DIR:-$PWD}"
|
||||
|
||||
FEDORA_INSTALL="dnf install -y golang tar xz bzip2 gzip sudo iproute"
|
||||
FEDORA_INSTALL="dnf install -y golang tar xz bzip2 gzip sudo iproute wget"
|
||||
FEDORA_IMAGE="docker://fedora:23"
|
||||
ACBUILD_URL="https://github.com/appc/acbuild/releases/download/v0.2.2/acbuild.tar.gz"
|
||||
ACBUILD="acbuild --debug"
|
||||
|
||||
TAG=$(git describe --exact-match --abbrev=0) || TAG=$(git describe)
|
||||
RELEASE_DIR=release-${TAG}
|
||||
@ -14,21 +16,28 @@ rm -Rf ${SRC_DIR}/${RELEASE_DIR}
|
||||
mkdir -p ${SRC_DIR}/${RELEASE_DIR}
|
||||
|
||||
sudo -E rkt run \
|
||||
--volume rslvconf,kind=host,source=/etc/resolv.conf \
|
||||
--mount volume=rslvconf,target=/etc/resolv.conf \
|
||||
--volume src-dir,kind=host,source=$SRC_DIR \
|
||||
--mount volume=src-dir,target=/opt/src \
|
||||
--interactive \
|
||||
--insecure-options=image \
|
||||
${FEDORA_IMAGE} \
|
||||
--exec /bin/bash \
|
||||
-- -xe -c "\
|
||||
${FEDORA_INSTALL}; cd /opt/src; umask 0022; ./build; ./test || true; \
|
||||
--volume rslvconf,kind=host,source=/etc/resolv.conf \
|
||||
--mount volume=rslvconf,target=/etc/resolv.conf \
|
||||
--volume src-dir,kind=host,source=$SRC_DIR \
|
||||
--mount volume=src-dir,target=/opt/src \
|
||||
--interactive \
|
||||
--insecure-options=image \
|
||||
${FEDORA_IMAGE} \
|
||||
--exec /bin/bash \
|
||||
-- -xe -c "\
|
||||
${FEDORA_INSTALL}; cd /opt/src; umask 0022; ./build-static; ./test || true; \
|
||||
for format in txz tbz2 tgz; do \
|
||||
FILENAME=CNI-${TAG}.\$format; \
|
||||
FILEPATH=${RELEASE_DIR}/\$FILENAME; \
|
||||
tar -C ${OUTPUT_DIR} --owner=0 --group=0 -caf \$FILEPATH .; \
|
||||
pushd ${RELEASE_DIR}; md5sum \$FILENAME > \$FILENAME.md5; popd; \
|
||||
FILENAME=cni-${TAG}.\$format; \
|
||||
FILEPATH=${RELEASE_DIR}/\$FILENAME; \
|
||||
tar -C ${OUTPUT_DIR} --owner=0 --group=0 -caf \$FILEPATH .; \
|
||||
done; \
|
||||
wget -O - ${ACBUILD_URL} | tar -C /usr/bin -xzvf -; \
|
||||
${ACBUILD} begin; \
|
||||
${ACBUILD} set-name coreos.com/cni; \
|
||||
${ACBUILD} label add version ${TAG}; \
|
||||
${ACBUILD} copy --to-dir ${OUTPUT_DIR} /opt/cni/; \
|
||||
${ACBUILD} write ${RELEASE_DIR}/cni-${TAG}.aci; \
|
||||
${ACBUILD} end; \
|
||||
pushd ${RELEASE_DIR}; for f in \$(ls); do sha1sum \$f > \$f.sha1; done; popd; \
|
||||
chown -R ${UID} ${OUTPUT_DIR} ${RELEASE_DIR}; \
|
||||
:"
|
||||
|
Loading…
x
Reference in New Issue
Block a user