mirror of
https://github.com/k8snetworkplumbingwg/multus-cni.git
synced 2025-08-08 11:40:24 +00:00
Removes the it `fails to execute confListDel given no 'plugins' key"` test. This test no longer fails after libcni version 1.2.3. It probably shouldn't failduring a DEL action as it is, we want the least error prone path. The GC test now uses both cni.dev attachment formats. Uses both attachment formats as per https://github.com/containernetworking/cni/issues/1101 for GC's cni.dev/valid-attachments & cni.dev/attachments
85 lines
3.0 KiB
Bash
Executable File
85 lines
3.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
DEST_DIR="bin"
|
|
|
|
if [ ! -d ${DEST_DIR} ]; then
|
|
mkdir ${DEST_DIR}
|
|
fi
|
|
|
|
# Specify correspondingGOARCH from TARGETPLATFORM
|
|
if [ "$TARGETPLATFORM" = "linux/amd64" ]; then
|
|
export GOARCH=amd64
|
|
elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then
|
|
export GOARCH=arm64
|
|
elif [ "$TARGETPLATFORM" = "linux/arm/v7" ]; then
|
|
export GOARCH=arm
|
|
elif [ "$TARGETPLATFORM" = "linux/ppc64le" ]; then
|
|
export GOARCH=ppc64le
|
|
elif [ "$TARGETPLATFORM" = "linux/s390x" ]; then
|
|
export GOARCH=s390x
|
|
fi
|
|
|
|
# version information
|
|
hasGit=true
|
|
git version > /dev/null 2>&1 || hasGit=false
|
|
GIT_SHA=""
|
|
GIT_TREE_STATE=""
|
|
GIT_TAG=""
|
|
GIT_TAG_LAST=""
|
|
RELEASE_STATUS=""
|
|
if $hasGit; then
|
|
set +e
|
|
GIT_SHA=$(git rev-parse --short HEAD)
|
|
# Tree state is "dirty" if there are uncommitted changes, untracked files are ignored
|
|
GIT_TREE_STATE=$(test -n "`git status --porcelain --untracked-files=no`" && echo "dirty" || echo "clean")
|
|
# Empty string if we are not building a tag
|
|
GIT_TAG=$(git describe --tags --abbrev=0 --exact-match 2>/dev/null || true)
|
|
# Find most recent tag
|
|
GIT_TAG_LAST=$(git describe --tags --abbrev=0 2>/dev/null || true)
|
|
set -e
|
|
fi
|
|
|
|
# VERSION override mechanism if needed
|
|
VERSION=${VERSION:-}
|
|
if [[ -n "${VERSION}" || -n "${GIT_TAG}" ]]; then
|
|
RELEASE_STATUS=",released"
|
|
fi
|
|
|
|
if [ -z "$VERSION" ]; then
|
|
VERSION=$GIT_TAG_LAST
|
|
fi
|
|
# Add version/commit/date into binary
|
|
DATE=$(date -u -d "@${SOURCE_DATE_EPOCH:-$(date +%s)}" --iso-8601=seconds)
|
|
COMMIT=${COMMIT:-$(git rev-parse --verify HEAD)}
|
|
LDFLAGS="-X gopkg.in/k8snetworkplumbingwg/multus-cni.v4/pkg/multus.version=${VERSION} \
|
|
-X gopkg.in/k8snetworkplumbingwg/multus-cni.v4/pkg/multus.commit=${COMMIT} \
|
|
-X gopkg.in/k8snetworkplumbingwg/multus-cni.v4/pkg/multus.gitTreeState=${GIT_TREE_STATE} \
|
|
-X gopkg.in/k8snetworkplumbingwg/multus-cni.v4/pkg/multus.releaseStatus=${RELEASE_STATUS} \
|
|
-X gopkg.in/k8snetworkplumbingwg/multus-cni.v4/pkg/multus.date=${DATE}"
|
|
export CGO_ENABLED=${CGO_ENABLED:-0}
|
|
|
|
# build with go modules
|
|
export GO111MODULE=on
|
|
|
|
if [ -n "$MODMODE" ]; then
|
|
BUILD_ARGS=(-mod "$MODMODE")
|
|
fi
|
|
|
|
echo "Building multus"
|
|
go build -o ${DEST_DIR}/multus ${BUILD_ARGS} -ldflags "${LDFLAGS}" "$@" ./cmd/multus
|
|
echo "Building multus-daemon"
|
|
go build -o "${DEST_DIR}"/multus-daemon ${BUILD_ARGS} -ldflags "${LDFLAGS}" ./cmd/multus-daemon
|
|
echo "Building multus-shim"
|
|
go build -o "${DEST_DIR}"/multus-shim ${BUILD_ARGS} -ldflags "${LDFLAGS}" ./cmd/multus-shim
|
|
echo "Building install_multus"
|
|
go build -o "${DEST_DIR}"/install_multus ${BUILD_ARGS} -ldflags "${LDFLAGS}" ./cmd/install_multus
|
|
echo "Building thin_entrypoint"
|
|
go build -o "${DEST_DIR}"/thin_entrypoint ${BUILD_ARGS} -ldflags "${LDFLAGS}" ./cmd/thin_entrypoint
|
|
echo "Building kubeconfig_generator"
|
|
go build -o "${DEST_DIR}"/kubeconfig_generator ${BUILD_ARGS} -ldflags "${LDFLAGS}" ./cmd/kubeconfig_generator
|
|
echo "Building cert-approver"
|
|
go build -o "${DEST_DIR}"/cert-approver ${BUILD_ARGS} -ldflags "${LDFLAGS}" ./cmd/cert-approver
|
|
echo "Building passthru CNI"
|
|
go build -o "${DEST_DIR}"/passthru ${BUILD_ARGS} -ldflags "${LDFLAGS}" ./cmd/passthru-cni
|