Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve the reliability of the Android GitHub action workflow #45383

Closed
desrosj opened this issue Oct 28, 2022 · 1 comment
Closed

Improve the reliability of the Android GitHub action workflow #45383

desrosj opened this issue Oct 28, 2022 · 1 comment
Assignees
Labels
Developer Experience Ideas about improving block and theme developer experience [Type] Automated Testing Testing infrastructure changes impacting the execution of end-to-end (E2E) and/or unit tests. [Type] Enhancement A suggestion for improvement.

Comments

@desrosj
Copy link
Contributor

desrosj commented Oct 28, 2022

What problem does this address?

The React Native E2E Tests (Android) GitHub Action workflows is highly unreliable and frequently fails with a few common error messages, which include:

  • Timeout waiting for emulator to boot. (see here).
  • The template is not valid. .github/workflows/rnmobile-android-runner.yml (Line: 46, Col: 24): hashFiles('**/*.gradle') couldn't finish within 120 seconds. (see here).

The workflow is commonly not restarted, and often fails on successive re-runs. This results in inaccurate status reporting for commits, and it seems most folks don't bother to restart it anymore.

What is your proposed solution?

There are several improvements I'd like to try out to hopefully increase the rate of success for this workflow.

  • According to the README for the ReactiveCircus/android-emulator-runner third-party action currently being used, tehre are ways to significantly improve the startup time, including a recommendation to not cache Gradle manually and instead use gradel/gradle-build-action, and add caching of the AVD.
  • Generate snapshots in a separate step than test running.

Additionally, it seems that a specific emulator-build (7425822) is pinned to the action, seemingly to help prevent timeout issues. However, new builds have been published since, and it's possible they don't suffer from these issues.

@desrosj desrosj self-assigned this Oct 28, 2022
@desrosj desrosj added the [Type] Automated Testing Testing infrastructure changes impacting the execution of end-to-end (E2E) and/or unit tests. label Oct 28, 2022
@jordesign jordesign added [Type] Enhancement A suggestion for improvement. Developer Experience Ideas about improving block and theme developer experience labels Aug 2, 2023
@desrosj
Copy link
Contributor Author

desrosj commented Oct 30, 2024

I'm going to close this out. It's been a few years now and the workflow seems to have become more reliable.

If this turns out to still be a problem, a new issue can be opened.

@desrosj desrosj closed this as completed Oct 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Developer Experience Ideas about improving block and theme developer experience [Type] Automated Testing Testing infrastructure changes impacting the execution of end-to-end (E2E) and/or unit tests. [Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

No branches or pull requests

2 participants