From ae7225473c88d8eb1e54e5af373c18ada48b9e14 Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Wed, 7 Jan 2026 17:16:58 +0530 Subject: [PATCH 01/27] Update ci.yml updated ci.yml and replaced macos-13 to macos-15. Refer - https://github.com/actions/runner-images/issues/13046 --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a83508c95..cd0a48992 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,7 +41,7 @@ jobs: run: yarn test --coverage run-e2e-ios: - runs-on: 'macos-13' + runs-on: 'macos-15' env: YARN_ENABLE_HARDENED_MODE: 0 steps: @@ -79,7 +79,7 @@ jobs: run: yarn e2e test:ios run-e2e-android: - runs-on: 'macos-13' # This is important, linux cannot run the emulator graphically for e2e tests + runs-on: 'macos-15' # This is important, linux cannot run the emulator graphically for e2e tests strategy: matrix: api-level: [21] From 17bff5c6749e0827cf77829a4dcabd1d578daacc Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Wed, 7 Jan 2026 17:41:08 +0530 Subject: [PATCH 02/27] update: added arch --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cd0a48992..1d0339859 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -119,6 +119,7 @@ jobs: profile: ${{matrix.profile}} avd-name: Pixel_API_21_AOSP target: default + arch: arm64-v8a force-avd-creation: false emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none disable-animations: false @@ -152,6 +153,7 @@ jobs: profile: ${{matrix.profile}} avd-name: Pixel_API_21_AOSP target: default + arch: arm64-v8a force-avd-creation: false emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none disable-animations: true From c3295358d67e8cb9112472c8cba5ff6c1ad78cbe Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Wed, 7 Jan 2026 17:49:22 +0530 Subject: [PATCH 03/27] update : disabled HVF --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1d0339859..5ff6c5b0b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -121,7 +121,7 @@ jobs: target: default arch: arm64-v8a force-avd-creation: false - emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none + emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none -accel off disable-animations: false script: echo "Generated AVD snapshot for caching." @@ -155,6 +155,6 @@ jobs: target: default arch: arm64-v8a force-avd-creation: false - emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none + emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none -accel off disable-animations: true script: yarn e2e test:android From 4f4c3ca0022ea00107a8feb3281042f79dce8eca Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Wed, 7 Jan 2026 17:57:03 +0530 Subject: [PATCH 04/27] refactor : refactored emulator-options --- .github/workflows/ci.yml | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5ff6c5b0b..b34234e77 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -121,7 +121,13 @@ jobs: target: default arch: arm64-v8a force-avd-creation: false - emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none -accel off + emulator-options: > + -no-window + -gpu swiftshader_indirect + -noaudio + -no-boot-anim + -camera-back none + -accel off disable-animations: false script: echo "Generated AVD snapshot for caching." @@ -155,6 +161,11 @@ jobs: target: default arch: arm64-v8a force-avd-creation: false - emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none -accel off - disable-animations: true + emulator-options: > + -no-window + -gpu swiftshader_indirect + -noaudio + -no-boot-anim + -camera-back none + -accel off disable-animations: true script: yarn e2e test:android From 3e2b3abaf1c53a8939d5f0530a416987d981ce35 Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Wed, 7 Jan 2026 18:08:05 +0530 Subject: [PATCH 05/27] update : updated macos-15 to macos-15-intel for HV_UNSUPPORTED error --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b34234e77..0e2a42168 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -79,7 +79,7 @@ jobs: run: yarn e2e test:ios run-e2e-android: - runs-on: 'macos-15' # This is important, linux cannot run the emulator graphically for e2e tests + runs-on: 'macos-15-intel' # This is important, linux cannot run the emulator graphically for e2e tests strategy: matrix: api-level: [21] From dd92d42a0795a8e3791a31ff57086bc67622209d Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Wed, 7 Jan 2026 18:17:38 +0530 Subject: [PATCH 06/27] update: removed arch --- .github/workflows/ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0e2a42168..717a87045 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -119,7 +119,6 @@ jobs: profile: ${{matrix.profile}} avd-name: Pixel_API_21_AOSP target: default - arch: arm64-v8a force-avd-creation: false emulator-options: > -no-window @@ -159,7 +158,6 @@ jobs: profile: ${{matrix.profile}} avd-name: Pixel_API_21_AOSP target: default - arch: arm64-v8a force-avd-creation: false emulator-options: > -no-window From fbfd58f5a41d83f1f25ff280cd2a23c63c7165cd Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Wed, 7 Jan 2026 18:30:37 +0530 Subject: [PATCH 07/27] update: updated lockfile --- yarn.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yarn.lock b/yarn.lock index 4767704ef..3eee16575 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3380,7 +3380,7 @@ __metadata: version: 0.0.0-use.local resolution: "@segment/analytics-react-native-plugin-amplitude-session@workspace:packages/plugins/plugin-amplitudeSession" dependencies: - "@segment/analytics-react-native": "npm:^2.18.0" + "@segment/analytics-react-native": "npm:^2.21.4" "@segment/analytics-rn-shared": "workspace:^" "@segment/sovran-react-native": "npm:^1.1.0" "@types/jest": "npm:^29.5.8" @@ -3615,7 +3615,7 @@ __metadata: languageName: unknown linkType: soft -"@segment/analytics-react-native@npm:^2.18.0, @segment/analytics-react-native@workspace:packages/core": +"@segment/analytics-react-native@npm:^2.18.0, @segment/analytics-react-native@npm:^2.21.4, @segment/analytics-react-native@workspace:packages/core": version: 0.0.0-use.local resolution: "@segment/analytics-react-native@workspace:packages/core" dependencies: From 6d2622818ceac913173675258af4dfb2588d645d Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Wed, 7 Jan 2026 19:01:50 +0530 Subject: [PATCH 08/27] fix: fixed indentation issue --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 717a87045..00659b948 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -165,5 +165,6 @@ jobs: -noaudio -no-boot-anim -camera-back none - -accel off disable-animations: true + -accel off + disable-animations: true script: yarn e2e test:android From d47741a48288891d08fe01149e8364b88a9a0250 Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Thu, 8 Jan 2026 00:09:20 +0530 Subject: [PATCH 09/27] fix: fixed e2e detox build step --- .github/workflows/ci.yml | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 00659b948..f8f9979b7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -66,14 +66,31 @@ jobs: cache: yarn # End workaround - - name: Bootstrap - run: yarn install && yarn e2e install && yarn e2e pods + - name: Bootstrap (NO_FLIPPER) + run: | + yarn install + yarn e2e install + cd examples/E2E/ios + rm -rf Pods Podfile.lock + NO_FLIPPER=1 pod install --repo-update - name: Bundle Build run: yarn build - - name: Detox - Build - run: RCT_NO_LAUNCH_PACKAGER=1 yarn e2e build:ios + - name: Detox - Build (arm64, no Flipper) + run: | + cd examples/E2E + RCT_NO_LAUNCH_PACKAGER=1 \ + NO_FLIPPER=1 \ + xcodebuild \ + -workspace ios/AnalyticsReactNativeE2E.xcworkspace \ + -scheme AnalyticsReactNativeE2E \ + -configuration Release \ + -sdk iphonesimulator \ + -destination 'generic/platform=iOS Simulator' \ + -arch arm64 \ + -derivedDataPath ios/build + - name: Detox - Test run: yarn e2e test:ios From 6168db18956ce8b4c494289704af222c71c7daf8 Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Thu, 8 Jan 2026 00:22:13 +0530 Subject: [PATCH 10/27] update: updated Detox build section --- .github/workflows/ci.yml | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f8f9979b7..644096119 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -77,19 +77,8 @@ jobs: - name: Bundle Build run: yarn build - - name: Detox - Build (arm64, no Flipper) - run: | - cd examples/E2E - RCT_NO_LAUNCH_PACKAGER=1 \ - NO_FLIPPER=1 \ - xcodebuild \ - -workspace ios/AnalyticsReactNativeE2E.xcworkspace \ - -scheme AnalyticsReactNativeE2E \ - -configuration Release \ - -sdk iphonesimulator \ - -destination 'generic/platform=iOS Simulator' \ - -arch arm64 \ - -derivedDataPath ios/build + - name: Detox - Build + run: RCT_NO_LAUNCH_PACKAGER=1 yarn e2e build:ios - name: Detox - Test From fe7a7a6b102397a0d6e3b0217365ca93ac2d2b92 Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Thu, 8 Jan 2026 00:46:59 +0530 Subject: [PATCH 11/27] update: updated Detox-Build for e2e:ios --- .github/workflows/ci.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 644096119..b47824293 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -78,7 +78,11 @@ jobs: run: yarn build - name: Detox - Build - run: RCT_NO_LAUNCH_PACKAGER=1 yarn e2e build:ios + run: | + RCT_NO_LAUNCH_PACKAGER=1 \ + EXCLUDED_ARCHS=x86_64 \ + ONLY_ACTIVE_ARCH=YES \ + yarn e2e build:ios - name: Detox - Test From aa9de83540e5e00ba8c047046621b11ae45453fe Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Thu, 8 Jan 2026 01:15:44 +0530 Subject: [PATCH 12/27] update: pinned xcode-version to 16.4 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b47824293..cd271a4db 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,7 +47,7 @@ jobs: steps: - uses: maxim-lobanov/setup-xcode@v1 with: - xcode-version: latest-stable + xcode-version: '16.4' - name: Install applesimutils run: | HOMEBREW_NO_AUTO_UPDATE=1 brew tap wix/brew >/dev/null From e1de337476c072852fe7e94b8cffeaac82d88bd9 Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Thu, 8 Jan 2026 10:25:12 +0530 Subject: [PATCH 13/27] update: updated device type for macos-15 runner --- examples/E2E/.detoxrc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/E2E/.detoxrc.js b/examples/E2E/.detoxrc.js index 98759a8cb..6e38a54f4 100644 --- a/examples/E2E/.detoxrc.js +++ b/examples/E2E/.detoxrc.js @@ -51,7 +51,7 @@ module.exports = { simulator: { type: 'ios.simulator', device: { - type: 'iPhone 14' + type: 'iPhone 16' } }, attached: { From 2af5ab7ddee8f97ab01c73c9f6d5f791a524ac0e Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Thu, 8 Jan 2026 13:18:37 +0530 Subject: [PATCH 14/27] update: updated avdName as API 21 is too old --- examples/E2E/.detoxrc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/E2E/.detoxrc.js b/examples/E2E/.detoxrc.js index 6e38a54f4..38837acef 100644 --- a/examples/E2E/.detoxrc.js +++ b/examples/E2E/.detoxrc.js @@ -63,7 +63,7 @@ module.exports = { emulator: { type: 'android.emulator', device: { - avdName: process.env.CI ? 'Pixel_API_21_AOSP': 'Pixel_3a_API_32' + avdName: process.env.CI ? 'Pixel_3a_API_30' : 'Medium_Phone_API_36.1' } } }, From d543d6f94a423506daf8eb871c8465620b340dcc Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Thu, 8 Jan 2026 13:41:38 +0530 Subject: [PATCH 15/27] update: changed API level back to 21 --- examples/E2E/.detoxrc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/E2E/.detoxrc.js b/examples/E2E/.detoxrc.js index 38837acef..bb920676d 100644 --- a/examples/E2E/.detoxrc.js +++ b/examples/E2E/.detoxrc.js @@ -63,7 +63,7 @@ module.exports = { emulator: { type: 'android.emulator', device: { - avdName: process.env.CI ? 'Pixel_3a_API_30' : 'Medium_Phone_API_36.1' + avdName: process.env.CI ? 'Pixel_API_21_AOSP' : 'Medium_Phone_API_36.1' } } }, From a30154d7df5446f3b7096883969fe9a7557cca35 Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Thu, 8 Jan 2026 14:39:16 +0530 Subject: [PATCH 16/27] update: updated API level to 30 due to pg install failure --- .github/workflows/ci.yml | 8 ++++---- examples/E2E/.detoxrc.js | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cd271a4db..d97497190 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -92,8 +92,8 @@ jobs: runs-on: 'macos-15-intel' # This is important, linux cannot run the emulator graphically for e2e tests strategy: matrix: - api-level: [21] - profile: ['pixel_xl'] + api-level: [30] + profile: ['pixel_3a'] env: YARN_ENABLE_HARDENED_MODE: 0 steps: @@ -127,7 +127,7 @@ jobs: with: api-level: ${{ matrix.api-level }} profile: ${{matrix.profile}} - avd-name: Pixel_API_21_AOSP + avd-name: Pixel_3a_API_30 target: default force-avd-creation: false emulator-options: > @@ -166,7 +166,7 @@ jobs: with: api-level: ${{ matrix.api-level }} profile: ${{matrix.profile}} - avd-name: Pixel_API_21_AOSP + avd-name: Pixel_3a_API_30 target: default force-avd-creation: false emulator-options: > diff --git a/examples/E2E/.detoxrc.js b/examples/E2E/.detoxrc.js index bb920676d..38837acef 100644 --- a/examples/E2E/.detoxrc.js +++ b/examples/E2E/.detoxrc.js @@ -63,7 +63,7 @@ module.exports = { emulator: { type: 'android.emulator', device: { - avdName: process.env.CI ? 'Pixel_API_21_AOSP' : 'Medium_Phone_API_36.1' + avdName: process.env.CI ? 'Pixel_3a_API_30' : 'Medium_Phone_API_36.1' } } }, From 948edf083f2da67babda38dec179457936bbdd45 Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Thu, 8 Jan 2026 14:48:27 +0530 Subject: [PATCH 17/27] update: commented create AVD section --- .github/workflows/ci.yml | 58 +++++++++++++++++++++------------------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d97497190..b5522943f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -112,33 +112,33 @@ jobs: ~/.gradle/wrapper key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/buildSrc/**/*.kt') }} - - name: AVD cache - uses: actions/cache@v4 - id: avd-cache - with: - path: | - ~/.android/avd/* - ~/.android/adb* - key: avd-${{ matrix.api-level }}-${{matrix.profile}} - - - name: create AVD and generate snapshot for caching - if: steps.avd-cache.outputs.cache-hit != 'true' - uses: reactivecircus/android-emulator-runner@v2 - with: - api-level: ${{ matrix.api-level }} - profile: ${{matrix.profile}} - avd-name: Pixel_3a_API_30 - target: default - force-avd-creation: false - emulator-options: > - -no-window - -gpu swiftshader_indirect - -noaudio - -no-boot-anim - -camera-back none - -accel off - disable-animations: false - script: echo "Generated AVD snapshot for caching." + # - name: AVD cache + # uses: actions/cache@v4 + # id: avd-cache + # with: + # path: | + # ~/.android/avd/* + # ~/.android/adb* + # key: avd-${{ matrix.api-level }}-${{matrix.profile}} + + # - name: create AVD and generate snapshot for caching + # if: steps.avd-cache.outputs.cache-hit != 'true' + # uses: reactivecircus/android-emulator-runner@v2 + # with: + # api-level: ${{ matrix.api-level }} + # profile: ${{matrix.profile}} + # avd-name: Pixel_3a_API_30 + # target: default + # force-avd-creation: false + # emulator-options: > + # -no-window + # -gpu swiftshader_indirect + # -noaudio + # -no-boot-anim + # -camera-back none + # -accel off + # disable-animations: false + # script: echo "Generated AVD snapshot for caching." # Workaround for corepack enable in node # Source: (https://github.com/actions/setup-node/issues/899#issuecomment-1828798029) @@ -177,4 +177,6 @@ jobs: -camera-back none -accel off disable-animations: true - script: yarn e2e test:android + script: | + yarn e2e build:android + yarn e2e test:android From 3b98997433166a344406b72448778847a73a44a8 Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Thu, 8 Jan 2026 15:09:58 +0530 Subject: [PATCH 18/27] update: updated target for macos-15 intel runner --- .github/workflows/ci.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b5522943f..18f55c4a2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -167,16 +167,14 @@ jobs: api-level: ${{ matrix.api-level }} profile: ${{matrix.profile}} avd-name: Pixel_3a_API_30 - target: default - force-avd-creation: false + target: google_apis + force-avd-creation: true emulator-options: > -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none - -accel off disable-animations: true script: | - yarn e2e build:android yarn e2e test:android From 4c64f43f810e1da8b5c29d7e1e16c91fc532da31 Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Thu, 8 Jan 2026 15:43:30 +0530 Subject: [PATCH 19/27] fix: added some more config --- .github/workflows/ci.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 18f55c4a2..d88cd0e6a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -169,12 +169,22 @@ jobs: avd-name: Pixel_3a_API_30 target: google_apis force-avd-creation: true + emulator-boot-timeout: 900 emulator-options: > -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none + -wipe-data + -no-snapshot-load + -no-snapshot-save disable-animations: true script: | - yarn e2e test:android + echo "Waiting for Android system services..." + adb wait-for-device + adb shell 'until service list | grep -q package; do sleep 2; done' + adb shell settings put global window_animation_scale 0 + adb shell settings put global transition_animation_scale 0 + adb shell settings put global animator_duration_scale 0 + yarn e2e test:android From 29a3872350fa10c38b6a2afc07891598988d22c1 Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Thu, 8 Jan 2026 16:15:56 +0530 Subject: [PATCH 20/27] update : updated scripts --- .github/workflows/ci.yml | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d88cd0e6a..e89c49f48 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -181,10 +181,19 @@ jobs: -no-snapshot-save disable-animations: true script: | - echo "Waiting for Android system services..." - adb wait-for-device - adb shell 'until service list | grep -q package; do sleep 2; done' - adb shell settings put global window_animation_scale 0 - adb shell settings put global transition_animation_scale 0 - adb shell settings put global animator_duration_scale 0 - yarn e2e test:android + echo "Waiting for Android framework services..." + + adb wait-for-device + + echo "Waiting for package service..." + adb shell 'until service list | grep -q package; do sleep 2; done' + + echo "Waiting for settings service..." + adb shell 'until service list | grep -q settings; do sleep 2; done' + + echo "Disabling animations (best effort)..." + adb shell settings put global window_animation_scale 0 || true + adb shell settings put global transition_animation_scale 0 || true + adb shell settings put global animator_duration_scale 0 || true + + yarn e2e test:android From 56e1b339329d0d9f178329c78b31c6192faf446a Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Thu, 8 Jan 2026 16:44:50 +0530 Subject: [PATCH 21/27] update: updated detox config file --- examples/E2E/.detoxrc.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/E2E/.detoxrc.js b/examples/E2E/.detoxrc.js index 38837acef..2e446f922 100644 --- a/examples/E2E/.detoxrc.js +++ b/examples/E2E/.detoxrc.js @@ -63,7 +63,8 @@ module.exports = { emulator: { type: 'android.emulator', device: { - avdName: process.env.CI ? 'Pixel_3a_API_30' : 'Medium_Phone_API_36.1' + avdName: process.env.CI ? 'Pixel_3a_API_30' : 'Medium_Phone_API_36.1', + disablePermissions: true } } }, From df93813942cf1eb4250d943fcefb42ffec20cee1 Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Thu, 8 Jan 2026 18:09:37 +0530 Subject: [PATCH 22/27] Update: removed unused script from Detox - Test --- .github/workflows/ci.yml | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e89c49f48..2e0215b1d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -181,19 +181,6 @@ jobs: -no-snapshot-save disable-animations: true script: | - echo "Waiting for Android framework services..." - - adb wait-for-device - - echo "Waiting for package service..." - adb shell 'until service list | grep -q package; do sleep 2; done' - - echo "Waiting for settings service..." - adb shell 'until service list | grep -q settings; do sleep 2; done' - - echo "Disabling animations (best effort)..." - adb shell settings put global window_animation_scale 0 || true - adb shell settings put global transition_animation_scale 0 || true - adb shell settings put global animator_duration_scale 0 || true - + export CI=true + export DETOX_CONFIGURATION=android.att.debug yarn e2e test:android From c3dab5489e88ba6602c8e6cf662c9438cad8c5e4 Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Thu, 8 Jan 2026 18:36:06 +0530 Subject: [PATCH 23/27] update: added another permission flag to script --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2e0215b1d..74e5257e3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -183,4 +183,5 @@ jobs: script: | export CI=true export DETOX_CONFIGURATION=android.att.debug + export DETOX_DISABLE_PERMISSIONS=1 yarn e2e test:android From 358dc312bd70e445b89418a96039432aba416fb2 Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Thu, 8 Jan 2026 19:13:49 +0530 Subject: [PATCH 24/27] update: added flag to disable permission --- examples/E2E/.detoxrc.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/E2E/.detoxrc.js b/examples/E2E/.detoxrc.js index 2e446f922..5586b7c33 100644 --- a/examples/E2E/.detoxrc.js +++ b/examples/E2E/.detoxrc.js @@ -57,7 +57,8 @@ module.exports = { attached: { type: 'android.attached', device: { - adbName: '.*' + adbName: '.*', + disablePermissions: true } }, emulator: { From 8367eedde43e593119a3ef140c7a4322a32f3176 Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Thu, 8 Jan 2026 19:55:09 +0530 Subject: [PATCH 25/27] update: reverted changes as issue still persist --- .github/workflows/ci.yml | 61 ++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 33 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 74e5257e3..a0a6d9e78 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -112,33 +112,33 @@ jobs: ~/.gradle/wrapper key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/buildSrc/**/*.kt') }} - # - name: AVD cache - # uses: actions/cache@v4 - # id: avd-cache - # with: - # path: | - # ~/.android/avd/* - # ~/.android/adb* - # key: avd-${{ matrix.api-level }}-${{matrix.profile}} - - # - name: create AVD and generate snapshot for caching - # if: steps.avd-cache.outputs.cache-hit != 'true' - # uses: reactivecircus/android-emulator-runner@v2 - # with: - # api-level: ${{ matrix.api-level }} - # profile: ${{matrix.profile}} - # avd-name: Pixel_3a_API_30 - # target: default - # force-avd-creation: false - # emulator-options: > - # -no-window - # -gpu swiftshader_indirect - # -noaudio - # -no-boot-anim - # -camera-back none - # -accel off - # disable-animations: false - # script: echo "Generated AVD snapshot for caching." + - name: AVD cache + uses: actions/cache@v4 + id: avd-cache + with: + path: | + ~/.android/avd/* + ~/.android/adb* + key: avd-${{ matrix.api-level }}-${{matrix.profile}} + + - name: create AVD and generate snapshot for caching + if: steps.avd-cache.outputs.cache-hit != 'true' + uses: reactivecircus/android-emulator-runner@v2 + with: + api-level: ${{ matrix.api-level }} + profile: ${{matrix.profile}} + avd-name: Pixel_3a_API_30 + target: default + force-avd-creation: false + emulator-options: > + -no-window + -gpu swiftshader_indirect + -noaudio + -no-boot-anim + -camera-back none + -accel off + disable-animations: false + script: echo "Generated AVD snapshot for caching." # Workaround for corepack enable in node # Source: (https://github.com/actions/setup-node/issues/899#issuecomment-1828798029) @@ -176,12 +176,7 @@ jobs: -noaudio -no-boot-anim -camera-back none - -wipe-data - -no-snapshot-load - -no-snapshot-save + -accel off disable-animations: true script: | - export CI=true - export DETOX_CONFIGURATION=android.att.debug - export DETOX_DISABLE_PERMISSIONS=1 yarn e2e test:android From 48580276bdc4cb8077719670272900b6db419c79 Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Thu, 8 Jan 2026 20:02:46 +0530 Subject: [PATCH 26/27] update : added arch for android --- .github/workflows/ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a0a6d9e78..9eef612a0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -128,7 +128,8 @@ jobs: api-level: ${{ matrix.api-level }} profile: ${{matrix.profile}} avd-name: Pixel_3a_API_30 - target: default + target: google_apis + arch: x86 force-avd-creation: false emulator-options: > -no-window @@ -168,6 +169,7 @@ jobs: profile: ${{matrix.profile}} avd-name: Pixel_3a_API_30 target: google_apis + arch: x86 force-avd-creation: true emulator-boot-timeout: 900 emulator-options: > From f1b66c1af611ff2ca75c1ff5d6f7a9a5d79d197c Mon Sep 17 00:00:00 2001 From: Sunita Prajapati Date: Fri, 9 Jan 2026 02:44:25 +0530 Subject: [PATCH 27/27] Update ci.yml --- .github/workflows/ci.yml | 59 ++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9eef612a0..4dd5808f6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -112,34 +112,34 @@ jobs: ~/.gradle/wrapper key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/buildSrc/**/*.kt') }} - - name: AVD cache - uses: actions/cache@v4 - id: avd-cache - with: - path: | - ~/.android/avd/* - ~/.android/adb* - key: avd-${{ matrix.api-level }}-${{matrix.profile}} - - - name: create AVD and generate snapshot for caching - if: steps.avd-cache.outputs.cache-hit != 'true' - uses: reactivecircus/android-emulator-runner@v2 - with: - api-level: ${{ matrix.api-level }} - profile: ${{matrix.profile}} - avd-name: Pixel_3a_API_30 - target: google_apis - arch: x86 - force-avd-creation: false - emulator-options: > - -no-window - -gpu swiftshader_indirect - -noaudio - -no-boot-anim - -camera-back none - -accel off - disable-animations: false - script: echo "Generated AVD snapshot for caching." + # - name: AVD cache + # uses: actions/cache@v4 + # id: avd-cache + # with: + # path: | + # ~/.android/avd/* + # ~/.android/adb* + # key: avd-${{ matrix.api-level }}-${{matrix.profile}} + + # - name: create AVD and generate snapshot for caching + # if: steps.avd-cache.outputs.cache-hit != 'true' + # uses: reactivecircus/android-emulator-runner@v2 + # with: + # api-level: ${{ matrix.api-level }} + # profile: ${{matrix.profile}} + # avd-name: Pixel_3a_API_30 + # target: google_apis + # arch: x86 + # force-avd-creation: false + # emulator-options: > + # -no-window + # -gpu swiftshader_indirect + # -noaudio + # -no-boot-anim + # -camera-back none + # -accel off + # disable-animations: false + # script: echo "Generated AVD snapshot for caching." # Workaround for corepack enable in node # Source: (https://github.com/actions/setup-node/issues/899#issuecomment-1828798029) @@ -178,7 +178,8 @@ jobs: -noaudio -no-boot-anim -camera-back none - -accel off disable-animations: true script: | + adb wait-for-device + adb shell getprop sys.boot_completed yarn e2e test:android