#!/bin/bash # Default architecture DEFAULT_ARCH="linux/amd64" # Supported architectures (adjust as needed) ARCHITECTURES=("linux/amd64" "linux/arm64" "linux/arm/v7") # Build function build_binary() { os=$1 arch=$2 output_name="go-glitch" if [[ "$os/$arch" != "$DEFAULT_ARCH" ]]; then output_name="${output_name}_${os}_${arch}" fi echo "Building for ${os}/${arch} -> ${output_name}" GOOS=${os} GOARCH=${arch} go build -o ${output_name} } # Main Build Process for arch in "${ARCHITECTURES[@]}"; do IFS='/' read -r -a parts <<< "$arch" # Split architecture string os=${parts[0]} arch=${parts[1]} build_binary $os $arch done