hbox-docs/scripts/sync-docs.sh

121 lines
12 KiB
Bash
Executable File

#!/usr/bin/env bash
# Sincroniza el subconjunto de técnicos desde el repo Drogheda (el padre de este submódulo)
# hacia docs/. Ejecutar desde la raíz de hbox-docs: ./scripts/sync-docs.sh
# La lista de abajo ES la política de publicación: lo que no está aquí, no se publica.
set -euo pipefail
cd "$(dirname "$0")/.."
SRC="${DROGHEDA_ROOT:-..}" # hbox-docs vive como submódulo directo de Drogheda
# NOTA (2026-09-29): las portadas de sección docs/index.md, docs/produccion/index.md, docs/taller/index.md,
# docs/campo/index.md y docs/hardware/index.md, junto con docs/stylesheets/extra.css y docs/img/, viven SOLO en
# hbox-docs (no vienen del repo Drogheda) y no están en este MAP a propósito: el script no las toca ni las borra.
declare -a MAP=(
"06-Testing-Validation/2026-09-15_Drogheda_EinarBoard-v5_Procedimiento-Prueba-y-Flasheo_ES_v1.0.md|docs/procedimientos/v5-prueba-y-flasheo.md"
"06-Testing-Validation/2026-09-17_Drogheda_HBOX-v5_Modulos-e-Integracion_ES_v1.0.md|docs/procedimientos/v5-modulos-integracion.md"
"06-Testing-Validation/2026-09-17_Drogheda_HBOX-v5_Procedimiento-Ensamble_ES_v1.0.md|docs/procedimientos/v5-ensamble.md"
"06-Testing-Validation/2026-09-18_Drogheda_HBOX-v5_Prueba-Final-Unidad-FW-0.4.0_ES_v1.0.md|docs/procedimientos/v5-prueba-final-unidad.md"
"06-Testing-Validation/2026-07-08_Drogheda_EinarBoard-1.0_BringUp-Runbook_v1.0.md|docs/procedimientos/einarboard-1.0-bringup.md"
"06-Testing-Validation/2026-08-18_Drogheda_FW-v3.0.3_Fan-Policy_Bench-Test_v1.0.md|docs/procedimientos/fan-policy-bench-test.md"
"03-Architecture-Hardware/watchdog-proto-bench-bringup-v3.md|docs/procedimientos/historico-proto-bench-v3.md"
"03-Architecture-Hardware/watchdog-protoboard-bringup.md|docs/procedimientos/historico-protoboard.md"
"06-Testing-Validation/remote-diagnostic-protocol.md|docs/diagnostico/protocolo-diagnostico-remoto.md"
"03-Architecture-Hardware/harness-connector-pinout.md|docs/montaje/pinout-arneses.md"
"03-Architecture-Hardware/Assembly-BOM-Split.md|docs/montaje/bom-split.md"
"03-Architecture-Hardware/0007-1000_Assembly_Guide.pdf|docs/montaje/0007-1000_Assembly_Guide.pdf"
"03-Architecture-Hardware/kicad/docs/GIT-GUIDE_Colaboradores-Externos_ES.md|docs/git/guia-git-es.md"
"03-Architecture-Hardware/kicad/docs/GIT-GUIDE_External-Collaborators_EN.md|docs/git/git-guide-en.md"
# Descargas para técnicos (firmware de bring-up v5)
# Versión nueva: su .bin va a docs/descargas/ y la anterior a docs/descargas/superseded/. El script no borra:
# el .bin anterior que quedó en docs/descargas/ se mueve a mano (mv) a superseded/.
# En prueba de banco (no para campo): docs/descargas/prueba/. Cuando pasa el banco, su .bin se mueve (mv) a
# docs/descargas/, la vigente anterior a superseded/, y se corrigen estas líneas.
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.6.3.bin|docs/descargas/prueba/hbox-v5-bringup_0.6.3.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.6.3.bin|docs/descargas/prueba/hbox-tarjetaV4_0.6.3.bin"
"04-Source-Code/firmware/tools/phtst_report.py|docs/descargas/prueba/phtst_report.py"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.6.0.bin|docs/descargas/hbox-v5-bringup_0.6.0.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.6.2.bin|docs/descargas/superseded/hbox-v5-bringup_0.6.2.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.6.1.bin|docs/descargas/superseded/hbox-v5-bringup_0.6.1.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.9.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.9.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.8.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.8.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.7.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.7.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.6.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.6.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.5.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.5.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.4.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.4.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.3.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.3.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.2.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.2.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/hbox-v5-bringup_0.5.1.bin|docs/descargas/superseded/hbox-v5-bringup_0.5.1.bin"
"04-Source-Code/firmware/hbox_v5_bringup/release/superseded/hbox-v5-bringup_0.4.0.bin|docs/descargas/superseded/hbox-v5-bringup_0.4.0.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV3_3.0.4.bin|docs/descargas/superseded/hbox-tarjetaV3_3.0.4.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV3_4.0.0.bin|docs/descargas/hbox-tarjetaV3_4.0.0.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.6.0.bin|docs/descargas/hbox-tarjetaV4_0.6.0.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.6.2.bin|docs/descargas/superseded/hbox-tarjetaV4_0.6.2.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.6.1.bin|docs/descargas/superseded/hbox-tarjetaV4_0.6.1.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.9.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.9.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.8.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.8.bin"
# Documentación 2026-09-29: datasheet, pinout V5.6, manuales por tarjeta, procedimientos de configuración/Ethernet/serie, manual de cliente
"03-Architecture-Hardware/2026-09-29_Drogheda_EinarBoard-V5.6_Datasheet_ES_v1.0.md|docs/hardware/v56-datasheet.md"
"03-Architecture-Hardware/2026-09-29_Drogheda_HBOX-V5_Harness-Connector-Pinout_v1.0.md|docs/hardware/v56-pinout.md"
"03-Architecture-Hardware/manuales/index.md|docs/manuales/index.md"
"03-Architecture-Hardware/manuales/manual-tarjeta-V5.md|docs/manuales/manual-tarjeta-V5.md"
"03-Architecture-Hardware/manuales/manual-tarjeta-V4.md|docs/manuales/manual-tarjeta-V4.md"
"03-Architecture-Hardware/manuales/manual-tarjeta-V3.md|docs/manuales/manual-tarjeta-V3.md"
"03-Architecture-Hardware/manuales/manual-tarjeta-v6.md|docs/manuales/manual-tarjeta-v6.md"
"06-Testing-Validation/2026-09-29_Drogheda_HBOX-V5_Configuracion-de-Unidad_ES_v1.0.md|docs/procedimientos/v5-configuracion-unidad.md"
"06-Testing-Validation/2026-09-29_Drogheda_HBOX-V5_Prueba-Ethernet-y-Puertos-Serie_ES_v1.0.md|docs/procedimientos/v5-prueba-ethernet-serie.md"
"06-Testing-Validation/2026-09-29_Drogheda_HBOX-V5_Checklist-Puesta-en-Marcha_ES_v1.0.md|docs/procedimientos/v5-checklist-puesta-en-marcha.md"
"03-Architecture-Hardware/Drogheda-Manual-Instalacion-Operacion_v2.0.pdf|docs/manuales/Drogheda-Manual-Instalacion-Operacion_v2.0.pdf"
"Marketing/HBOX-Datasheet/Drogheda-HBOX-Datasheet_v2.0.pdf|docs/manuales/Drogheda-HBOX-Datasheet_v2.0.pdf"
"00-Project-Management/2026-09-29_Drogheda_Guia-Ingeniero-Sitio_ES_v1.0.md|docs/guia-ingeniero.md"
"03-Architecture-Hardware/2026-09-29_Drogheda_EinarBoard-V5.6_Instrucciones-Layout_ES_v1.0.md|docs/hardware/v56-layout-instrucciones.md"
"03-Architecture-Hardware/2026-09-28_Drogheda_EinarBoard-V5.6_Schematic-Change-Report_v1.0.md|docs/hardware/v56-cambios-esquematico.md"
"03-Architecture-Hardware/2026-09-27_Drogheda_EinarBoard-V5.6_ECO_ES_v1.0.md|docs/hardware/v56-eco.md"
# v6 (en diseño)
"03-Architecture-Hardware/2026-09-28_Drogheda_EinarBoard-v6_Full-Audit_v1.0.md|docs/hardware/v6-auditoria-completa.md"
"03-Architecture-Hardware/2026-09-28_Drogheda_EinarBoard-v6_Schematic-Change-Report_v1.0.md|docs/hardware/v6-cambios-esquematico.md"
"03-Architecture-Hardware/2026-09-28_Drogheda_EinarBoard-v6_Review-vs-V5.5-Lessons_v1.0.md|docs/hardware/v6-revision-lecciones-v55.md"
"03-Architecture-Hardware/pinmap-v6.md|docs/hardware/v6-pinmap.md"
"03-Architecture-Hardware/2026-09-28_Drogheda_EinarBoard-v6_Plan-de-Correccion_v1.0.md|docs/hardware/v6-plan-correccion.md"
"03-Architecture-Hardware/2026-09-28_Drogheda_EinarBoard-v6_Cambios-Resumen_v1.0.md|docs/hardware/v6-cambios-resumen.md"
"03-Architecture-Hardware/2026-09-28_Drogheda_EinarBoard-v6_Ports-and-No-Respin_v1.0.md|docs/hardware/v6-puertos-sin-nueva-version.md"
"03-Architecture-Hardware/2026-09-28_Drogheda_EinarBoard-v6_Final-Check_v1.0.md|docs/hardware/v6-revision-final.md"
"03-Architecture-Hardware/2026-09-28_Drogheda_EinarBoard-v6_Full-Audit_v1.0_EN.md|docs/hardware/v6-full-audit.md"
"03-Architecture-Hardware/2026-09-29_Drogheda_EinarBoard-v6_Proximos-Pasos-Pedido_v1.0.md|docs/hardware/v6-proximos-pasos.md"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.7.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.7.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.6.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.6.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.5.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.5.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.4.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.4.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.3.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.3.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.2.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.2.bin"
"04-Source-Code/firmware/release/hbox-tarjetaV4_0.5.1.bin|docs/descargas/superseded/hbox-tarjetaV4_0.5.1.bin"
"04-Source-Code/firmware/hbox_v5_bringup/README.md|docs/descargas/hbox-v5-bringup-README.md"
# 2026-10-07: V4 sin NMEA — riel SW_5V y arranque del F9P (procedimiento + mapa de puntos de medicion)
"06-Testing-Validation/2026-10-06_Drogheda_Procedimiento-Banco-V4_Riel-SW5V-y-F9P_v1.2.md|docs/procedimientos/v4-prueba-riel-sw5v-f9p.md"
"06-Testing-Validation/img/2026-10-06_Drogheda_V4_Mapa-Puntos-Medicion_v1.1.png|docs/procedimientos/img/2026-10-06_Drogheda_V4_Mapa-Puntos-Medicion_v1.1.png"
"06-Testing-Validation/img/2026-10-06_Drogheda_V4_Mapa-Puntos-Medicion_v1.1.pdf|docs/procedimientos/img/2026-10-06_Drogheda_V4_Mapa-Puntos-Medicion_v1.1.pdf"
# 2026-10-13: V5.6 layout (pasadas 1 y 2 de Michelle, auditoría del 13-oct) y V5.7 fuente a bordo (ECO + guía de layout)
"03-Architecture-Hardware/2026-10-12_Drogheda_Instrucciones-Michelle_V5.6-Layout-Final_ES.md|docs/hardware/v56-layout-pasada-1.md"
"03-Architecture-Hardware/2026-10-13_Drogheda_Instrucciones-Michelle_V5.6-Pasada-2_ES.md|docs/hardware/v56-layout-pasada-2.md"
"03-Architecture-Hardware/2026-10-13_Drogheda_EinarBoard-V5.6_Audit-Michelle-Pass_NOT-READY_EN.md|docs/hardware/v56-auditoria-layout-13oct.md"
"03-Architecture-Hardware/2026-10-13_Drogheda_EinarBoard-V5.7_ECO-Fuente-a-bordo_ES_v0.2.md|docs/hardware/v57-eco-fuente.md"
"03-Architecture-Hardware/2026-10-13_Drogheda_Guia-Leo_V5.7-Layout-Fuente_ES.md|docs/hardware/v57-layout-guia.md"
"03-Architecture-Hardware/2026-10-14_Drogheda_V5.7_Colocacion-y-Ruteo_Michelle_ES.md|docs/hardware/v57-colocacion-ruteo.md"
# 2026-10-16: auditoría de producción V5.6 / V5.7 / v6 y pasada 3 de layout (V5.6 + V5.7)
"03-Architecture-Hardware/2026-10-16_Drogheda_Auditoria-Produccion_V5.6-V5.7-v6_ES_v1.0.md|docs/hardware/auditoria-produccion-16oct.md"
"03-Architecture-Hardware/2026-10-16_Drogheda_Instrucciones-Michelle_V5.6-V5.7-Pasada-3_ES.md|docs/hardware/v56-v57-layout-pasada-3.md"
)
n=0
for entry in "${MAP[@]}"; do
src="$SRC/${entry%%|*}"; dst="${entry##*|}"
if [ ! -f "$src" ]; then echo "AVISO: falta $src (¿renombrado?)" >&2; continue; fi
mkdir -p "$(dirname "$dst")"
cp "$src" "$dst"
n=$((n+1))
done
# SHA256SUMS se GENERA de los .bin que de verdad se publican (antes se copiaba el del v5 y
# borraba las lineas de los demas firmwares). Asi la lista nunca miente sobre la carpeta.
( cd docs/descargas && shopt -s nullglob && shasum -a 256 *.bin prueba/*.bin superseded/*.bin > SHA256SUMS.txt )
echo "SHA256SUMS.txt regenerado: $(wc -l < docs/descargas/SHA256SUMS.txt) binarios"
echo "sincronizados $n archivos desde $SRC"
echo "Revisa 'git status' y haz commit de los cambios que quieras publicar."