-
Notifications
You must be signed in to change notification settings - Fork 7
BareExampleApp: Upgrade RN to 0.80. Use RNEF. Fix stability issues #71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 7 commits
0ba2d19
bbbdd5a
ed98fbd
dec81f9
61db889
13257ad
09a22f7
bd5985e
4cf49f7
1e08b5c
5e3897b
1b3b071
d19a2c6
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -29,18 +29,60 @@ concurrency: | |
cancel-in-progress: true | ||
|
||
jobs: | ||
e2e-ios: | ||
build-release: | ||
runs-on: macos-15 | ||
outputs: | ||
artifact-id: ${{ steps.rnef-remote-build-ios.outputs.artifact-id }} | ||
artifact-url: ${{ steps.rnef-remote-build-ios.outputs.artifact-url }} | ||
|
||
steps: | ||
- name: Checkout Repo | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Setup | ||
uses: ./.github/actions/setup | ||
|
||
- name: Run generate:legal from bare-example | ||
run: yarn workspace react-native-legal-bare-example generate:legal | ||
shell: bash | ||
|
||
- name: Build iOS | ||
id: rnef-remote-build-ios | ||
uses: callstackincubator/ios@v1 | ||
with: | ||
destination: 'simulator' | ||
scheme: 'ReactNativeLegalBareExample' | ||
configuration: 'Release' | ||
github-token: ${{ secrets.GITHUB_TOKEN }} | ||
working-directory: ./examples/bare-example | ||
comment-bot: false | ||
|
||
run-e2e-tests: | ||
runs-on: macos-15 | ||
needs: build-release | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
simulator: ['iPhone 16 Pro (18.5)', 'iPhone SE (3rd generation) (18.0)'] | ||
simulator: ['iPhone 16 Pro', 'iPhone SE (3rd generation)'] | ||
|
||
steps: | ||
- name: Checkout Repo | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Download and Unpack APK artifact | ||
run: | | ||
curl -L -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -o artifact.zip "https://api.github.com/repos/${{ github.repository }}/actions/artifacts/${{ needs.build-release.outputs.artifact-id }}/zip" | ||
unzip artifact.zip -d downloaded-artifacts | ||
tar zxf downloaded-artifacts/app.tar.gz -C downloaded-artifacts | ||
ls -l downloaded-artifacts | ||
APP_PATH=$(pwd)/$(find downloaded-artifacts -name "*.app" -print -quit) | ||
echo "ARTIFACT_PATH_FOR_E2E=$APP_PATH" >> $GITHUB_ENV | ||
shell: bash | ||
|
||
|
||
- name: Setup | ||
uses: ./.github/actions/setup | ||
|
||
|
@@ -49,38 +91,13 @@ jobs: | |
with: | ||
target-platform: ios | ||
|
||
- name: Install example dependencies | ||
run: yarn workspace react-native-legal-bare-example install --frozen-lockfile --immutable | ||
|
||
- name: Cache Pods | ||
id: cache-pods | ||
uses: actions/cache@v4 | ||
env: | ||
cache-name: cached-ios-pods-deps | ||
with: | ||
path: examples/bare-example/ios/Pods | ||
key: bare-example-pods | ||
|
||
- name: Cache Build | ||
id: cache-build | ||
uses: actions/cache@v4 | ||
env: | ||
cache-name: cached-ios-build | ||
with: | ||
path: examples/bare-example/ios/build | ||
key: bare-example-ios-build | ||
|
||
- name: Install example Pods | ||
run: yarn workspace react-native-legal-bare-example pods | ||
|
||
- name: Bundle app | ||
run: yarn workspace react-native-legal-bare-example build:ios | ||
|
||
- name: List simulators | ||
run: xcrun simctl list | ||
|
||
- name: Build iOS App | ||
run: yarn workspace react-native-legal-bare-example ios:release --simulator="${{ matrix.simulator }}" | ||
- name: Install on simulator | ||
run: | | ||
cd examples/bare-example | ||
npx rnef run:ios --binary-path "$ARTIFACT_PATH_FOR_E2E" --device "${{ matrix.simulator }}" --local | ||
|
||
- name: Run tests | ||
run: yarn workspace react-native-legal-bare-example e2e:ios | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this workaround done, because RNEF does not invoke codegen when building native part?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tested it with and without RNEF. I spent some time fighting this bug, and @artus9033 helped me with it. It started working with this script before the build. Without it, it breaks. The build. My plan was to commit it with a workaround and then try to fix this bug in a separate context.