github.com/NpoolPlatform/chain-middleware@v0.0.0-20240228100535-eb1bcf896eb9/hack/verify-build.sh (about) 1 #!/usr/bin/env bash 2 3 set -o errexit 4 set -o nounset 5 set -o pipefail 6 7 PLATFORMS=( 8 linux/amd64 9 windows/amd64 10 darwin/amd64 11 ) 12 OUTPUT=./output 13 14 pkg=github.com/NpoolPlatform/go-service-framework/pkg/version 15 16 for PLATFORM in "${PLATFORMS[@]}"; do 17 OS="${PLATFORM%/*}" 18 ARCH=$(basename "$PLATFORM") 19 20 if git_status=$(git status --porcelain --untracked=no 2>/dev/null) && [[ -z "${git_status}" ]]; then 21 git_tree_state=clean 22 fi 23 24 git_branch=`git rev-parse --abbrev-ref HEAD` 25 set +e 26 version=`git describe --tags --abbrev=0` 27 if [ ! $? -eq 0 ]; then 28 version=$git_branch 29 fi 30 set -e 31 32 compile_date=`date -u +'%Y-%m-%dT%H:%M:%SZ'` 33 git_revision=`git rev-parse HEAD 2>/dev/null || echo unknow` 34 35 service_name=$1 36 37 echo "Building project for $PLATFORM -- $version $compile_date $git_revision" 38 CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -v -ldflags "-s -w \ 39 -X $pkg.buildDate=${compile_date} \ 40 -X $pkg.gitCommit=${git_revision} \ 41 -X $pkg.gitVersion=${version} \ 42 -X $pkg.gitBranch=${git_branch}" \ 43 -o "${OUTPUT}/${OS}/${ARCH}/" "$(pwd)/cmd/$service_name" \ 44 || exit 1 45 done