#!/usr/bin/env bash
#
# Деплой korzilla.ru с локальной машины — как в teeu: сначала коммит, потом выкатка.
#   git add -A && git commit -m "…" && bash bin/deploy.sh
#
# 1. Проверяет, что всё закоммичено, и пушит main в GitLab (источник правды).
# 2. Заходит на сервер под root и запускает bin/deploy-server.sh от пользователя site:
#    тот забирает main из GitLab по deploy key сервера, ставит зависимости, выполняет
#    миграции и пересобирает кэши.
#
# В отличие от teeu код не везётся архивом: в репозитории ~400 МБ снимка Tilda (картинки,
# библиотеки), а сервер из GitLab забирает только изменения.
#
# Сервер — алиас korzilla-prod из ~/.ssh/config (root@109.73.193.24, ключ ~/.ssh/id_ed25519_korzilla).
# Другой способ входа: DEPLOY_SERVER=root@109.73.193.24 bash bin/deploy.sh
set -euo pipefail

SERVER="${DEPLOY_SERVER:-korzilla-prod}"
APP="/home/site/web/korzilla.ru/private/korzilla"
BRANCH="$(git rev-parse --abbrev-ref HEAD)"

if [ "${BRANCH}" != "main" ]; then
    echo "‼  Деплой идёт из main, а сейчас ветка ${BRANCH}."
    exit 1
fi

if [ -n "$(git status --porcelain)" ]; then
    echo "‼  Есть незакоммиченные изменения — сначала commit:"
    git status --short
    exit 1
fi

echo "→ push origin main"
git push origin main

echo "→ обновление на сервере"
ssh "${SERVER}" "sudo -u site -H bash ${APP}/bin/deploy-server.sh < /dev/null"

echo "✅ Готово: https://korzilla.ru (тестовый адрес — http://newsite.korzill.ru)"
