Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Make local E2E runs deterministic with zero skipped tests

Abierto
#13 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
docker, go, helm, java, kubernetes, python, shell

Línea de trabajo

Read integration-tests/e2e/run.sh and integration-tests/e2e/lib.sh first to trace E2E_FAIL and E2E_SKIP handling, then inspect Tiers 5, 8, 9, 12, and 14 plus integration-tests/AGENTS.md. Run the documented local harness and define preflight and strict-mode behavior so required checks are actionable, strict runs finish with zero failures and skips, and default skip behavior remains portable.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Problem

The end-to-end harness currently treats skipped tests as a successful run. integration-tests/e2e/lib.sh tracks E2E_SKIP, but integration-tests/e2e/run.sh exits non-zero only when E2E_FAIL is non-zero.

This can hide incomplete local coverage caused by missing prerequisites, unsupported cluster topology, or state leaking between tiers. For example, a full local run skipped Tier 14's containerd rollback scenario because Tier 8 had left a Brewlet runtime stanza in the Docker Desktop worker's /etc/containerd/config.toml. After removing that stale stanza, Tier 14 completed with 19 passed, 0 failed, and 0 skipped.

Proposed work

  • Add an opt-in strict mode such as --require-all that exits non-zero when any test is skipped.
  • Add a preflight that reports missing requirements before starting: Go, JDK 21+, Python 3, Maven, Docker, kubectl, Helm, OpenSSL, network access, a reachable cluster, and a schedulable local containerd node.
  • Isolate node-mutating tiers, preferably using fresh disposable clusters aligned with the CI matrix, or ensure each tier snapshots and restores node state.
  • Update Tier 8, Tier 9, and Tier 12 cleanup so containerd configuration and other node-side changes cannot affect Tier 14 or subsequent runs.
  • Make Tier 5's host-bound webhook connectivity portable rather than relying exclusively on host.docker.internal, or provide a deterministic supported local configuration.
  • Document the strict local invocation and required environment in integration-tests/AGENTS.md.

Acceptance criteria

  • integration-tests/e2e/run.sh --reset --require-all succeeds only when the summary reports zero failures and zero skips.
  • Missing prerequisites fail during preflight with actionable messages.
  • Repeated full local runs produce no state-related skips.
  • Tier 14's rollback assertions execute after Tiers 8, 9, and 12 in a full local run.
  • The default non-strict mode retains its current portable skip behavior.
  • CI and local-run documentation explain the supported cluster setup and strict mode.
Lenguaje dominante
Go
Estrellas
0
Forks
0
Merge medio
11 h 48 min
PR fusionados (30 d)
99

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/brewlet

Todos los issues de microsoft/brewlet

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.