scripts: build static releases and create an ACI
authorStefan Junker <mail@stefanjunker.de>
Fri, 22 Apr 2016 22:12:50 +0000 (00:12 +0200)
committerStefan Junker <mail@stefanjunker.de>
Thu, 19 May 2016 13:05:29 +0000 (15:05 +0200)
* use SHA1 instead of MD5

build-static [new file with mode: 0755]
scripts/release-with-rkt.sh

diff --git a/build-static b/build-static
new file mode 100755 (executable)
index 0000000..aae17f0
--- /dev/null
@@ -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
index d234e0c..4e88950 100755 (executable)
@@ -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}; \
     :"