27 lines
795 B
Bash
Executable File
27 lines
795 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Baut die Release-Binaries für Linux (amd64 + arm64) samt SHA256SUMS.
|
|
#
|
|
# deploy/build.sh # Version aus `git describe`
|
|
# VERSION=v0.1.0 deploy/build.sh
|
|
#
|
|
# Ausgabe: dist/<version>/sultan_linux_{amd64,arm64} und dist/<version>/SHA256SUMS
|
|
set -euo pipefail
|
|
|
|
cd "$(dirname "$0")/.."
|
|
VERSION="${VERSION:-$(git describe --tags --always --dirty)}"
|
|
ARCHS="${ARCHS:-amd64 arm64}"
|
|
OUT="dist/${VERSION}"
|
|
|
|
rm -rf "$OUT"
|
|
mkdir -p "$OUT"
|
|
for arch in $ARCHS; do
|
|
echo "==> linux/${arch} (${VERSION})"
|
|
CGO_ENABLED=0 GOOS=linux GOARCH="$arch" \
|
|
go build -trimpath -ldflags "-s -w -X sultan/pkg/cli.Version=${VERSION}" \
|
|
-o "${OUT}/sultan_linux_${arch}" .
|
|
done
|
|
(cd "$OUT" && sha256sum sultan_linux_* > SHA256SUMS)
|
|
|
|
echo "==> fertig: ${OUT}"
|
|
cat "${OUT}/SHA256SUMS"
|