ci(e2e): fix the Android job on main

Merged
KA
2d ago
+21-2

The Android e2e job on main failed in two different ways, and no job ever uploaded its report.

  • System image download: on the push to main, sdkmanager failed to download system-images;android-36;google_apis;x86_64 inside android-emulator-runner, so no tests ran. A new step installs the image first and retries up to 3 times. The action then finds it already installed.
  • settings > change the skip forward interval: on the PR run, getByLabel('Skip forward').getByRole('button', '45s') matched no node on Android. The chip exists whether or not it's selected, so the container scope was the part that failed. 45s only appears once on the Settings screen, so the test now uses getByRole('button', '45s').
  • Reports: .e2e is a hidden directory, and actions/upload-artifact skips hidden files by default. All three jobs warned "No files were found". They now set include-hidden-files: true.
  • Build time: the APK is built only for x86_64, the emulator's ABI. Building all four ABIs took about 25 of the job's 60 minutes.

The other Android failure on the PR run (playlists > create a playlist) was already removed on main in 4e83bef.

Issue

ENG-1271

Verified

Ran it locally: no - this is a CI-only change, and the local emulator was in use by another process. The Android job on this PR is the check.