-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Labels
enhancementImprovements or additions to existing feature/codeImprovements or additions to existing feature/code
Description
Summary of Improvement
- Refactor the GitHub Actions workflow for instrumented tests by using a cleaner matrix strategy and ensuring that test failures correctly fail the workflow.
- Also ensure API 33 is added to the matrix to support notification-related tests (introduced by Fix #20, #24: Add Android system notification support with notification channels #23).
Current Implementation
- The current
instrumented_testsjob uses a hardcoded API level (api-level: [29]) without architecture control. - It uses
reactivecircus/android-emulator-runner@v2to spin up an emulator and run tests. - However:
- There's no matrix for different arch/API combinations—limiting coverage.
- API 33 is excluded, even though it's required for tests related to notifications.
- Test command uses:
The use of
./gradlew connectedAndroidTest --daemon && killall -INT crashpad_handler || true
|| truecan silently ignore test failures, resulting in false-positive passes in CI.
Proposed Solution
- Expand the matrix strategy with specific API/arch combinations using
include, and drop reliance on a single hardcoded API level:strategy: matrix: include: - api-level: 29 arch: x86 - api-level: 33 arch: x86_64
- Ensure API 33 is part of the matrix to support notification-related test coverage.
- Remove
|| truefrom the test command to allow failures to surface properly:./gradlew connectedAndroidTest --daemon
- Optional: switch to
connectedDebugAndroidTestinstead of the defaultconnectedAndroidTestif that aligns with your Gradle configuration.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementImprovements or additions to existing feature/codeImprovements or additions to existing feature/code