Files
tunnel/scripts/build-desktop-app.sh
T

32 lines
1020 B
Bash
Executable File

#!/bin/bash
# Build and ad-hoc sign a local macOS Tunnel.app.
# Distribution releases still need Developer ID signing + notarization.
set -euo pipefail
cd "$(dirname "$0")/.."
VERSION="${1:-0.2.0}"
BUILD="${BUILD:-1}"
FYNE="$(command -v fyne || true)"
if [ -z "$FYNE" ]; then
FYNE="$(go env GOPATH)/bin/fyne"
fi
if [ ! -x "$FYNE" ]; then
echo "installing fyne CLI..."
go install fyne.io/tools/cmd/fyne@latest
FYNE="$(go env GOPATH)/bin/fyne"
fi
mkdir -p .local/desktop
go build -o .local/desktop/Tunnel -ldflags "-X main.version=$VERSION" ./cmd/tunnel-desktop
rm -rf Tunnel.app
"$FYNE" package -os darwin \
-executable .local/desktop/Tunnel \
-name Tunnel -app-id dev.tzgyn.tunnel \
-app-version "$VERSION" -app-build "$BUILD" \
-icon assets/icon.png -release
codesign --force --deep --sign - Tunnel.app
echo "Built and ad-hoc signed Tunnel.app (version $VERSION)."
echo "Install locally with:"
echo " rm -rf \"\$HOME/Applications/Tunnel.app\" && ditto Tunnel.app \"\$HOME/Applications/Tunnel.app\""