From 7f80f45c9bcc783f0a69124e901e610f380e9e50 Mon Sep 17 00:00:00 2001 From: Femi Ogundipe Date: Tue, 31 Mar 2026 13:41:27 +0100 Subject: [PATCH 1/2] Speed up unit tests and resolve CI conflicts --- .github/workflows/android_ci.yml | 34 +++++++++++++------------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/.github/workflows/android_ci.yml b/.github/workflows/android_ci.yml index 3b2cc951c..c2972cb50 100644 --- a/.github/workflows/android_ci.yml +++ b/.github/workflows/android_ci.yml @@ -40,7 +40,7 @@ jobs: - name: Prepare App uses: ./.github/composite/prepareApp - - name: Run Ktlint + - name: Run Unit Tests run: ./gradlew test collect_coverage: @@ -51,13 +51,8 @@ jobs: with: submodules: true - - name: Set up JDK - uses: actions/setup-java@v1 - with: - java-version: 17 - - - name: Grant Execute Permission for Gradle Wrapper - run: chmod +x gradlew + - name: Prepare App + uses: ./.github/composite/prepareApp - name: Get Coverage run: ./gradlew koverReport @@ -85,12 +80,16 @@ jobs: if: success() with: name: latest-apk - path: "app/build/outputs/apk/core/debug/app-core-debug.apk" + path: "app/build/outputs/apk/conjugate/debug/app-conjugate-debug.apk" instrumentation_test: runs-on: ubuntu-latest - name: Run Android Instrumentation Tests - timeout-minutes: 50 + strategy: + matrix: + flavor: [Conjugate, Keyboards] + fail-fast: false + name: Run Android Instrumentation Tests (${{ matrix.flavor }}) + timeout-minutes: 45 steps: - name: Checkout Repository uses: actions/checkout@v4 @@ -106,6 +105,9 @@ jobs: sudo udevadm control --reload-rules sudo udevadm trigger --name-match=kvm + - name: Pre-build Android Test APKs + run: ./gradlew assemble${{ matrix.flavor }}Debug assemble${{ matrix.flavor }}DebugAndroidTest + - name: Run UI Tests on Emulator uses: reactivecircus/android-emulator-runner@v2 with: @@ -121,13 +123,5 @@ jobs: force-avd-creation: false script: | adb wait-for-device - sleep 30 adb shell input keyevent 82 - adb shell settings put global window_animation_scale 0.0 - adb shell settings put global transition_animation_scale 0.0 - adb shell settings put global animator_duration_scale 0.0 - adb shell pm list packages >/dev/null - sleep 10 - adb shell getprop sys.boot_completed - ./gradlew connectedConjugateDebugAndroidTest --stacktrace - ./gradlew connectedKeyboardsDebugAndroidTest --stacktrace + ./gradlew connected${{ matrix.flavor }}DebugAndroidTest --stacktrace From fb7110a47200c7d80e8eb7293ad12f8a42db2fcb Mon Sep 17 00:00:00 2001 From: Femi Ogundipe Date: Wed, 1 Apr 2026 10:53:37 +0100 Subject: [PATCH 2/2] Resolve merge conflict: remove android_ci.yml to match upstream --- .github/workflows/ci_android.yaml | 34 +++++++++++++------------------ 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/.github/workflows/ci_android.yaml b/.github/workflows/ci_android.yaml index ef5b2297c..4a1b604d2 100644 --- a/.github/workflows/ci_android.yaml +++ b/.github/workflows/ci_android.yaml @@ -46,7 +46,7 @@ jobs: - name: Prepare App uses: ./.github/composite/prepareApp - - name: Run Ktlint + - name: Run Unit Tests run: ./gradlew test collect_coverage: @@ -57,13 +57,8 @@ jobs: with: submodules: true - - name: Set up JDK - uses: actions/setup-java@v1 - with: - java-version: 17 - - - name: Grant Execute Permission for Gradle Wrapper - run: chmod +x gradlew + - name: Prepare App + uses: ./.github/composite/prepareApp - name: Get Coverage run: ./gradlew koverReport @@ -91,12 +86,16 @@ jobs: if: success() with: name: latest-apk - path: "app/build/outputs/apk/core/debug/app-core-debug.apk" + path: "app/build/outputs/apk/conjugate/debug/app-conjugate-debug.apk" instrumentation_test: runs-on: ubuntu-latest - name: Run Android Instrumentation Tests - timeout-minutes: 50 + strategy: + matrix: + flavor: [ Conjugate, Keyboards ] + fail-fast: false + name: Run Android Instrumentation Tests (${{ matrix.flavor }}) + timeout-minutes: 45 steps: - name: Checkout Repository uses: actions/checkout@v4 @@ -112,6 +111,9 @@ jobs: sudo udevadm control --reload-rules sudo udevadm trigger --name-match=kvm + - name: Pre-build Android Test APKs + run: ./gradlew assemble${{ matrix.flavor }}Debug assemble${{ matrix.flavor }}DebugAndroidTest + - name: Run UI Tests on Emulator uses: reactivecircus/android-emulator-runner@v2 with: @@ -127,13 +129,5 @@ jobs: force-avd-creation: false script: | adb wait-for-device - sleep 30 adb shell input keyevent 82 - adb shell settings put global window_animation_scale 0.0 - adb shell settings put global transition_animation_scale 0.0 - adb shell settings put global animator_duration_scale 0.0 - adb shell pm list packages >/dev/null - sleep 10 - adb shell getprop sys.boot_completed - ./gradlew connectedConjugateDebugAndroidTest --stacktrace - ./gradlew connectedKeyboardsDebugAndroidTest --stacktrace + ./gradlew connected${{ matrix.flavor }}DebugAndroidTest --stacktrace