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: e2e/BITRISE.md
+6-1Lines changed: 6 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -60,6 +60,7 @@ The non-secret E2E defaults are defined in `e2e/bitrise.yml` under `app.envs`. D
60
60
|`E2E_BROWSERSTACK_POLL_SECONDS`|`30`| BrowserStack status polling interval. |
61
61
|`E2E_IOS_EXPORT_METHOD`|`development`| Export method for the React Native iOS IPA. |
62
62
|`E2E_ANDROID_COMMAND_TIMEOUT_SECONDS`|`1800`| Per-command timeout for React Native Android artifact commands. |
63
+
|`E2E_IOS_COMMAND_TIMEOUT_SECONDS`|`1800`| Per-command timeout for React Native iOS dependency, CocoaPods, archive, and export commands. |
63
64
|`E2E_PACKAGE_COMMAND_TIMEOUT_SECONDS`|`300`| Per-command timeout for package-suite matrix and suite commands. |
64
65
|`E2E_RUBY_INSTALL_TIMEOUT_SECONDS`|`1800`| Timeout for installing the exact repository Ruby version from `.ruby-version`. |
65
66
@@ -87,7 +88,11 @@ Configure the Bitrise app to run the `e2e` pipeline for pull requests once the s
87
88
88
89
## Code signing
89
90
90
-
React Native iOS IPA generation is added in a later phase and will require Bitrise iOS code signing setup for the sample app.
91
+
React Native iOS IPA generation uses Bitrise's certificate and profile installer before running `xcodebuild archive` and `xcodebuild -exportArchive`.
92
+
93
+
The React Native iOS artifact workflow overrides the default Linux stack and runs on `osx-xcode-26.0.x-edge` with `g2.mac.4large`, because it requires Xcode and iOS signing. Its cache keys are prefixed with `rn-ios-macos-` so macOS caches cannot restore Linux-built dependencies.
94
+
95
+
Upload the required signing certificate and provisioning profile for the React Native sample app to the Bitrise app before running the iOS artifact workflow.
: "${STOREFRONT_DOMAIN:?STOREFRONT_DOMAIN is required. Check https://app.bitrise.io/app/f51f9054-053e-40f1-81e9-ae727567ae76/workflow_editor#!/secrets and enable Expose for pull requests.}"
88
+
: "${STOREFRONT_ACCESS_TOKEN:?STOREFRONT_ACCESS_TOKEN is required. Check https://app.bitrise.io/app/f51f9054-053e-40f1-81e9-ae727567ae76/workflow_editor#!/secrets and enable Expose for pull requests.}"
echo "Check Bitrise code signing assets for bundle id com.shopify.checkoutkit.reactnativedemo and team A7XGC83MZE." >&2
132
+
echo "Upload an Apple Development certificate and matching development provisioning profile at https://app.bitrise.io/app/f51f9054-053e-40f1-81e9-ae727567ae76/workflow_editor#!/code_signing." >&2
133
+
echo "The e2e-build-react-native-ios workflow runs certificate-and-profile-installer before xcodebuild." >&2
134
+
exit 1
135
+
fi
136
+
e2e_log "Exporting React Native iOS IPA"
137
+
if ! e2e_run_with_timeout "${E2E_IOS_COMMAND_TIMEOUT_SECONDS:-1800}" xcodebuild -exportArchive \
138
+
-archivePath "$archive_path" \
139
+
-exportPath "$export_path" \
140
+
-exportOptionsPlist "$export_options"; then
141
+
e2e_log "iOS IPA export failed"
142
+
echo "Check that the installed provisioning profile matches export method ${export_method}." >&2
0 commit comments