#!/usr/bin/env bash set -euo pipefail SERVER="website@kyren.codes" REMOTE_DIR="/var/lib/website" echo "Generating Tailwind and Templ..." templ generate tailwindcss -i ./public/styles/main.css -o ./public/styles/style.css echo "Cross compiling Golang binary..." GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o website . echo "Copying binary to server..." rsync -avzP --delete website ${SERVER}:${REMOTE_DIR}/website.new echo "Swapping to new binary" ssh ${SERVER} << 'EOF' cp /var/lib/website/website /var/lib/website/website.old 2>/dev/null || true mv /var/lib/website/website.new /var/lib/website/website chmod +x /var/lib/website/website systemctl --user restart website || sudo systemctl restart website # rm /var/lib/website/website.old EOF echo "Finished deploying new binary"