pkg/client-sdk/wasm: build wasm (#238)

Signed-off-by: tiero <3596602+tiero@users.noreply.github.com>
This commit is contained in:
Marco Argentieri
2024-08-12 16:40:27 +02:00
committed by GitHub
parent 72a7f29bab
commit c559b91fec
17 changed files with 273 additions and 44 deletions

View File

@@ -1,26 +1,36 @@
#!/bin/bash
set -e
# Get the parent directory path
PARENT_PATH=$(dirname $(
cd $(dirname $0)
pwd -P
cd $(dirname $0)
pwd -P
))
if [[ -z $GOOS ]]; then
GOOS=$(eval "go env GOOS")
fi
# 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")
# Set GOOS and GOARCH if not already set
if [[ -z $GOOS ]]; then
GOOS=$(go env GOOS)
fi
if [[ -z $GOARCH ]]; then
GOARCH=$(eval "go env GOARCH")
GOARCH=$(go env GOARCH)
fi
echo "Building for $GOOS $GOARCH"
echo "Version: $VERSION"
# Change to the parent directory
pushd $PARENT_PATH
# Create build directory if it doesn't exist
mkdir -p build
# Build the binary with version information
GO111MODULE=on go build -ldflags="-s -w -X 'main.Version=$VERSION'" -o build/ark-$GOOS-$GOARCH .
GO111MODULE=on go build -ldflags="-s -w" -o build/ark-$GOOS-$GOARCH .
echo "Build complete: build/ark-$GOOS-$GOARCH"
popd
# Return to the original directory
popd

View File

@@ -1,21 +1,41 @@
#!/bin/bash
set -e
# Get the parent directory path
PARENT_PATH=$(dirname $(
cd $(dirname $0)
pwd -P
cd $(dirname $0)
pwd -P
))
# 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: 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."
}
# Loop through OS and ARCH combinations
for os in "${OS[@]}"; do
for arch in "${ARCH[@]}"; do
GOOS=$os GOARCH=$arch ./scripts/build
done
for arch in "${ARCH[@]}"; do
echo "Building for $os $arch"
if GOOS=$os GOARCH=$arch ./scripts/build; then
echo "Build successful for $os $arch"
else
handle_error $os $arch $?
fi
echo "------------------------"
done
done
popd
# Return to the original directory
popd
echo "All builds completed."