42 lines
1.2 KiB
YAML
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
|