29 lines
722 B
Bash
Executable File
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"
|