From 655b8f84bfe977f1a71ac1eb09718474c73c2376 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 14 Aug 2026 20:20:37 +0000 Subject: [PATCH] Build server-arch speed test binary for NetworkOptimizer Co-authored-by: MickLesk <47820557+MickLesk@users.noreply.github.com> --- ct/networkoptimizer.sh | 6 ++++++ install/networkoptimizer-install.sh | 10 ++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ct/networkoptimizer.sh b/ct/networkoptimizer.sh index f52e27b00..1f08cff2b 100644 --- a/ct/networkoptimizer.sh +++ b/ct/networkoptimizer.sh @@ -50,7 +50,13 @@ function update_script() { chmod +x /opt/networkoptimizer/publish/NetworkOptimizer.Web mkdir -p /opt/networkoptimizer/publish/tools cd /opt/networkoptimizer/src/uwnspeedtest + # UniFi gateways are always arm64, so the gateway binary is built for arm64 CGO_ENABLED=0 GOOS=linux GOARCH=arm64 $STD go build -trimpath -ldflags "-s -w" -o /opt/networkoptimizer/publish/tools/uwnspeedtest-linux-arm64 . + # The "Run Test from Server" binary must match the container architecture + SERVER_ARCH="$(arch_resolve)" + if [[ "$SERVER_ARCH" != "arm64" ]]; then + CGO_ENABLED=0 GOOS=linux GOARCH="$SERVER_ARCH" $STD go build -trimpath -ldflags "-s -w" -o "/opt/networkoptimizer/publish/tools/uwnspeedtest-linux-${SERVER_ARCH}" . + fi msg_ok "Rebuilt NetworkOptimizer" msg_info "Starting Service" diff --git a/install/networkoptimizer-install.sh b/install/networkoptimizer-install.sh index 8f98c672e..cdf51a221 100644 --- a/install/networkoptimizer-install.sh +++ b/install/networkoptimizer-install.sh @@ -42,11 +42,17 @@ $STD dotnet publish src/NetworkOptimizer.Web -c Release -r "$RID" --self-contain chmod +x /opt/networkoptimizer/publish/NetworkOptimizer.Web msg_ok "Built NetworkOptimizer" -msg_info "Building Gateway Speed Test Binary" +msg_info "Building Speed Test Binaries" mkdir -p /opt/networkoptimizer/publish/tools cd /opt/networkoptimizer/src/uwnspeedtest +# UniFi gateways are always arm64, so the gateway binary is built for arm64 CGO_ENABLED=0 GOOS=linux GOARCH=arm64 $STD go build -trimpath -ldflags "-s -w" -o /opt/networkoptimizer/publish/tools/uwnspeedtest-linux-arm64 . -msg_ok "Built Gateway Speed Test Binary" +# The "Run Test from Server" binary must match the container architecture +SERVER_ARCH="$(arch_resolve)" +if [[ "$SERVER_ARCH" != "arm64" ]]; then + CGO_ENABLED=0 GOOS=linux GOARCH="$SERVER_ARCH" $STD go build -trimpath -ldflags "-s -w" -o "/opt/networkoptimizer/publish/tools/uwnspeedtest-linux-${SERVER_ARCH}" . +fi +msg_ok "Built Speed Test Binaries" msg_info "Configuring NetworkOptimizer" cat </opt/networkoptimizer/networkoptimizer.env