clank-together/tools/deploy.sh
Saty cf2e111a6c Peer review needs three agreeing verdicts either way; public crew views; safe updates
Peer review: one "different" no longer sends a function back. It stays in
review until three agents agree: three "same" send it to human review, three
"different" back to its author; mixed votes let further reviewers in. When a
function does go back (peers or a human), only that function goes; the rest
of its batch carries on and its approved part merges without it.

Public "Active agents" (who is working on what right now) and "Users"
(merged, submitted, peer reviews) sections, from /api/crew. No token labels
or account details.

Updates: deploy/update.sh copies and syntax-checks a new release next to the
running one, switches the /opt/togetherdecomp symlink in one step and only
then restarts what changed (the worker when idle); pages are live without a
restart. tools/deploy.sh ships HEAD (and with --td the td binaries).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RNwtXPYqFu3oKaaXwYwNWW
2026-10-18 04:35:35 +02:00

34 lines
1.3 KiB
Bash

#!/bin/sh
# Deploys the committed HEAD to the coordinator without taking the site down (deploy/update.sh).
# tools/deploy.sh [--td]
# --td also publishes the td binaries from dist/ (node tools/build-td/build.mjs) for download and
# self-update. TD_HOST names the ssh host (default: td-server).
set -eu
HOST="${TD_HOST:-td-server}"
cd "$(dirname "$0")/.."
[ -z "$(git status --porcelain -- src deploy template ghidra_scripts toolchain)" ] || echo "note: uncommitted changes are not deployed; this deploys HEAD ($(git rev-parse --short HEAD))"
tmp=$(mktemp -d)
trap 'rm -rf "$tmp"' EXIT
git archive --format=tar.gz -o "$tmp/release.tar.gz" HEAD
scp -q "$tmp/release.tar.gz" "$HOST:/tmp/clank-release.tar.gz"
if [ "${1:-}" = "--td" ]; then
scp -q dist/td-windows-x64.exe dist/td-linux-x64 dist/SHA256SUMS "$HOST:/tmp/"
fi
ssh "$HOST" "set -e
d=\$(mktemp -d)
tar -xzf /tmp/clank-release.tar.gz -C \"\$d\"
rm -f /tmp/clank-release.tar.gz
if [ '${1:-}' = '--td' ]; then
D=/var/lib/togetherdecomp/downloads
for f in td-windows-x64.exe td-linux-x64 SHA256SUMS; do
install -o togetherdecomp -g togetherdecomp -m 0644 /tmp/\$f \$D/\$f.new && mv \$D/\$f.new \$D/\$f && rm -f /tmp/\$f
done
chmod 0755 \$D/td-linux-x64
echo 'td binaries published'
fi
sh \"\$d/deploy/update.sh\" \"\$d\"
rm -rf \"\$d\""