File: release-with-rkt.sh

package info (click to toggle)
golang-github-appc-cni 0.3.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 484 kB
  • ctags: 342
  • sloc: sh: 172; makefile: 6
file content (44 lines) | stat: -rwxr-xr-x 1,582 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/env bash
set -xe

SRC_DIR="${SRC_DIR:-$PWD}"

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"
BUILDFLAGS="-a --ldflags '-extldflags \"-static\"'"

TAG=$(git describe --exact-match --abbrev=0) || TAG=$(git describe)
RELEASE_DIR=release-${TAG}
OUTPUT_DIR=bin

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; CGO_ENABLED=0 ./build ${BUILDFLAGS}; \
    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 .; \
    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}; \
    :"