32 lines
963 B
Bash
32 lines
963 B
Bash
|
VERSION=$(git describe --tags --abbrev=0)
|
||
|
if [ $? -ne 0 ]; then VERSION=$DRONE_TAG; fi
|
||
|
BUILD=$(git rev-parse --short HEAD)
|
||
|
if [ $? -ne 0 ]; then BUILD=${DRONE_COMMIT:0:7}; fi
|
||
|
|
||
|
PROJ=kconfig
|
||
|
DIST=dist
|
||
|
|
||
|
LDFLAGS="-ldflags \"-X main.Version=${VERSION} -X main.Build=${BUILD} -w -s\""
|
||
|
FAILURES=""
|
||
|
|
||
|
PLATFORMS="darwin/amd64 darwin/arm64"
|
||
|
PLATFORMS="$PLATFORMS windows/amd64"
|
||
|
PLATFORMS="$PLATFORMS linux/amd64"
|
||
|
|
||
|
|
||
|
for PLATFORM in $PLATFORMS; do
|
||
|
GOOS=${PLATFORM%/*}
|
||
|
GOARCH=${PLATFORM#*/}
|
||
|
BIN_FILENAME="${PROJ}"
|
||
|
if [[ "${GOOS}" == "windows" ]]; then BIN_FILENAME="${BIN_FILENAME}.exe"; fi
|
||
|
CMD="GOOS=${GOOS} GOARCH=${GOARCH} go build ${LDFLAGS} -o ${DIST}/${BIN_FILENAME} $@"
|
||
|
echo "${CMD}"
|
||
|
eval $CMD || FAILURES="${FAILURES} ${PLATFORM}"
|
||
|
sh -c "cd ${DIST} && tar -czf ${PROJ}-${VERSION}-${GOOS}-${GOARCH}.tar.gz ${BIN_FILENAME} && rm ${BIN_FILENAME}"
|
||
|
done
|
||
|
|
||
|
if [[ "${FAILURES}" != "" ]]; then
|
||
|
echo ""
|
||
|
echo "${SCRIPT_NAME} failed on: ${FAILURES}"
|
||
|
exit 1
|
||
|
fi
|