This setup runs one workflow for each platform in one pipeline, following the rules in Mobile jobs.
Add a Bitrise pipeline that runs this project's e2e tests on iOS and Android. Docs: https://e2e.tester.army/docs/ci/bitrise.md and https://e2e.tester.army/docs/ci.md
- Read both pages.
- Add the workflows to
bitrise.yml. Adapt the project paths, scheme, stacks, and Node version to this project. - Ask me to add the model key under Secrets in the Bitrise workflow editor.
- After I start a build, read the build log and fix errors until both workflows pass.
Workflow
Bitrise steps boot the devices: xcode-start-simulator on macOS, and
avd-manager with wait-for-android-emulator on Linux. The Android
workflow starts the emulator before the Gradle build, so it boots while the
APK compiles. A release APK must be signed; the React Native and Expo
templates sign it with the debug keystore.
Artifacts and test reports
deploy-to-bitrise-io uploads only the top level of $BITRISE_DEPLOY_DIR,
so each workflow zips .e2e/ into that directory.
custom-test-results-export sends junit.xml to the Test Reports tab.
These steps also run after a step fails.
Model key
Add the model key under Secrets in the app’s workflow editor. A pull
request build gets it only when Expose for Pull Requests is on, and a
public app’s build never does. Without the key, deterministic tests still
run, but agent judgments and unrecorded agent.act steps fail. See Model credentials.