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

CI: emulator jobs (Test E2E, R8 smoke) fail non-deterministically — red run gives no code signal

Abierto
#332 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
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
30/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
android, github-actions, kotlin
Área
ci-cd, testing-qa

Línea de trabajo

Start from the CI jobs named Test E2E (29) and Test release variant (R8 smoke), which share an emulator bootstrap, and from the failing test UpgradeWithHistoryTest.serverAnswersWhileLegacyHistoryMigrates. Compare failing and passing runs to separate emulator faults (SIGBUS, System UI ANR, adb loss) from app faults. Done would mean infra failures surface with a distinct message or get a bounded retry, so a red run reflects the code. The issue sets no fixed scope, so confirm the approach with a maintainer first.

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

Descripción

Problem

The two emulator-backed jobs are the only non-deterministic checks in CI, and they currently fail often enough that a red run carries no signal about the code under test.

  • Test E2E (29) fails intermittently on master with adb-daemon/console errors and test timeouts (e.g. UpgradeWithHistoryTest.serverAnswersWhileLegacyHistoryMigrates → "legacy events were not merged within 60000 ms").
  • Test release variant (R8 smoke) fails with emulator-level breakdowns (native SIGBUS tombstones in a livelocking emulator, or the emulator's System UI ANR-ing so the app process is gone before the 20s observation window) while the debug Test job is green and logcat shows no app-side crash or R8/JNI resolution error.

Result: a green debug build plus a red R8-smoke job is indistinguishable from a real R8 regression, so each red run costs a manual rerun/diagnosis round.

Evidence

master (consecutive runs, same emulator jobs, alternating red/green):

  • 37604064600 failure — Test E2E (29)
  • 37600138187 failure — Test E2E (29)
  • 37530698857 failure — Test E2E (29)
  • 37600103590 success / 37530804304 success (same jobs green)

A PR branch (fix/saf-mirror-remove-stale-databases, ActivityWatch/aw-android#331) whose only delta is two cancelRequested guards:

  • 37804568140 failure — E2E migration timeout + R8 smoke native SIGBUS (BUS_ADRERR)
  • 37822239586 failure (retrigger on top) — R8 smoke again, this time emulator System UI ANR (UI dump: "System UI isn't responding"); app launched cleanly, no app crash
  • 37802985233 success — same branch, parent commit

Suggested direction (not prescriptive)

  • Add a bounded automatic retry for the two emulator jobs (or a workflow_dispatch rerun path) so a single infra hiccup doesn't leave a PR red.
  • Distinguish infra failure from app failure in the job result (e.g. fail fast on SIGBUS/ANR/adb daemon loss with a distinct message) so the red/green signal maps to code.
  • Long-term: the smoke test's value is proving R8 keeps runtime paths intact; consider running it on a stable device/emulator configuration rather than the same shared emulator bootstrap as E2E.

Scope

CI reliability only — no app behavior change is requested by this issue.

Lenguaje dominante
Kotlin
Estrellas
277
Forks
61
Merge medio
2 d 4 h
PR fusionados (30 d)
52

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

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 ActivityWatch/aw-android

Todos los issues de ActivityWatch/aw-android

Issues similares

Más issues de Kotlin

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.