Skip to content

Commit 140c457

Browse files
authored
Devbox & CI Fixes (#1113)
* Squashed the horror story of a commit history
1 parent 24e1741 commit 140c457

36 files changed

Lines changed: 1778 additions & 370 deletions

.envrc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/bash
2+
3+
# Automatically sets up your devbox environment whenever you cd into this
4+
# directory via our direnv integration:
5+
6+
eval "$(devbox generate direnv --print-envrc)"
7+
8+
# check out https://www.jetpack.io/devbox/docs/ide_configuration/direnv/
9+
# for more details
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
name: E2E (Nightly)
2+
3+
on:
4+
schedule:
5+
- cron: '0 6 * * *'
6+
workflow_dispatch:
7+
8+
concurrency:
9+
group: e2e-nightly-${{ github.ref }}
10+
cancel-in-progress: false
11+
12+
jobs:
13+
run-e2e-ios:
14+
runs-on: macos-26
15+
env:
16+
YARN_ENABLE_HARDENED_MODE: 0
17+
XCODE_VERSION: '26.2'
18+
strategy:
19+
matrix:
20+
include:
21+
- name: ios-min
22+
- name: ios-latest
23+
steps:
24+
- uses: actions/checkout@v4
25+
- name: Aggressive disk cleanup (macOS)
26+
run: |
27+
sudo rm -rf /usr/share/dotnet
28+
sudo rm -rf /opt/ghc
29+
sudo rm -rf "/usr/local/share/boost"
30+
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
31+
sudo rm -rf /Applications/Android\ Studio.app
32+
sudo rm -rf /usr/local/share/miniconda
33+
sudo rm -rf /opt/homebrew
34+
sudo rm -rf "$HOME/Library/Android"
35+
sudo rm -rf "$HOME/.gradle"
36+
sudo rm -rf "$HOME/Library/Developer/CoreSimulator/Devices"
37+
sudo rm -rf "$HOME/Library/Developer/Xcode/DerivedData"
38+
df -H
39+
- uses: maxim-lobanov/setup-xcode@v1
40+
with:
41+
xcode-version: '26.2'
42+
- name: devbox installer
43+
uses: jetify-com/devbox-install-action@v0.14.0
44+
with:
45+
enable-cache: 'false'
46+
- name: Resolve iOS targets
47+
run: |
48+
. scripts/platform-versions.sh
49+
if [ "${{ matrix.name }}" = "ios-min" ]; then
50+
echo "DETOX_IOS_DEVICE=${PLATFORM_IOS_MIN_DEVICE}" >> "$GITHUB_ENV"
51+
echo "IOS_RUNTIME=${PLATFORM_IOS_MIN_RUNTIME}" >> "$GITHUB_ENV"
52+
else
53+
echo "DETOX_IOS_DEVICE=${PLATFORM_IOS_MAX_DEVICE}" >> "$GITHUB_ENV"
54+
echo "IOS_RUNTIME=${PLATFORM_IOS_MAX_RUNTIME}" >> "$GITHUB_ENV"
55+
fi
56+
- name: iOS E2E Tests
57+
run: devbox shell --omit-nix-env -- devbox run test-ios
58+
59+
run-e2e-android:
60+
runs-on: ubuntu-24.04-arm
61+
env:
62+
EMU_HEADLESS: 1
63+
strategy:
64+
matrix:
65+
include:
66+
- name: android-min
67+
target: min
68+
- name: android-latest
69+
target: max
70+
steps:
71+
- uses: actions/checkout@v4
72+
- name: Aggressive disk cleanup (Ubuntu)
73+
run: |
74+
sudo rm -rf /usr/share/dotnet
75+
sudo rm -rf /opt/ghc
76+
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
77+
sudo rm -rf /opt/hostedtoolcache/CodeQL
78+
sudo rm -rf /usr/local/lib/android
79+
sudo rm -rf /usr/local/lib/node_modules
80+
sudo rm -rf /usr/local/share/boost
81+
sudo rm -rf /usr/local/share/chromium
82+
sudo rm -rf /usr/local/share/powershell
83+
sudo rm -rf /usr/local/share/edge_driver
84+
sudo rm -rf /usr/local/share/gecko_driver
85+
sudo rm -rf /usr/local/share/phantomjs
86+
sudo rm -rf "$HOME/.cache"
87+
df -H
88+
- name: devbox installer
89+
uses: jetify-com/devbox-install-action@v0.14.0
90+
with:
91+
enable-cache: 'false'
92+
- name: Resolve Android targets
93+
run: |
94+
. scripts/platform-versions.sh
95+
if [ "${{ matrix.target }}" = "min" ]; then
96+
api="$PLATFORM_ANDROID_MIN_API"
97+
device="$PLATFORM_ANDROID_MIN_DEVICE"
98+
else
99+
api="$PLATFORM_ANDROID_MAX_API"
100+
device="$PLATFORM_ANDROID_MAX_DEVICE"
101+
fi
102+
avd_name="${device}_API${api}_arm64_v8a"
103+
echo "DETOX_AVD=${avd_name}" >> "$GITHUB_ENV"
104+
- name: Android E2E Tests
105+
run: devbox run test-android
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: E2E (On-Demand)
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches: [ci2]
7+
8+
concurrency:
9+
group: e2e-optional-${{ github.ref }}
10+
cancel-in-progress: false
11+
12+
jobs:
13+
run-e2e-ios:
14+
runs-on: macos-26
15+
env:
16+
YARN_ENABLE_HARDENED_MODE: 0
17+
XCODE_VERSION: '26.2'
18+
steps:
19+
- uses: actions/checkout@v4
20+
- name: Aggressive disk cleanup (macOS)
21+
run: |
22+
sudo rm -rf /usr/share/dotnet
23+
sudo rm -rf /opt/ghc
24+
sudo rm -rf "/usr/local/share/boost"
25+
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
26+
sudo rm -rf /Applications/Android\ Studio.app
27+
sudo rm -rf /usr/local/share/miniconda
28+
sudo rm -rf /opt/homebrew
29+
sudo rm -rf "$HOME/Library/Android"
30+
sudo rm -rf "$HOME/.gradle"
31+
sudo rm -rf "$HOME/Library/Developer/CoreSimulator/Devices"
32+
sudo rm -rf "$HOME/Library/Developer/Xcode/DerivedData"
33+
df -H
34+
- uses: maxim-lobanov/setup-xcode@v1
35+
with:
36+
xcode-version: '26.2'
37+
- name: devbox installer
38+
uses: jetify-com/devbox-install-action@v0.14.0
39+
with:
40+
enable-cache: 'false'
41+
- name: Resolve iOS targets
42+
run: |
43+
. scripts/platform-versions.sh
44+
echo "DETOX_IOS_DEVICE=${PLATFORM_IOS_MAX_DEVICE}" >> "$GITHUB_ENV"
45+
echo "IOS_RUNTIME=${PLATFORM_IOS_MAX_RUNTIME}" >> "$GITHUB_ENV"
46+
- name: iOS E2E Tests (latest)
47+
run: devbox shell --omit-nix-env -- devbox run test-ios
48+
49+
run-e2e-android:
50+
runs-on: ubuntu-24.04-arm
51+
env:
52+
EMU_HEADLESS: 1
53+
steps:
54+
- uses: actions/checkout@v4
55+
- name: Aggressive disk cleanup (Ubuntu)
56+
run: |
57+
sudo rm -rf /usr/share/dotnet
58+
sudo rm -rf /opt/ghc
59+
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
60+
sudo rm -rf /opt/hostedtoolcache/CodeQL
61+
sudo rm -rf /usr/local/lib/android
62+
sudo rm -rf /usr/local/lib/node_modules
63+
sudo rm -rf /usr/local/share/boost
64+
sudo rm -rf /usr/local/share/chromium
65+
sudo rm -rf /usr/local/share/powershell
66+
sudo rm -rf /usr/local/share/edge_driver
67+
sudo rm -rf /usr/local/share/gecko_driver
68+
sudo rm -rf /usr/local/share/phantomjs
69+
sudo rm -rf "$HOME/.cache"
70+
df -H
71+
- name: devbox installer
72+
uses: jetify-com/devbox-install-action@v0.14.0
73+
with:
74+
enable-cache: 'false'
75+
- name: Resolve Android targets
76+
run: |
77+
. scripts/platform-versions.sh
78+
api="$PLATFORM_ANDROID_MAX_API"
79+
device="$PLATFORM_ANDROID_MAX_DEVICE"
80+
avd_name="${device}_API${api}_arm64_v8a"
81+
echo "DETOX_AVD=${avd_name}" >> "$GITHUB_ENV"
82+
- name: Android E2E Tests (latest)
83+
run: devbox run test-android

.github/workflows/ci-fast.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: CI Fast
2+
3+
on:
4+
push:
5+
branches: [master, beta]
6+
pull_request:
7+
branches: [master, beta]
8+
9+
concurrency:
10+
group: ci-fast-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
build-and-test:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v4
18+
- name: Aggressive disk cleanup (Ubuntu)
19+
run: |
20+
sudo rm -rf /usr/share/dotnet
21+
sudo rm -rf /opt/ghc
22+
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
23+
sudo rm -rf /opt/hostedtoolcache/CodeQL
24+
sudo rm -rf /usr/local/lib/android
25+
sudo rm -rf /usr/local/lib/node_modules
26+
sudo rm -rf /usr/local/share/boost
27+
sudo rm -rf /usr/local/share/chromium
28+
sudo rm -rf /usr/local/share/powershell
29+
sudo rm -rf /usr/local/share/edge_driver
30+
sudo rm -rf /usr/local/share/gecko_driver
31+
sudo rm -rf /usr/local/share/phantomjs
32+
sudo rm -rf "$HOME/.cache"
33+
df -H
34+
- name: Free Disk Space (Ubuntu)
35+
uses: jlumbroso/free-disk-space@v1.3.1
36+
- name: devbox installer
37+
uses: jetify-com/devbox-install-action@v0.14.0
38+
with:
39+
enable-cache: 'false'
40+
- name: build
41+
run: devbox run build

0 commit comments

Comments
 (0)