Skip to content

Commit 2220bdd

Browse files
committed
cleanup
1 parent 528ef7b commit 2220bdd

37 files changed

Lines changed: 2548 additions & 1312 deletions

.flox/env/manifest.lock

Lines changed: 771 additions & 245 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.flox/env/manifest.toml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ fi
2323
[profile]
2424

2525
[include]
26-
environments = [
27-
{ dir = "env/common", name = "common" },
28-
{ dir = "env/nodejs", name = "nodejs" },
29-
{ dir = "env/android/min", name = "android-min" },
30-
{ dir = "env/android/latest", name = "android-latest" },
31-
{ dir = "env/ios/min", name = "ios-min" },
32-
{ dir = "env/ios/latest", name = "ios-latest" }
33-
]
26+
environments = [
27+
{ dir = "env/common", name = "common" },
28+
{ dir = "env/nodejs", name = "nodejs" },
29+
{ dir = "env/android/min", name = "android-min" },
30+
{ dir = "env/android/max", name = "android-max" },
31+
{ dir = "env/ios/min", name = "ios-min" },
32+
{ dir = "env/ios/max", name = "ios-max" }
33+
]
3434

3535

3636
[build]

.github/workflows/ci-e2e-nightly.yml

Lines changed: 64 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,45 @@ concurrency:
1313

1414
jobs:
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"

.github/workflows/ci-e2e-optional.yml

Lines changed: 49 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,37 @@ concurrency:
2222
jobs:
2323
run-e2e-ios:
2424
if: (github.event_name == 'workflow_dispatch' || contains(github.event.pull_request.labels.*.name, 'run-e2e') || github.event_name == 'push') && (github.event.inputs.platforms == 'all' || github.event.inputs.platforms == '' || github.event.inputs.platforms == 'ios' || github.event.inputs.platforms == null)
25-
runs-on: macos-15
25+
runs-on: macos-26
2626
env:
2727
YARN_ENABLE_HARDENED_MODE: 0
2828
strategy:
2929
matrix:
3030
include:
31-
- name: ios-latest
31+
- name: ios-max
3232
ios-device: "iPhone 17"
3333
ios-runtime: "26.1"
34-
simulator-service: ios-simulator-latest
34+
simulator-service: ios-simulator-max
3535
xcode-version: "26.1.1"
36-
device-target: "ios-latest"
36+
device-target: "ios-max"
3737
steps:
3838
- uses: actions/checkout@v4
39+
- name: Resolve platform targets
40+
id: targets
41+
run: |
42+
eval "$(scripts/targets.sh profile ios-max)"
43+
{
44+
echo "IOS_RUNTIME=${IOS_RUNTIME}"
45+
echo "IOS_DEVICE_NAMES=${IOS_DEVICE_NAMES}"
46+
echo "DETOX_IOS_DEVICE=${DETOX_IOS_DEVICE}"
47+
echo "IOS_FLAVOR=${IOS_FLAVOR}"
48+
echo "IOS_TARGET=${IOS_TARGET}"
49+
} >> "$GITHUB_ENV"
50+
{
51+
echo "runtime=${IOS_RUNTIME}"
52+
echo "device=${IOS_DEVICE}"
53+
echo "flavor=${IOS_FLAVOR}"
54+
echo "target=${IOS_TARGET}"
55+
} >> "$GITHUB_OUTPUT"
3956
- name: Yarn cache (E2E)
4057
uses: actions/cache@v4
4158
with:
@@ -71,30 +88,50 @@ jobs:
7188
xcode-version: ${{ matrix.xcode-version }}
7289
- name: Install flox
7390
uses: flox/install-flox-action@v2.2.0
91+
- name: Prepare iOS runtime (no boot)
92+
run: |
93+
flox activate -d env/ios/max -- bash -lc 'IOS_PREPARE_ONLY=1 IOS_DOWNLOAD_RUNTIME=1 scripts/ios.sh start'
7494
- name: iOS E2E Tests
7595
run: |
76-
flox activate -d env/ios/latest -- bash -lc "yarn e2e:ios"
96+
flox activate -d env/ios/max -- bash -lc "yarn e2e:ios"
7797
7898
run-e2e-android:
7999
if: (github.event_name == 'workflow_dispatch' || contains(github.event.pull_request.labels.*.name, 'run-e2e') || github.event_name == 'push') && (github.event.inputs.platforms == 'all' || github.event.inputs.platforms == '' || github.event.inputs.platforms == 'android' || github.event.inputs.platforms == null)
80100
continue-on-error: true
81-
runs-on: ubuntu-22.04
101+
runs-on: ubuntu-24.04-arm
82102
strategy:
83103
matrix:
84104
include:
85-
- name: android-latest
105+
- name: android-max
86106
avd-name: medium_phone_API33_x86_64
87107
system-image: "system-images;android-33;google_apis;x86_64"
88-
emulator-service: android-emulator-latest
89-
device-target: "android-latest"
108+
emulator-service: android-emulator-max
109+
device-target: "android-max"
90110
steps:
91111
- uses: actions/checkout@v4
112+
- name: Resolve platform targets
113+
id: android_targets
114+
run: |
115+
eval "$(scripts/targets.sh profile android-max)"
116+
{
117+
echo "ANDROID_API=${ANDROID_API}"
118+
echo "DETOX_AVD=${DETOX_AVD}"
119+
echo "AVD_FLAVOR=${AVD_FLAVOR}"
120+
echo "ANDROID_TARGET=${ANDROID_TARGET}"
121+
} >> "$GITHUB_ENV"
122+
{
123+
echo "api=${ANDROID_API}"
124+
echo "avd=${DETOX_AVD}"
125+
echo "flavor=${AVD_FLAVOR}"
126+
echo "target=${ANDROID_TARGET}"
127+
} >> "$GITHUB_OUTPUT"
92128
- name: Free Disk Space (Ubuntu)
93129
uses: jlumbroso/free-disk-space@v1.3.1
94130
- name: Install flox
95131
uses: flox/install-flox-action@v2.2.0
96-
- name: Start Android emulator
97-
run: flox services start ${{ matrix.emulator-service }}
132+
- name: Prepare Android image (no boot)
133+
run: |
134+
flox activate -d env/android/max -- bash -lc 'AVD_PREPARE_ONLY=1 scripts/android.sh start'
98135
- name: Android E2E Tests
99136
run: |
100-
flox activate -d env/android/latest -- bash -lc "set -euo pipefail; yarn e2e:android"
137+
flox activate -d env/android/max -- bash -lc "set -euo pipefail; yarn e2e:android"

