mirror of
https://github.com/aljazceru/ark.git
synced 2025-12-17 12:14:21 +01:00
46 lines
1.2 KiB
Bash
Executable File
46 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# Get the parent directory path
|
|
PARENT_PATH=$(dirname $(
|
|
cd $(dirname $0)
|
|
pwd -P
|
|
))
|
|
|
|
# Set VERSION (you can modify this to get the version from a file or environment variable)
|
|
VERSION=$(git describe --tags --always --dirty 2>/dev/null || echo "unknown")
|
|
|
|
# Define OS and ARCH arrays
|
|
declare -a OS=("darwin" "linux")
|
|
declare -a ARCH=("amd64" "arm64")
|
|
|
|
# Change to the parent directory
|
|
pushd $PARENT_PATH
|
|
|
|
# Function to handle errors
|
|
handle_error() {
|
|
echo "Error occurred in build for $1 $2"
|
|
echo "Build command: VERSION=$VERSION GOOS=$1 GOARCH=$2 ./scripts/build"
|
|
echo "Exit code: $3"
|
|
echo "You may want to run this build manually to see more detailed error messages."
|
|
}
|
|
|
|
echo "Starting builds for version: $VERSION"
|
|
|
|
# Loop through OS and ARCH combinations
|
|
for os in "${OS[@]}"; do
|
|
for arch in "${ARCH[@]}"; do
|
|
echo "Building for $os $arch"
|
|
if VERSION=$VERSION GOOS=$os GOARCH=$arch ./scripts/build; then
|
|
echo "Build successful for $os $arch"
|
|
else
|
|
handle_error $os $arch $?
|
|
fi
|
|
echo "------------------------"
|
|
done
|
|
done
|
|
|
|
# Return to the original directory
|
|
popd
|
|
|
|
echo "All builds completed for version $VERSION." |