glytch/deploy.sh
type-two e3d1a724e9 deploy.sh: ship FKTRY + match.html prototype to partly.party/glytch
Sibling-pattern deploy (rsync -> /tmp stage -> docker cp into forum-nginx ->
cache-busted curl of index, match.html, and a JS asset endpoint).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 21:39:00 +10:00

34 lines
1.5 KiB
Bash

#!/usr/bin/env bash
# Deploy WIMVEE GLYTCH to https://partly.party/glytch/
# /glytch/ -> FKTRY (the factory game, vite build)
# /glytch/match.html -> the original match-the-glitch prototype (single file)
# Pattern per deploy-map: bundle -> rsync to /tmp staging -> docker cp into
# forum-nginx -> curl verify (cache-busted). Cloudflare fronts partly.party:
# purge cache after major changes.
set -euo pipefail
cd "$(dirname "$0")"
VPS=humanjing@100.71.119.27
CONTAINER=forum-nginx
WEBROOT=/usr/share/nginx/html
echo "— build —"
(cd fktry && npx vite build --base=./)
cp index.html fktry/dist/match.html
echo "— stage —"
rsync -az --delete fktry/dist/ "$VPS:/tmp/glytch-stage/"
echo "— swap into container —"
ssh "$VPS" "docker exec $CONTAINER rm -rf $WEBROOT/glytch \
&& docker cp /tmp/glytch-stage $CONTAINER:$WEBROOT/glytch \
&& rm -rf /tmp/glytch-stage"
echo "— verify (cache-busted) —"
curl -fsS -o /dev/null -w '%{http_code} https://partly.party/glytch/\n' "https://partly.party/glytch/?v=$(date +%s)"
curl -fsS -o /dev/null -w '%{http_code} https://partly.party/glytch/match.html\n' "https://partly.party/glytch/match.html?v=$(date +%s)"
# data-endpoint check, not just index (classic nginx-routing failure mode):
ASSET=$(ls fktry/dist/assets | grep -m1 '\.js$')
curl -fsS -o /dev/null -w "%{http_code} https://partly.party/glytch/assets/$ASSET\n" "https://partly.party/glytch/assets/$ASSET?v=$(date +%s)"
echo "done. If this was a major change: purge Cloudflare cache for partly.party."