From 4205e4bb98ed22c3c0d47351f476b1074b86c569 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira da Silva <bruno@abstractj.org> Date: Mon, 2 Sep 2019 14:04:50 -0300 Subject: [PATCH] [KEYCLOAK-11249] Release script for Gatekeeper is broken --- Makefile | 7 ------- release.sh | 38 +++++++++++++++++++++++++++++++++++--- 2 files changed, 35 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index d83ed4c..710df40 100644 --- a/Makefile +++ b/Makefile @@ -27,13 +27,6 @@ build: golang @mkdir -p bin go build -ldflags "${LFLAGS}" -o bin/${NAME} -release: clean golang - mkdir -p release - $(foreach GOOS, $(PLATFORMS),\ - $(foreach GOARCH, $(ARCHITECTURES), $(shell [ $(GOOS) = "windows" ] && EXT=".exe"; env GOOS=$(GOOS) GOARCH=$(GOARCH) CGO_ENABLED=0 go build -a -tags netgo -ldflags "-w ${LFLAGS}" -o bin/${NAME}$$EXT; \ - tar -czvf release/${NAME}-$(GOOS)-$(GOARCH).tar.gz -C bin/ ${NAME}$$EXT >/dev/null; \ - sha1sum release/${NAME}-$(GOOS)-$(GOARCH).tar.gz | cut -d " " -f1 > release/${NAME}-$(GOOS)-$(GOARCH).tar.gz.sha1 ))) - static: golang @echo "--> Compiling the static binary" @mkdir -p bin diff --git a/release.sh b/release.sh index c7960eb..28a6e25 100755 --- a/release.sh +++ b/release.sh @@ -1,4 +1,10 @@ #!/bin/bash -e +NAME="keycloak-gatekeeper" +PLATFORMS="darwin linux windows" +ARCHITECTURES="amd64" +GIT_SHA=$(git --no-pager describe --always --dirty) +BUILD_TIME=$(date '+%s') +LFLAGS="-X main.gitsha=$GIT_SHA -X main.compiled=$BUILD_TIME" DIR="$PWD" VERSION=`./get-version.sh` @@ -6,12 +12,38 @@ echo "Version: $VERSION" TMP=`mktemp -d` +# Perform some clean up before building it +clean() { + rm -rf ./bin/* 2>/dev/null + rm -rf ./release/* 2>/dev/null +} + +release() { + mkdir -p release + for PLATFORM in $PLATFORMS; do + EXT="" + if [ "$PLATFORM" == "windows" ]; then + EXT=".exe" + fi + for ARCH in $ARCHITECTURES; do + env GOOS=$PLATFORM GOARCH=$ARCH CGO_ENABLED=0 go build -a -tags netgo -ldflags " -w $LFLAGS" -o bin/$NAME$EXT + tar -czvf release/"$NAME-$PLATFORM-$ARCH".tar.gz -C bin/ $NAME$EXT >/dev/null + sha1sum release/"$NAME-$PLATFORM-$ARCH".tar.gz | cut -d " " -f1 > release/"$NAME-$GOOS-$GOARCH".tar.gz.sha1 + # Test if tar file is not corrupted + if ! tar -tf release/"$NAME-$PLATFORM-$ARCH".tar.gz &>/dev/null;then + echo "Corrupted tar file" + exit 1 + fi + done + done +} + echo "------------------------------------------------------------------------------------------------------------" -echo "Building:" +echo "Building: $NAME-$VERSION" echo "" -make release - +clean +release echo "------------------------------------------------------------------------------------------------------------" echo "Upload to jboss.org:" -- GitLab