#!/bin/sh set -e set -u # NOTE # building for linux on linux seems to yield smaller sizes # TODO use the git log describe thing my_version="$( git describe --tags )" export GOOS="linux" fn_package() { ( if test -n "${GOARM:-}"; then my_arch="${GOARCH}v${GOARM}" elif test -n "${GOAMD64:-}"; then my_arch="${GOARCH}_${GOAMD64}" else my_arch="${GOARCH}" fi my_bin="pathman-${my_version}-${GOOS}-${my_arch}" tinygo build -no-debug -o "${my_bin}" strip "${my_bin}" || true tar cvf "$my_bin.tar" "$my_bin" gzip --keep "$my_bin.tar" xz --keep "$my_bin.tar" echo "$my_bin.tar.xz" ); } go generate ./... export GOAMD64=v1 export GOARCH=amd64 fn_package export GOAMD64='' export GOARCH=386 fn_package export GOARCH=arm64 fn_package export GOARCH=arm export GOARM=7 fn_package export GOARCH=arm export GOARM=6 fn_package # no longer supported # export GOARCH=arm # export GOARM=5 # fn_package