summaryrefslogtreecommitdiff
path: root/scripts/deploy
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-03-08 21:03:50 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-03-08 21:03:50 +0000
commit632ea5a44731af94b6238f330a3b5440906c8ae7 (patch)
treed8c780412598d66b89ef390b5729e379fdfd9d5b /scripts/deploy
parent406247b14985ab57902e8e42898dc8cb8960290d (diff)
parent93a4c852bf726b00e8014d385165f847763fa214 (diff)
merge: pull latest from master and resolve conflicts
- Resolve conflicts in API server, CLI, and executor. - Maintain Gemini classification and assignment logic. - Update UI to use generic agent config and project_dir. - Fix ProjectDir/WorkingDir inconsistencies in Gemini runner. - All tests passing after merge.
Diffstat (limited to 'scripts/deploy')
-rwxr-xr-xscripts/deploy20
1 files changed, 18 insertions, 2 deletions
diff --git a/scripts/deploy b/scripts/deploy
index cc51fc1..5f730cc 100755
--- a/scripts/deploy
+++ b/scripts/deploy
@@ -1,18 +1,34 @@
#!/bin/bash
# deploy — Build and deploy claudomator to /site/doot.terst.org
-# Usage: ./scripts/deploy
+# Usage: ./scripts/deploy [--dirty]
# Example: sudo ./scripts/deploy
set -euo pipefail
+DIRTY=false
+for arg in "$@"; do
+ if [ "$arg" == "--dirty" ]; then
+ DIRTY=true
+ fi
+done
+
FQDN="doot.terst.org"
SITE_DIR="/site/${FQDN}"
BIN_DIR="${SITE_DIR}/bin"
SERVICE="claudomator@${FQDN}.service"
REPO_DIR="$(cd "$(dirname "$0")/.." && pwd)"
-echo "==> Building claudomator..."
cd "${REPO_DIR}"
+
+STASHED=false
+if [ "$DIRTY" = false ] && [ -n "$(git status --porcelain)" ]; then
+ echo "==> Stashing uncommitted changes..."
+ git stash push -u -m "Auto-stash before deploy"
+ STASHED=true
+ trap 'if [ "$STASHED" = true ]; then echo "==> Popping stash..."; git stash pop; fi' EXIT
+fi
+
+echo "==> Building claudomator..."
export GOCACHE="${SITE_DIR}/cache/go-build"
export GOPATH="${SITE_DIR}/cache/gopath"
mkdir -p "${GOCACHE}" "${GOPATH}"