chore: build.sh con version desde app.md + pre-commit anti-stale

build.sh inyecta la version de app.md por -ldflags (-X main.version), haciendo de
app.md la unica fuente de verdad — el binario ya no puede quedar por detras
(drift 0.7.0 vs 0.8.0 del 16/06/2026). main.go pasa la version de const a var
para permitir el override por ldflags.

scripts/pre-commit recompila en cada commit para que el binario que sirve el
.mcp.json nunca quede stale respecto a los .go commiteados (la causa raiz del
mismo bug). scripts/install-hooks.sh lo instala via symlink.
This commit is contained in:
Egutierrez
2026-06-16 20:27:45 +02:00
parent 82993179dc
commit 33358bca6c
4 changed files with 40 additions and 1 deletions
+6
View File
@@ -0,0 +1,6 @@
#!/usr/bin/env bash
# Instala los git hooks versionados de este repo en .git/hooks.
set -euo pipefail
cd "$(dirname "$0")/.."
ln -sf ../../scripts/pre-commit .git/hooks/pre-commit
echo "instalado .git/hooks/pre-commit -> scripts/pre-commit"
+12
View File
@@ -0,0 +1,12 @@
#!/usr/bin/env bash
# Anti-stale binary guard. El .mcp.json ejecuta el binario ./browser_mcp; si se
# commitea un cambio en los .go sin recompilar, la sesión sirve código viejo
# (bug 16/06/2026). Este hook recompila en cada commit. Instálalo con
# scripts/install-hooks.sh.
set -euo pipefail
cd "$(git rev-parse --show-toplevel)"
if ! ./build.sh >/tmp/browser_mcp_build.log 2>&1; then
echo "pre-commit: build.sh falló — commit abortado. Log:" >&2
cat /tmp/browser_mcp_build.log >&2
exit 1
fi