Skip to content

ci(linux): endurecer verify.sh — fallar si falta cualquiera de los dos bundles, no solo si falta todo #175

Closed

Description

@egdev6

Contexto

El bug corregido en d7a0f8c (gate de bundles que se saltaba por el glob en minúscula quorb_* vs Quorb_*) demostró que un skip silencioso en la verificación convierte un gate vacío en verde. El fix actual endurece el caso total: verify.sh falla con exit 1 solo si no hay ningún bundle en /artifacts.

Pero el caso parcial sigue abierto: si llega solo el .deb y falta el .AppImage (o al revés), verify-deb.sh/verify-appimage.sh imprimen «AVISO: no hay ningún …» y hacen exit 0, y el orquestador declara ✔ Build-verify OK: los bundles presentes… — un verde a medias que nadie mira.

Propuesta

  • verify-deb.sh y verify-appimage.sh fallan (exit 1) cuando su bundle esperado no está, en vez de avisar y salir 0.
  • O, como mínimo, verify.sh comprueba la presencia de ambos tipos y falla si falta cualquiera, dejando el aviso como salida de diagnóstico y no como resultado.
  • El mensaje final debe distinguir «los dos bundles validados» de «solo se validó uno».

Criterios de aceptación

  • Un run de linux-ci.yml con with_bundle=bundle donde falte un solo bundle (simulado) termina en rojo, no en verde con AVISO.
  • Con ambos bundles presentes, el gate sigue en verde y el mensaje declara que se validaron los dos.
  • Sin bundles, se mantiene el exit 1 actual.

Referencias

Activity

  1. added
    type:choreMaintenance, release infrastructure and tooling
    on Oct 22, 2026
  2. sosan commented on Oct 23, 2026

    @sosan
    Contributor

    Caso ya cubierto en el PR #176 — se cerró con evidencia y ahora con test de regresión.

    Estado real

    La premisa (script con exit 0 + «AVISO») describía el estado anterior al endurecimiento:

    Contra los criterios de aceptación

    AC Estado
    Falta un solo bundle (simulado) → rojo Cumplido — nuevo test scripts/verify-linux-bundles.test.mjs (3b20966) ejercita los scripts contra ARTIFACTS_DIR temporal: falta .deb → exit 1; falta .AppImage → exit 1; solo llega .AppImage → gate entero rojo
    Ambos presentes → verde, mensaje declara los dos Cumplido — mensaje ✔ Build-verify OK: .deb y .AppImage arrancados en Ubuntu 22.04 limpia. + run fork 39800266204
    Sin bundles → exit 1 Cumplido — verificado por el mismo test (set vacío) y por el guard de staging

    Para ejecutar los scripts fuera del contenedor, aceptan ARTIFACTS_DIR (default /artifacts, comportamiento del contenedor inalterado).

    Con el merge de #176 esta issue queda cerrada; el test la mantiene cerrada (regresión → npm test rojo).

  3. egdev6 commented on Oct 23, 2026

    @egdev6
    OwnerAuthor

    Resuelta por PR #176 (squash 31facfc en main).

    • verify-deb.sh y verify-appimage.sh fallan con exit 1 si falta su propio bundle (ya no exit 0 con aviso).
    • verify.sh declara ✔ Build-verify OK: .deb y .AppImage arrancados en Ubuntu 22.04 limpia solo cuando ambos se validaron.
    • El contrato queda protegido contra regresión por scripts/verify-linux-bundles.test.mjs (4 casos: falta .deb, falta .AppImage, set vacío, solo .AppImage → todos exit 1), verificado en checkout limpio y en CI upstream (Windows/Linux/macOS en verde).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    type:choreMaintenance, release infrastructure and tooling

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions