Files

29 lines
722 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
output_dir="$repo_root/dist"
version="${VERSION:-dev}"
mkdir -p "$output_dir"
platforms=(
"linux amd64"
"darwin amd64"
"windows amd64"
)
for platform in "${platforms[@]}"; do
read -r target_os target_arch <<<"$platform"
extension=""
if [[ "$target_os" == "windows" ]]; then
extension=".exe"
fi
output="$output_dir/skeleton-${target_os}-${target_arch}${extension}"
echo "Building $output"
CGO_ENABLED=0 GOOS="$target_os" GOARCH="$target_arch" \
go build -trimpath -ldflags "-s -w -X main.buildVersion=$version" -o "$output" .
done
echo "Cross-platform amd64 binaries written to $output_dir"