fix(ci): habilitar gcc-toolset-12 (C++20) para better-sqlite3; reutilizar node_modules
This commit is contained in:
@@ -26,7 +26,11 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Build (npm ci + vite build)
|
- name: Build (npm ci + vite build)
|
||||||
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
|
# better-sqlite3 (v12) requiere C++20; el GCC 8 del sistema (AlmaLinux 8) no lo soporta.
|
||||||
|
# gcc-toolset-12 (GCC 12) ya está instalado en /opt/rh.
|
||||||
|
source /opt/rh/gcc-toolset-12/enable 2>/dev/null || echo "WARN: gcc-toolset-12 no encontrado"
|
||||||
npm ci
|
npm ci
|
||||||
npm run build
|
npm run build
|
||||||
|
|
||||||
|
|||||||
+10
-1
@@ -58,9 +58,18 @@ rsync -a --delete "$ROOT/server/" "$DEST/server/"
|
|||||||
cp -a "$ROOT/package.json" "$ROOT/package-lock.json" "$DEST/"
|
cp -a "$ROOT/package.json" "$ROOT/package-lock.json" "$DEST/"
|
||||||
# localesp.db se PRESERVA (datos de usuarios). No se toca aquí.
|
# localesp.db se PRESERVA (datos de usuarios). No se toca aquí.
|
||||||
|
|
||||||
# --- 2. dependencias de producción (express + better-sqlite3) ---
|
# --- 2. dependencias de producción ---
|
||||||
|
# Reutiliza los node_modules ya compilados por el workflow (better-sqlite3 v12 exige
|
||||||
|
# C++20, GCC 12). Copiar + npm prune evita recompilar en cada despliegue.
|
||||||
|
# Fallback a npm ci --omit=dev si se ejecuta a mano sin build previo.
|
||||||
log "instalando dependencias (prod)"
|
log "instalando dependencias (prod)"
|
||||||
|
if [ -d "$ROOT/node_modules" ]; then
|
||||||
|
mkdir -p "$DEST/node_modules"
|
||||||
|
rsync -a --delete "$ROOT/node_modules/" "$DEST/node_modules/"
|
||||||
|
( cd "$DEST" && npm prune --omit=dev --no-audit --no-fund )
|
||||||
|
else
|
||||||
( cd "$DEST" && npm ci --omit=dev --no-audit --no-fund )
|
( cd "$DEST" && npm ci --omit=dev --no-audit --no-fund )
|
||||||
|
fi
|
||||||
|
|
||||||
# --- 3. systemd unit ---
|
# --- 3. systemd unit ---
|
||||||
log "escribiendo unit $UNIT (PORT=$PORT)"
|
log "escribiendo unit $UNIT (PORT=$PORT)"
|
||||||
|
|||||||
Reference in New Issue
Block a user