From 09612b852f2573932952b1456b86684218cae18d Mon Sep 17 00:00:00 2001 From: Nicolas MASSE Date: Thu, 31 Dec 2020 13:52:14 +0100 Subject: [PATCH] add a release script --- .gitignore | 3 +++ release.sh | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100755 release.sh diff --git a/.gitignore b/.gitignore index 135221b..e812fe7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ *.yaml photo-bot statik +bin +release + diff --git a/release.sh b/release.sh new file mode 100755 index 0000000..d273e93 --- /dev/null +++ b/release.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +set -Eeuo pipefail + +NAME="photo-bot" +GIT_SHA="$(git --no-pager describe --always --dirty)" +BUILD_TIME="$(date '+%s')" +LFLAGS="-X main.gitsha=$GIT_SHA -X main.compiled=$BUILD_TIME" + +VERSION="${VERSION:-$GIT_SHA}" +echo "Version: $VERSION" + +release() { + echo "Building $NAME-$VERSION for $GOOS/$GOARCH (${GOARM:-default})..." + + if [ "$GOOS" == "windows" ]; then + EXT=".exe" + else + EXT="" + fi + + if [ "$GOARCH" == "arm" -a -n "${GOARM:-}" ]; then + ARM_EXT="-armv$GOARM" + else + ARM_EXT="" + fi + + export GOARCH GOOS + if [ -n "${GOARM:-}" ]; then + export GOARM + fi + + go build -ldflags " -w $LFLAGS" -o "bin/$NAME$EXT" + tar -czf "release/$NAME-$GOOS-$GOARCH$ARM_EXT.tar.gz" -C bin/ "$NAME$EXT" + sha1sum "release/$NAME-$GOOS-$GOARCH$ARM_EXT.tar.gz" > "release/$NAME-$GOOS-$GOARCH$ARM_EXT.tar.gz.sha1" + rm -f "bin/$NAME$EXT" +} + +rm -rf bin release +mkdir -p bin release + +while read configuration; do + unset GOOS + unset GOARCH + unset GOARM + eval "$configuration" + release +done <