Skip to content

Use next version of expo-dev-client in CI only if available #2

Use next version of expo-dev-client in CI only if available

Use next version of expo-dev-client in CI only if available #2

name: Check Expo dev-client nightly build
on:
pull_request:
paths:
- .github/workflows/check-expo-dev-client-action.yml
- .github/workflows/check-expo-dev-client-nightly.yml
- .github/workflows/helper/configureDevClient.js
workflow_dispatch:
inputs:
expo-dev-client-dist-tag:
required: true
type: string
env:
SCRIPT_PATH: reanimated_repo/.github/workflows/helper/configureDevClient.js
jobs:
build_ios:
if: github.repository == 'software-mansion/react-native-reanimated'
runs-on: macos-12
strategy:
matrix:
react-native-architecture: ['Paper', 'Fabric']
fail-fast: false
concurrency:
group: ios-expo-dev-client-${{ matrix.react-native-architecture }}-${{inputs.expo-dev-client-dist-tag}}${{ github.ref }}
cancel-in-progress: true
steps:
- name: Check out reanimated repository
uses: actions/checkout@v4
with:
path: 'reanimated_repo'
- name: Create Expo app
run: npx create-expo-app app
- name: Install expo-dev-client
working-directory: app
run: npm install expo-dev-client@${{ inputs.expo-dev-client-dist-tag }}
- name: Setup configuration
run: node ${{ env.SCRIPT_PATH }} setBundleIdentifier
- name: Expo prebuild
working-directory: app
run: npx expo prebuild
- name: Install Reanimated
working-directory: app
run: npm install react-native-reanimated@nightly
- name: Set Fabric
if: ${{ matrix.react-native-architecture == 'Fabric' }}
run: node ${{ env.SCRIPT_PATH }} setupFabricIOS
- name: Install Pods
working-directory: app/ios
run: pod install
- name: Build app
working-directory: app
run: yarn react-native run-ios --simulator='iPhone 14'
build_android:
if: github.repository == 'software-mansion/react-native-reanimated'
runs-on: ubuntu-latest
strategy:
matrix:
react-native-architecture: ['Paper', 'Fabric']
fail-fast: false
concurrency:
group: android-expo-dev-client-${{ matrix.react-native-architecture }}-${{inputs.expo-dev-client-dist-tag}}-${{ github.ref }}
cancel-in-progress: true
steps:
- name: Check out reanimated repository
uses: actions/checkout@v4
with:
path: 'reanimated_repo'
- name: Create Expo app
run: npx create-expo-app app
- name: Install expo-dev-client
working-directory: app
run: npm install expo-dev-client@${{ inputs.expo-dev-client-dist-tag }}
- name: Setup configuration
run: node ${{ env.SCRIPT_PATH }} setBundleIdentifier
- name: Expo prebuild
working-directory: app
run: npx expo prebuild
- name: Install Reanimated
working-directory: app
run: npm install react-native-reanimated@nightly
- name: Set Fabric
if: ${{ matrix.react-native-architecture == 'Fabric' }}
run: node ${{ env.SCRIPT_PATH }} setupFabricAndroid
- name: Build app
working-directory: app/android
run: ./gradlew assembleDebug --console=plain