From 2206c4447d88fac12172603b7ec5542275881a94 Mon Sep 17 00:00:00 2001 From: syash Date: Tue, 28 May 2024 15:44:55 +0530 Subject: [PATCH] Updated the hardcoded dependencies Signed-off-by: syash --- build_windows.sh | 2 +- scripts/release.sh | 35 +++++++++++++++++++++++++++-------- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/build_windows.sh b/build_windows.sh index 895909a5e..3e9e0710f 100755 --- a/build_windows.sh +++ b/build_windows.sh @@ -7,7 +7,7 @@ export GOOS=windows export GOFLAGS="${GOFLAGS} -mod=vendor" echo "$GOFLAGS" -PLUGINS=$(cat plugins/windows_only.txt | dos2unix ) +PLUGINS=$(cat plugins/windows_only.txt | sed 's/\r//' ) for d in $PLUGINS; do plugin="$(basename "$d").exe" echo "building $plugin" diff --git a/scripts/release.sh b/scripts/release.sh index 7b8a476e4..cd90b281c 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -3,12 +3,27 @@ set -xe SRC_DIR="${SRC_DIR:-$PWD}" DOCKER="${DOCKER:-docker}" -GOLANG="${GOLANG:-golang:1.22-alpine}" -TAG=$(git describe --tags --dirty) +GO_IMAGE="${GO_IMAGE:-golang}" +GO_VERSION="${GO_VERSION:-1.22-alpine}" +GOLANG="${GO_IMAGE}:${GO_VERSION}" + +_defaultTag=$(git describe --tags --dirty) +TAG=${TAG:-$_defaultTag} RELEASE_DIR=release-${TAG} -BUILDFLAGS="-ldflags '-extldflags -static -X github.com/containernetworking/plugins/pkg/utils/buildversion.BuildVersion=${TAG}'" +DOCKER_RUN_ARGS=${DOCKER_RUN_ARGS:-'-ti'} + +CGO_ENABLED="${CGO_ENABLED:-0}" +EXTLDFLAGS_LINUX="" +if [ "${CGO_ENABLED}" == "0" ]; then + EXTLDFLAGS_LINUX="-extldflags -static" +fi + +GOARCH_LIST="${GOARCH_LIST:-amd64 arm arm64 ppc64le s390x mips64le riscv64}" + +BUILDFLAGS_LINUX="-ldflags '${EXTLDFLAGS_LINUX} -X github.com/containernetworking/plugins/pkg/utils/buildversion.BuildVersion=${TAG}'" +BUILDFLAGS_WINDOWS="-ldflags '-extldflags -static -X github.com/containernetworking/plugins/pkg/utils/buildversion.BuildVersion=${TAG}'" OUTPUT_DIR=bin @@ -17,14 +32,18 @@ rm -Rf ${SRC_DIR}/${RELEASE_DIR} mkdir -p ${SRC_DIR}/${RELEASE_DIR} mkdir -p ${OUTPUT_DIR} -$DOCKER run -ti -v ${SRC_DIR}:/go/src/github.com/containernetworking/plugins:z --rm "${GOLANG}" \ +$DOCKER run ${DOCKER_RUN_ARGS} -v ${SRC_DIR}:/go/src/github.com/containernetworking/plugins:z --rm "${GOLANG}" \ /bin/sh -xe -c "\ - apk --no-cache add bash tar; + for cmd in bash tar; do + command -v apk && apk --no-cache add \$cmd + command -v \$cmd || (echo \$cmd not found && exit 1); + done + cd /go/src/github.com/containernetworking/plugins; umask 0022; - for arch in amd64 arm arm64 ppc64le s390x mips64le riscv64; do \ + for arch in ${GOARCH_LIST}; do \ rm -f ${OUTPUT_DIR}/*; \ - CGO_ENABLED=0 GOARCH=\$arch ./build_linux.sh ${BUILDFLAGS}; \ + CGO_ENABLED=${CGO_ENABLED} GOARCH=\$arch ./build_linux.sh ${BUILDFLAGS_LINUX}; \ for format in tgz; do \ FILENAME=cni-plugins-linux-\$arch-${TAG}.\$format; \ FILEPATH=${RELEASE_DIR}/\$FILENAME; \ @@ -33,7 +52,7 @@ $DOCKER run -ti -v ${SRC_DIR}:/go/src/github.com/containernetworking/plugins:z - done; rm -rf ${OUTPUT_DIR}/*; \ - CGO_ENABLED=0 GOARCH=amd64 ./build_windows.sh ${BUILDFLAGS}; \ + CGO_ENABLED=0 GOARCH=amd64 ./build_windows.sh ${BUILDFLAGS_WINDOWS}; \ for format in tgz; do \ FILENAME=cni-plugins-windows-amd64-${TAG}.\$format; \ FILEPATH=${RELEASE_DIR}/\$FILENAME; \