Skip to content

Retain CI test reports when verification fails #72

Open

Description

@R055LE

Observed

Threadline PR #71's first CI run failed in :app:testDebugUnitTest:

SessionManagerIoTest > ephemeral session never reaches transcript archive sink FAILED
    kotlinx.coroutines.TimeoutCancellationException at CoroutineDebugging.kt:42
        Caused by: kotlinx.coroutines.TimeoutCancellationException at Timeout.kt:281
110 tests completed, 1 failed

gh run view 36896196649 --repo R055LE/threadline --log-failed exposed that summary, but not the full JUnit stack showing which wait timed out. Gradle pointed to an HTML report in the runner workspace. The workflow doesn't upload test reports, so the report was unavailable after the job ended.

The PR now makes the archive tests wait for fake client sends before injecting lifecycle markers and gives those waits more time under CI build load. The reporting gap remains independent of that correction.

Requested boundary

  • Preserve JUnit XML and the corresponding HTML reports when a verification step fails, using an always() artifact step.
  • Include app unit tests, JVM SSH integration tests, and Android connected-test reports when present.
  • Keep a missing report directory from hiding the original failure.
  • Make the failure's test method and source stack available without rerunning merely to obtain diagnostics.

Activity

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions