#!/bin/sh set -e outdir="build" compress="gzip" compress_suffix="gz" compress_flags="-3" build_dest="riedstra.dev:/var/www/builds.riedstra.dev/hook/" tag="$(git describe --tags)" LICENSE="$(cat LICENSE)" version="$(git log --format="%h %d" -1) Commit Author: $(git log --format="%an" -1) Commit date: $(git log --format="%aD" -1) Build Date: $(date) Source code can be found here: https://git.riedstra.dev/mitch/hook $LICENSE" if ! git diff-index --quiet HEAD ; then version="dirty: $version" fi export CGO_ENABLED=0 pairs="linux:amd64 linux:386 linux:arm64 openbsd:amd64 freebsd:amd64 darwin:amd64 windows:amd64 windows:386" build() { go build \ -o hook \ -ldflags "-X 'main.versionString=$version'" \ main.go } fullBuild() { if ! [ -d "$outdir" ] ; then mkdir "$outdir" fi for value in $pairs ; do export GOOS="$(echo "$value" | awk -F: '{print $1}')" export GOARCH="$(echo "$value" | awk -F: '{print $2}')" output="$outdir/hook-${tag}-$GOOS-$GOARCH.$compress_suffix" if [ -e "$output" ] ; then continue ; fi build $compress $compress_flags < hook > "$output" rm hook done } publish() { fullBuild rsync -avP build/ "$build_dest/" } help() { cat <