From 7bd16616669694d6790b1db5a6b50606aefb0246 Mon Sep 17 00:00:00 2001 From: Luis Eduardo Perez Date: Wed, 10 Jun 2026 16:04:14 -0400 Subject: [PATCH] chore: sync bdt.sh v2.1.0 (monorepo @ cb340d2) --- bdt.sh | 51 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 49 insertions(+), 2 deletions(-) diff --git a/bdt.sh b/bdt.sh index 5568edb..a6bb6c4 100755 --- a/bdt.sh +++ b/bdt.sh @@ -20,7 +20,7 @@ set -euo pipefail # CONFIGURACION #=============================================================================== -SCRIPT_VERSION="2.0.0" +SCRIPT_VERSION="2.1.0" SCRIPT_NAME="$(basename "$0")" # Directorios - resolver symlinks para encontrar la ruta real @@ -1028,7 +1028,7 @@ _bdt_completions() { local cur="${COMP_WORDS[COMP_CWORD]}" local prev="${COMP_WORDS[COMP_CWORD-1]}" - local commands="clone pull install build up down restart status logs health verify-db verify-api deploy construir env update creds clean setup menu help image-login image-build image-push image-pull image-deploy image-build-amd64 server-deploy" + local commands="clone pull install build up down restart status logs health verify-db verify-api deploy construir publish env update creds clean setup menu help image-login image-build image-push image-pull image-deploy image-build-amd64 server-deploy" local services="frontend gateway service-bus canales-admin-web canales-worker apibank infrastructure database" local up_targets="all infra apps tools frontend gateway canales-admin-web canales-worker service-bus postgres redis keycloak" local envs="desarrollo calidad demo produccion" @@ -1654,6 +1654,51 @@ cmd_construir() { ok "Asistente completado en ${elapsed}s — ${svc} @ ${branch}" } +#=============================================================================== +# COMANDO: publish - Sincronizar bdt.sh al repo público bdt-cli (Gitea) +#=============================================================================== + +cmd_publish() { + banner + step "PUBLISH" "Sincronizando bdt.sh → repo público bdt-cli" + + # Ubicación del clon de bdt-cli: por defecto, al lado de la raíz del proyecto. + # Override en ~/.bdt/config: BDT_CLI_DIR=/ruta/al/clon + local cli_dir="${BDT_CLI_DIR:-$(dirname "$BDT_ROOT")/bdt-cli}" + + if [[ ! -d "${cli_dir}/.git" ]]; then + err "No existe el clon de bdt-cli en ${cli_dir}" + echo -e " Clonalo: ${GRAY}git clone https://git.dcgeeks.net/BDT/bdt-cli.git ${cli_dir}${NC}" + echo -e " O definí ${GRAY}BDT_CLI_DIR=/ruta${NC} en ~/.bdt/config" + return 1 + fi + + cp "${BDT_ROOT}/bdt.sh" "${cli_dir}/bdt.sh" + chmod +x "${cli_dir}/bdt.sh" + + cd "$cli_dir" + if git diff --quiet -- bdt.sh 2>/dev/null && [[ -z "$(git status --porcelain bdt.sh)" ]]; then + ok "Sin cambios: bdt-cli ya está al día (v${SCRIPT_VERSION})" + cd "$BDT_ROOT" + return 0 + fi + + local src_sha + src_sha="$(git -C "$BDT_ROOT" rev-parse --short HEAD 2>/dev/null || echo local)" + git add bdt.sh + git commit -q -m "chore: sync bdt.sh v${SCRIPT_VERSION} (monorepo @ ${src_sha})" && \ + ok "Commit creado: v${SCRIPT_VERSION} @ ${src_sha}" || { err "Commit falló"; cd "$BDT_ROOT"; return 1; } + + info "Pusheando a Gitea..." + if git push origin main 2>&1 | tail -2 | while read -r l; do echo -e " ${GRAY}${l}${NC}"; done; then + ok "Publicado: https://git.dcgeeks.net/BDT/bdt-cli" + else + err "Push falló — corré 'git push origin main' en ${cli_dir}" + cd "$BDT_ROOT"; return 1 + fi + cd "$BDT_ROOT" +} + #=============================================================================== # AYUDA #=============================================================================== @@ -1707,6 +1752,7 @@ cmd_help() { echo "" echo -e " ${O2}${BOLD}UTILIDADES${NC}" echo -e " ${WHITE}git-auth${NC} [user] [pass] Configurar credenciales Git (no pide clave en cada pull)" + echo -e " ${WHITE}publish${NC} Sincronizar bdt.sh al repo público bdt-cli (Gitea)" echo -e " ${WHITE}setup${NC} Instalar 'bdt' como comando global + alias + autocompletado" echo -e " ${WHITE}menu${NC} Menu interactivo (panel de control)" echo -e " ${WHITE}creds${NC} Mostrar credenciales" @@ -1746,6 +1792,7 @@ case "$cmd" in update) cmd_update "$@" ;; deploy) cmd_deploy "$@" ;; construir|wizard|asistente) cmd_construir "$@" ;; + publish) cmd_publish "$@" ;; creds) cmd_creds "$@" ;; clean) cmd_clean "$@" ;; git-auth) cmd_git_auth "$@" ;;