Some checks failed
Build and test project / build-and-test (push) Failing after 1m13s
51 lines
1.5 KiB
Bash
Executable File
51 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
KOBOPATCH_DIR="$SCRIPT_DIR/kobopatch-src"
|
|
GO_VERSION="1.23.12"
|
|
LOCAL_GO_DIR="$SCRIPT_DIR/go"
|
|
|
|
# Use system Go if available, otherwise download locally
|
|
if command -v go &>/dev/null; then
|
|
echo "Using system Go: $(go version)"
|
|
elif [ -x "$LOCAL_GO_DIR/bin/go" ] && "$LOCAL_GO_DIR/bin/go" version 2>/dev/null | grep -q "go${GO_VERSION}"; then
|
|
echo "Using local Go ${GO_VERSION}."
|
|
export GOROOT="$LOCAL_GO_DIR"
|
|
export PATH="$LOCAL_GO_DIR/bin:$PATH"
|
|
else
|
|
# Detect platform and architecture
|
|
OS="$(uname -s | tr '[:upper:]' '[:lower:]')"
|
|
ARCH="$(uname -m)"
|
|
case "$ARCH" in
|
|
x86_64) ARCH="amd64" ;;
|
|
aarch64|arm64) ARCH="arm64" ;;
|
|
*)
|
|
echo "Error: unsupported architecture: $ARCH"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
echo "Downloading Go ${GO_VERSION} for ${OS}/${ARCH}..."
|
|
rm -rf "$LOCAL_GO_DIR"
|
|
curl -fsSL "https://go.dev/dl/go${GO_VERSION}.${OS}-${ARCH}.tar.gz" | tar -xz -C "$SCRIPT_DIR"
|
|
export GOROOT="$LOCAL_GO_DIR"
|
|
export PATH="$LOCAL_GO_DIR/bin:$PATH"
|
|
fi
|
|
|
|
if [ -d "$KOBOPATCH_DIR" ]; then
|
|
echo "Updating kobopatch source..."
|
|
cd "$KOBOPATCH_DIR"
|
|
git pull
|
|
else
|
|
echo "Cloning kobopatch source..."
|
|
git clone https://github.com/pgaskin/kobopatch.git "$KOBOPATCH_DIR"
|
|
cd "$KOBOPATCH_DIR"
|
|
git checkout 6189c54 # update this as updates come out
|
|
fi
|
|
|
|
echo ""
|
|
echo "Done. kobopatch source is at: $KOBOPATCH_DIR"
|
|
echo ""
|
|
echo "Run ./build.sh to compile the WASM binary."
|