env/android/.flox/env/manifest.lock

Lines changed: 10 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

env/android/.flox/env/manifest.toml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ version = 1
44
[vars]
55
ANDROID_AVD_MIN = "pixel_API21_x86_64"
66
ANDROID_SYSTEM_IMAGE_MIN = "system-images;android-21;google_apis;x86_64"
7-
ANDROID_AVD_LATEST_X86 = "medium_phone_API33_x86_64"
8-
ANDROID_SYSTEM_IMAGE_LATEST_X86 = "system-images;android-33;google_apis;x86_64"
9-
ANDROID_AVD_LATEST_ARM = "medium_phone_API33_arm64_v8a"
10-
ANDROID_SYSTEM_IMAGE_LATEST_ARM = "system-images;android-33;google_apis;arm64-v8a"
7+
ANDROID_AVD_MAX_X86 = "medium_phone_API33_x86_64"
8+
ANDROID_SYSTEM_IMAGE_MAX_X86 = "system-images;android-33;google_apis;x86_64"
9+
ANDROID_AVD_MAX_ARM = "medium_phone_API33_arm64_v8a"
10+
ANDROID_SYSTEM_IMAGE_MAX_ARM = "system-images;android-33;google_apis;arm64-v8a"
1111
ANDROID_EMULATOR_FLAGS = "-no-boot-anim -netdelay none -netspeed full -no-snapshot"
1212
ANDROID_EMULATOR_HEADLESS_FLAGS = "-no-window -no-audio -gpu swiftshader_indirect"
1313
[hook]
@@ -17,18 +17,18 @@ ANDROID_EMULATOR_HEADLESS_FLAGS = "-no-window -no-audio -gpu swiftshader_indirec
1717
if [ -z "${DETOX_AVD:-}" ]; then
1818
arch="$(uname -m)"
1919
if [ "$arch" = "arm64" ] || [ "$arch" = "aarch64" ]; then
20-
export DETOX_AVD="${ANDROID_AVD_LATEST_ARM:-medium_phone_API33_arm64_v8a}"
20+
export DETOX_AVD="${ANDROID_AVD_MAX_ARM:-medium_phone_API33_arm64_v8a}"
2121
else
22-
export DETOX_AVD="${ANDROID_AVD_LATEST_X86:-medium_phone_API33_x86_64}"
22+
export DETOX_AVD="${ANDROID_AVD_MAX_X86:-medium_phone_API33_x86_64}"
2323
fi
2424
fi
25-
'''
25+
'''
2626
[profile]
2727
[services]
2828
[include]
2929
environments = [
3030
{ dir = "./android-common" },
31-
{ dir = "./latest" },
31+
{ dir = "./max" },
3232
{ dir = "./min" },
3333
]
3434
[build]

0 commit comments

Comments
 (0)