Skip to content

GH Actions E2E tests runner instability #50

Description

@artus9033

Before submitting a new issue

  • I tested using the latest version of the library, as the bug might be already fixed.
  • I tested using a supported version of react native.
  • I checked for possible duplicate issues, with possible answers.

Bug summary

The CI E2E tests runner is 'unstable' in the sense that it randomly fails to start the emulator. Usually one / two runs in the E2E matrix would fail, but succeed in a subsequent re-run, such as this job: https://github.com/callstackincubator/react-native-legal/actions/runs/15728794209/job/44324791688 which succeeded here: https://github.com/callstackincubator/react-native-legal/actions/runs/15728794209

The critical logs are as follows:

> Task :app:installRelease
[EmulatorConsole]: Failed to start Emulator console for 5554
Installing APK 'app-release.apk, app-release.dm' on 'emulator-5554 - 15' for :app:release
Installed on 1 device.

BUILD SUCCESSFUL in 5m
97 actionable tasks: 97 executed
info Connecting to the development server...
8081
info Starting the app on "emulator-5554"...
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.reactnativelegalbareexample/.MainActivity }
CI detected and MAESTRO_CLI_NO_ANALYTICS environment variable set, analytics disabled.

Waiting for flows to complete...
Error: Exception in thread "pool-4-thread-1" java.io.IOException: Command failed (host:transport:emulator-5554): device offline
	at dadb.adbserver.AdbServer.send$dadb(AdbServer.kt:103)
	at dadb.adbserver.AdbServerDadb.open(AdbServer.kt:148)
	at dadb.forwarding.TcpForwarder.handleForwarding$lambda-1(TcpForwarder.kt:64)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)
[Failed] [Android] Check React Native entry in OSS libraries list (2m 1s) (Unable to launch app com.reactnativelegalbareexample: am force-stop com.reactnativelegalbareexample)

At the same time, I'm almost sure that it always happens for Android only and just for Android API level 35 emulator (e.g. another such run is here: https://github.com/callstackincubator/react-native-legal/actions/runs/15704990994/attempts/1).

Maybe we should add some condition to retry a failed matrix job once if it fails with such output (Failed to start Emulator console) or consider changing the runner (not sure how this would impact the quota, though).

CC @wjaszczuk , @mateusz1913

Library version

N/A

Environment info

Github Actions

Steps to reproduce

  1. Create any PR
  2. Observe E2E status

Reproducible sample code

N/A

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions