feat: Add Android test runs to CI workflow#26
Merged
Conversation
The android-emulator-runner runs scripts in an isolated environment where Flutter may not be available. Add Flutter installation check and setup if needed.
- Save PATH to environment variables before emulator runner - Pass PATH through env to android-emulator-runner - Remove flutter doctor that could fail with exit code 2 - Add set -e for immediate error handling - Add Flutter version verification before tests
- Remove conditional check for Flutter installation - Ensure Flutter is always cloned and added to PATH - Simplify setup process for running tests
Add arm64-v8a to Android test matrix alongside x86_64 to test both supported architectures. Use matrix include syntax to define separate Android configurations for each architecture.
arm64-v8a emulator requires more time to boot than x86_64. Increase timeout to 600 seconds for arm64-v8a while keeping default 300 seconds for x86_64.
Increase emulator-boot-timeout to 900 seconds (15 minutes) and RAM to 3072M for arm64-v8a architecture, as it requires more resources and time to boot than x86_64.
arm64-v8a emulation on x86_64 host in GitHub Actions is too slow and unreliable, causing timeout issues. Keep only x86_64 emulator tests which are stable and sufficient to verify Android platform compatibility. The project still supports arm64-v8a architecture for end users, but CI testing on x86_64 emulator is sufficient to validate Android platform functionality.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Added Android test execution to the CI workflow with support for both architectures: x86_64 and arm64-v8a.
Changes
Added Android to the test matrix strategy using
includesyntaxConfigured an Android emulator using
reactivecircus/android-emulator-runner@v2Added support for both architectures:
Emulator parameters:
x86_64orarm64-v8a)Added steps to install Flutter and run tests on Android
Configured PATH propagation from previous steps to ensure Flutter works correctly inside the emulator
Technical details
includeto define separate Android configurations for each architectureTesting
Tests will be automatically executed on an Android emulator for both architectures on every push and pull request.
Related tasks
Adds support for Android platform testing according to the project requirements. The project supports both architectures (arm64-v8a and x86_64) as stated in the documentation.