Files
localesp/.github/workflows/tests.yml
T
edgar.friendly 0c5651a6c0
deploy-branch / deploy (push) Successful in 2m43s
deploy-branch / teardown (push) Skipped
fix(ci): compatibilidad con el runner self-hosted (npm 10 / Node 20)
- vitest 4 traía vite 8 anidado con esbuild 0.28: el lockfile quedaba
  incompleto para npm ci y el npm 10.8.2 del runner fallaba con
  "Missing @esbuild/* from lock file" / EBADPLATFORM. vitest 3 usa el
  vite 5 del proyecto como peer: sin árbol anidado, esbuild solo 0.21.5
- jsdom 30 exige Node >=22.22 (el runner tiene 20.20): bajado a jsdom 26
- tests.yml sobre el runner real (self-hosted, Node del sistema) en vez
  de ubuntu-latest, que no existe como label
- aserciones de max()/calc() tolerantes a la serialización de jsdom 26
2026-08-18 07:27:19 +02:00

42 lines
1.2 KiB
YAML

# CI: ejecuta la suite rápida de pruebas (offline) y el build en cada push y PR.
# La suite de integración con Nominatim (red real) es opt-in: se lanza a mano
# desde la pestaña Actions del repositorio, y un fallo de red no rompe el CI.
name: tests
on:
push:
pull_request:
workflow_dispatch:
jobs:
test:
name: Unitarias + componente + build
# El runner disponible es self-hosted (AlmaLinux, Node 20 del sistema);
# las deps soportan Node >=18/20 (jsdom@26), así que no hace falta setup-node.
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
- name: Instalar dependencias
run: npm ci
- name: Pruebas unitarias y de componente (offline)
run: npm test
- name: Build de producción
run: npm run build
integracion:
name: Integración (Nominatim real, opt-in)
runs-on: self-hosted
if: github.event_name == 'workflow_dispatch'
continue-on-error: true # depende de un servicio externo: informativa
steps:
- uses: actions/checkout@v4
- name: Instalar dependencias
run: npm ci
- name: Pruebas de integración (API en memoria + Nominatim)
run: npm run test:integration