Skip to content

Commit

Permalink
fix: Installation of Reanimated from commit on CI (#6635)
Browse files Browse the repository at this point in the history
## Summary

Turns out installing from commit didn't work well and CI often times
didn't check what it was supposed to test.

Failing V8 CI is good now, since it fails on actual compilation steps.

## Test plan

🚀
  • Loading branch information
tjzel authored Oct 29, 2024
1 parent 254a737 commit 651bb21
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 22 deletions.
30 changes: 22 additions & 8 deletions .github/workflows/V8-reanimated-build-check-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ jobs:
concurrency:
group: build-v8-${{ github.ref }}
cancel-in-progress: true
env:
APP_NAME: app
LATEST_SUPPORTED_RN_VERSION_IN_V8: 0.75
steps:
- name: Check out
uses: actions/checkout@v4
Expand All @@ -28,19 +31,30 @@ jobs:
with:
distribution: 'zulu'
java-version: '17'
- name: Create React Native app
run: npx react-native init app
- name:
Setup Yarn
# Sometimes `npx react-native init` fails due to dependency mismatches or other
# rather vague errors. This is a workaround for that.
run: corepack enable && yarn init
- name: Install React Native
run: yarn add react-native
- name: Create app
run: |
yarn react-native init ${{ env.APP_NAME }} --version ${{env.LATEST_SUPPORTED_RN_VERSION_IN_V8}} --skip-install --pm yarn --skip-install --install-pods false --skip-git-init
- name: Setup Yarn Modern
working-directory: ${{ env.APP_NAME }}
run: touch yarn.lock && yarn set version berry && yarn config set nodeLinker node-modules
- name: Install dependencies
working-directory: app
working-directory: ${{ env.APP_NAME }}
run: yarn install
- name: Install Reanimated
working-directory: app
run: yarn add react-native-reanimated@https://github.com/software-mansion/react-native-reanimated.git#commit=${{ github.sha }}
working-directory: ${{ env.APP_NAME }}
run: yarn add "react-native-reanimated@https://github.com/software-mansion/react-native-reanimated.git#workspace=react-native-reanimated&commit=${{ github.sha }}"
- name: Install test dependencies
working-directory: app
working-directory: ${{ env.APP_NAME }}
run: yarn add react-native-v8 v8-android-jit
- name: Configure V8
run: node reanimated_repo/.github/workflows/helper/configureV8.js
- name: Build Android app
working-directory: app/android
- name: Build Android
working-directory: ${{ env.APP_NAME }}/android
run: ./gradlew assembleDebug --console=plain
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: React Native nightly Reanimated build check [Nightly]
env:
YARN_ENABLE_HARDENED_MODE: 0
YARN_ENABLE_IMMUTABLE_INSTALLS: 0
on:
pull_request:
paths:
Expand Down Expand Up @@ -46,19 +46,19 @@ jobs:
- name: Create app
run: |
yarn react-native init ${{ env.APP_NAME }} --version ${{ env.REACT_NATIVE_TAG }} --pm yarn --skip-install --install-pods false --skip-git-init
- name: Add yarn.lock in app
- name: Setup Yarn Modern
working-directory: ${{ env.APP_NAME }}
run: touch yarn.lock
run: touch yarn.lock && yarn set version berry
- name: Install Reanimated
working-directory: ${{ env.APP_NAME }}
run: yarn add react-native-reanimated@https://github.com/software-mansion/react-native-reanimated.git#commit=${{ github.sha }}
run: yarn add "react-native-reanimated@https://github.com/software-mansion/react-native-reanimated.git#workspace=react-native-reanimated&commit=${{ github.sha }}"
- name: Install Paper Pods (iOS)
if: ${{ matrix.react-native-architecture == 'Paper' && matrix.platform == 'iOS' }}
working-directory: app/ios
working-directory: ${{ env.APP_NAME }}/ios
run: bundle install && bundle exec pod install
- name: Install Fabric Pods (iOS)
if: ${{ matrix.react-native-architecture == 'Fabric' && matrix.platform == 'iOS' }}
working-directory: app/ios
working-directory: ${{ env.APP_NAME }}/ios
run: RCT_NEW_ARCH_ENABLED=1 bundle install && bundle exec pod install
- name: Setup Fabric (Android)
if: ${{ matrix.react-native-architecture == 'Fabric' && matrix.platform == 'Android' }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ jobs:
run: corepack enable && yarn set version berry
- name: Install Reanimated
working-directory: ${{ env.APP_NAME }}
run: yarn add react-native-reanimated@https://github.com/software-mansion/react-native-reanimated.git#commit=${{ github.sha }}
run: yarn add "react-native-reanimated@https://github.com/software-mansion/react-native-reanimated.git#workspace=react-native-reanimated&commit=${{ github.sha }}"
- name: Install Pods
if: ${{ matrix.platform == 'iOS' }}
working-directory: ${{ env.APP_NAME }}/ios
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
run: npx react-native init app
- name: Install Reanimated
working-directory: app
run: yarn add react-native-reanimated@https://github.com/software-mansion/react-native-reanimated.git#commit=${{ github.sha }}
run: yarn add "react-native-reanimated@https://github.com/software-mansion/react-native-reanimated.git#workspace=react-native-reanimated&commit=${{ github.sha }}"
- name: Install Paper Pods
if: ${{ matrix.react-native-architecture == 'Paper' }}
working-directory: app/ios
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,20 +17,31 @@ jobs:
concurrency:
group: build-on-windows-${{ github.ref }}
cancel-in-progress: true
env:
APP_NAME: app
steps:
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- name: Create React Native App
run: npx react-native init app
- name: Setup Yarn
# Sometimes `npx react-native init` fails due to dependency mismatches or other
# rather vague errors. This is a workaround for that.
run: corepack enable && yarn init --yes
- name: Install React Native
run: yarn add @react-native-community/cli
- name: Create app
run: yarn rnc-cli init ${{ env.APP_NAME }} --pm yarn --skip-install --install-pods false --skip-git-init
- name: Setup Yarn Modern
working-directory: ${{ env.APP_NAME }}
run: touch yarn.lock && yarn set version berry
- name: Install dependencies
working-directory: app
working-directory: ${{ env.APP_NAME }}
run: yarn
- name: Install Reanimated
working-directory: app
run: yarn add react-native-reanimated@https://github.com/software-mansion/react-native-reanimated.git#commit=${{ github.sha }}
working-directory: ${{ env.APP_NAME }}
run: yarn add "react-native-reanimated@https://github.com/software-mansion/react-native-reanimated.git#workspace=react-native-reanimated&commit=${{ github.sha }}"
- name: Build Android App
working-directory: app/android
working-directory: ${{ env.APP_NAME }}/android
run: ./gradlew assembleDebug --console=plain

0 comments on commit 651bb21

Please sign in to comment.