- Adicionado estrutura completa do projeto - Configurado MCP server para Premiere Pro - Adicionado documentação e skills - Configurado Gitignore para o projeto
82 lines
3.0 KiB
Bash
Executable File
82 lines
3.0 KiB
Bash
Executable File
#!/bin/zsh
|
|
# ============================================================
|
|
# OpenCut Ronald - admin/OpenCut.command
|
|
#
|
|
# PONTO DE ENTRADA UNICO. Rode este arquivo a cada atualizacao que
|
|
# desenvolvermos: ele executa os tres scripts da pasta admin em ordem.
|
|
#
|
|
# 1. update.command dependencias + build dos paineis + testes
|
|
# 2. deploy.command backend no ar + ponte de live-updates
|
|
# 3. commit.command commit + push (pergunta antes de publicar)
|
|
#
|
|
# Se o update encontrar pendencias (teste quebrado, build falhando),
|
|
# ele PARA antes do commit - nada de publicar arvore quebrada. Para
|
|
# seguir mesmo assim, use FORCE=1.
|
|
#
|
|
# Uso:
|
|
# admin/OpenCut.command ciclo completo
|
|
# AUTO=1 admin/OpenCut.command nao pergunta antes do push
|
|
# SKIP_TESTS=1 admin/OpenCut.command pula os testes do passo 1
|
|
# FORCE=1 admin/OpenCut.command commita mesmo com pendencias
|
|
# ONLY=deploy admin/OpenCut.command roda so uma etapa
|
|
# (update | deploy | commit)
|
|
# ============================================================
|
|
set -u
|
|
|
|
ADMIN="$(cd "$(dirname "$0")" && pwd -P)"
|
|
|
|
GRN="$(tput setaf 2 2>/dev/null)"; YLW="$(tput setaf 3 2>/dev/null)"
|
|
RD="$(tput setaf 1 2>/dev/null)"; BLU="$(tput setaf 4 2>/dev/null)"
|
|
NC="$(tput sgr0 2>/dev/null)"
|
|
step() { echo; echo "${BLU}============================================================${NC}"
|
|
echo "${BLU} $*${NC}"
|
|
echo "${BLU}============================================================${NC}"; }
|
|
ok() { echo "${GRN}-> OK ${NC}$*"; }
|
|
warn() { echo "${YLW}-> Aviso: ${NC}$*"; }
|
|
die() { echo "${RD}-> Erro: ${NC}$*" >&2; exit 1; }
|
|
|
|
ONLY="${ONLY:-all}"
|
|
run_step() { [ "$ONLY" = "all" ] || [ "$ONLY" = "$1" ]; }
|
|
|
|
for s in update deploy commit; do
|
|
[ -x "$ADMIN/$s.command" ] || die "$ADMIN/$s.command ausente ou sem permissao de execucao"
|
|
done
|
|
|
|
UPDATE_RC=0
|
|
|
|
# ------------------------------------------------------------
|
|
# 1) Atualizacoes
|
|
# ------------------------------------------------------------
|
|
if run_step update; then
|
|
step "1/3 ATUALIZACOES (dependencias, build, testes)"
|
|
"$ADMIN/update.command" || UPDATE_RC=$?
|
|
if [ "$UPDATE_RC" != "0" ]; then
|
|
warn "o update terminou com pendencias (codigo $UPDATE_RC)"
|
|
fi
|
|
fi
|
|
|
|
# ------------------------------------------------------------
|
|
# 2) Deploy
|
|
# ------------------------------------------------------------
|
|
if run_step deploy; then
|
|
step "2/3 DEPLOY (backend + ponte de live-updates)"
|
|
"$ADMIN/deploy.command" || warn "o deploy nao confirmou o backend no ar"
|
|
fi
|
|
|
|
# ------------------------------------------------------------
|
|
# 3) Commit
|
|
# ------------------------------------------------------------
|
|
if run_step commit; then
|
|
if [ "$UPDATE_RC" != "0" ] && [ "${FORCE:-0}" != "1" ]; then
|
|
step "3/3 COMMIT - PULADO"
|
|
warn "o passo 1 acusou pendencias; nao vou commitar uma arvore quebrada."
|
|
warn "corrija os avisos acima, ou rode de novo com FORCE=1 para commitar assim mesmo."
|
|
exit "$UPDATE_RC"
|
|
fi
|
|
step "3/3 COMMIT (commit + push)"
|
|
"$ADMIN/commit.command" || die "o commit falhou"
|
|
fi
|
|
|
|
echo
|
|
ok "Ciclo concluido."
|