AkurAI Build
Menu

Public repository / 054e5cda0171bd13facff3c16a38f2048a1052cc

AkurAI-Mail / scripts/deploy-head.sh

Latest change e0753e49bfea7ef672aabf8df9a3a27b8bdd9dc7 - Recover EC2-only ops scripts, checks and live divergent copies by Ólafur Búi Ólafsson

#!/usr/bin/env bash
# scripts/deploy-head.sh — publish THIS checkout to the dev site https://mail.olibuijr.com.
# Builders run it before requesting review; ship-tools runs it after a land. Dev site: no gates.
set -euo pipefail
cd "$(dirname "$0")/.."
export PATH="$HOME/.bun/bin:$PATH"
head=$(git rev-parse HEAD)
bun install --frozen-lockfile >/dev/null
bun --bun run build
echo "$head" > build/deployed-head.txt
ssh akurai-ec2 'sudo mkdir -p /opt/akurai-mail-ui/scripts /opt/akurai-mail-ui/tools /opt/akurai-mail-ui/static && sudo chown -R ubuntu /opt/akurai-mail-ui/scripts /opt/akurai-mail-ui/tools /opt/akurai-mail-ui/static'
rsync -az --delete scripts/ akurai-ec2:/opt/akurai-mail-ui/scripts/
rsync -az --delete tools/ akurai-ec2:/opt/akurai-mail-ui/tools/
rsync -az --delete build/ akurai-ec2:/opt/akurai-mail-ui/static/
ssh akurai-ec2 'cd /opt/akurai-mail-ui/tools && bun install --frozen-lockfile >/dev/null && sudo install -m755 /opt/akurai-mail-ui/scripts/akurai-mail-server /usr/local/sbin/akurai-mail-server && bash /opt/akurai-mail-ui/scripts/validate.sh'
live=$(curl -fsS "https://mail.olibuijr.com/deployed-head.txt?$(date +%s)" || true)
[ "$live" = "$head" ] && echo "live serves $head" || { echo "live serves '${live:-nothing}', expected $head (MailAPI must serve AKURAI_STATIC_DIR)"; exit 1; }