You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+74-1Lines changed: 74 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,8 +61,10 @@ Replace `"<IOS_DEVICE_NAME>"` with your actual iPhone device name.
61
61
./scripts/build-zig-ios.sh && (cd example && ZFH_ENGINE=zig bundle exec pod install --project-directory=ios && ZFH_ENGINE=zig npx react-native run-ios --mode Release --device "<IOS_DEVICE_NAME>")
62
62
```
63
63
64
+
### Local development and rebuilds
65
+
64
66
If you need a full clean rebuild, run `./gradlew clean` (Android) or clean the
65
-
Xcode build folder before repeating the commands above.
67
+
Xcode build folder before repeating the commands in the sections below.
66
68
67
69
The [example app](/example/) demonstrates usage of the library. You need to run it to test any changes you make.
68
70
@@ -124,6 +126,77 @@ Remember to add tests for your change if possible. Run the unit tests by:
124
126
yarn test
125
127
```
126
128
129
+
### Local Maestro smoke runs (Android/iOS, native/zig)
130
+
131
+
Use these commands to run the same Maestro smoke checks locally that CI uses.
132
+
133
+
Notes:
134
+
135
+
- If `maestro` is not installed yet, install it once: `curl -Ls "https://get.maestro.mobile.dev" | bash`
136
+
Then make sure `$HOME/.maestro/bin` is in your `PATH` for the current shell.
137
+
- For Android, set `-PreactNativeArchitectures` to match your local emulator ABI.
138
+
Apple Silicon emulators are usually `arm64-v8a`; GitHub Actions Linux uses `x86_64`.
139
+
- The Android commands below auto-pick the first connected device from `adb devices`.
140
+
If you have more than one device/emulator attached, set `ANDROID_SERIAL` manually before running them.
141
+
- For iOS, always pass `--device "$SIMULATOR_ID"` to Maestro. If Android and iOS devices are both running, Maestro can otherwise pick the wrong device.
0 commit comments