@@ -13,26 +13,45 @@ concurrency:
1313
1414jobs :
1515 run-e2e-ios :
16- runs-on : macos-15
16+ runs-on : macos-26
1717 env :
1818 YARN_ENABLE_HARDENED_MODE : 0
1919 strategy :
2020 matrix :
2121 include :
2222 - name : ios-min
23- ios-device : " iPhone 14 "
24- ios-runtime : " 18.5 "
23+ ios-device : " iPhone 13 "
24+ ios-runtime : " 15.0 "
2525 simulator-service : ios-simulator-min
26- xcode-version : " 16 .1"
26+ xcode-version : " 26.1 .1"
2727 device-target : " ios-min"
28- - name : ios-latest
28+ - name : ios-max
2929 ios-device : " iPhone 17"
3030 ios-runtime : " 26.1"
31- simulator-service : ios-simulator-latest
31+ simulator-service : ios-simulator-max
3232 xcode-version : " 26.1.1"
33- device-target : " ios-latest "
33+ device-target : " ios-max "
3434 steps :
3535 - uses : actions/checkout@v4
36+ - name : Resolve platform targets
37+ id : targets
38+ run : |
39+ profile="ios-max"
40+ if [ "${{ matrix.name }}" = "ios-min" ]; then profile="ios-min"; fi
41+ eval "$(scripts/targets.sh profile "$profile")"
42+ {
43+ echo "IOS_RUNTIME=${IOS_RUNTIME}"
44+ echo "IOS_DEVICE_NAMES=${IOS_DEVICE_NAMES}"
45+ echo "DETOX_IOS_DEVICE=${DETOX_IOS_DEVICE}"
46+ echo "IOS_FLAVOR=${IOS_FLAVOR}"
47+ echo "IOS_TARGET=${IOS_TARGET}"
48+ } >> "$GITHUB_ENV"
49+ {
50+ echo "runtime=${IOS_RUNTIME}"
51+ echo "device=${IOS_DEVICE}"
52+ echo "flavor=${IOS_FLAVOR}"
53+ echo "target=${IOS_TARGET}"
54+ } >> "$GITHUB_OUTPUT"
3655 - name : Yarn cache (E2E)
3756 uses : actions/cache@v4
3857 with :
@@ -68,13 +87,20 @@ jobs:
6887 xcode-version : ${{ matrix.xcode-version }}
6988 - name : Install flox
7089 uses : flox/install-flox-action@v2.2.0
90+ - name : Prepare iOS runtime (no boot)
91+ run : |
92+ env_dir="env/ios/max"
93+ if [ "${{ matrix.name }}" = "ios-min" ]; then env_dir="env/ios/min"; fi
94+ flox activate -d "$env_dir" -- bash -lc 'IOS_PREPARE_ONLY=1 IOS_DOWNLOAD_RUNTIME=1 scripts/ios.sh start'
7195 - name : iOS E2E Tests
7296 run : |
73- flox activate -d env/ios/latest -- bash -lc "yarn e2e:ios"
97+ env_dir="env/ios/max"
98+ if [ "${{ matrix.name }}" = "ios-min" ]; then env_dir="env/ios/min"; fi
99+ flox activate -d "$env_dir" -- bash -lc "yarn e2e:ios"
74100
75101 run-e2e-android :
76102 continue-on-error : true
77- runs-on : ubuntu-22 .04
103+ runs-on : ubuntu-24 .04-arm
78104 strategy :
79105 matrix :
80106 include :
@@ -83,19 +109,42 @@ jobs:
83109 system-image : " system-images;android-21;google_apis;x86_64"
84110 emulator-service : android-emulator-min
85111 device-target : " android-min"
86- - name : android-latest
112+ - name : android-max
87113 avd-name : medium_phone_API33_x86_64
88114 system-image : " system-images;android-33;google_apis;x86_64"
89- emulator-service : android-emulator-latest
90- device-target : " android-latest "
115+ emulator-service : android-emulator-max
116+ device-target : " android-max "
91117 steps :
92118 - uses : actions/checkout@v4
119+ - name : Resolve platform targets
120+ id : android_targets
121+ run : |
122+ profile="android-max"
123+ if [ "${{ matrix.name }}" = "android-min" ]; then profile="android-min"; fi
124+ eval "$(scripts/targets.sh profile "$profile")"
125+ {
126+ echo "ANDROID_API=${ANDROID_API}"
127+ echo "DETOX_AVD=${DETOX_AVD}"
128+ echo "AVD_FLAVOR=${AVD_FLAVOR}"
129+ echo "ANDROID_TARGET=${ANDROID_TARGET}"
130+ } >> "$GITHUB_ENV"
131+ {
132+ echo "api=${ANDROID_API}"
133+ echo "avd=${DETOX_AVD}"
134+ echo "flavor=${AVD_FLAVOR}"
135+ echo "target=${ANDROID_TARGET}"
136+ } >> "$GITHUB_OUTPUT"
93137 - name : Free Disk Space (Ubuntu)
94138 uses : jlumbroso/free-disk-space@v1.3.1
95139 - name : Install flox
96140 uses : flox/install-flox-action@v2.2.0
97- - name : Start Android emulator
98- run : flox services start ${{ matrix.emulator-service }}
141+ - name : Prepare Android image (no boot)
142+ run : |
143+ env_dir="env/android/max"
144+ if [ "${{ matrix.name }}" = "android-min" ]; then env_dir="env/android/min"; fi
145+ flox activate -d "$env_dir" -- bash -lc 'AVD_PREPARE_ONLY=1 scripts/android.sh start'
99146 - name : Android E2E Tests
100147 run : |
101- flox activate -d env/android/latest -- bash -lc "set -euo pipefail; yarn e2e:android"
148+ env_dir="env/android/max"
149+ if [ "${{ matrix.name }}" = "android-min" ]; then env_dir="env/android/min"; fi
150+ flox activate -d "$env_dir" -- bash -lc "set -euo pipefail; yarn e2e:android"
0 commit comments