Skip to content

Commit 9d0a853

Browse files
committed
init
1 parent 720fefb commit 9d0a853

File tree

2 files changed

+101
-72
lines changed

2 files changed

+101
-72
lines changed
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
name: Check Expo dev-client nightly build
2+
on:
3+
pull_request:
4+
paths:
5+
- .github/workflows/check-expo-dev-client-action.yml
6+
- .github/workflows/check-expo-dev-client-nightly.yml
7+
- .github/workflows/helper/configureDevClient.js
8+
workflow_dispatch:
9+
inputs:
10+
expo-dev-client-dist-tag:
11+
required: true
12+
type: string
13+
14+
env:
15+
SCRIPT_PATH: reanimated_repo/.github/workflows/helper/configureDevClient.js
16+
17+
jobs:
18+
build_ios:
19+
if: github.repository == 'software-mansion/react-native-reanimated'
20+
runs-on: macos-12
21+
strategy:
22+
matrix:
23+
react-native-architecture: ['Paper', 'Fabric']
24+
fail-fast: false
25+
concurrency:
26+
group: ios-expo-dev-client-${{ matrix.react-native-architecture }}-${{inputs.expo-dev-client-dist-tag}}${{ github.ref }}
27+
cancel-in-progress: true
28+
steps:
29+
- name: Check out reanimated repository
30+
uses: actions/checkout@v4
31+
with:
32+
path: 'reanimated_repo'
33+
- name: Create Expo app
34+
run: npx create-expo-app app
35+
- name: Install expo-dev-client
36+
working-directory: app
37+
run: npm install expo-dev-client@${{ inputs.expo-dev-client-dist-tag }}
38+
- name: Setup configuration
39+
run: node ${{ env.SCRIPT_PATH }} setBundleIdentifier
40+
- name: Expo prebuild
41+
working-directory: app
42+
run: npx expo prebuild
43+
- name: Install Reanimated
44+
working-directory: app
45+
run: npm install react-native-reanimated@nightly
46+
- name: Set Fabric
47+
if: ${{ matrix.react-native-architecture == 'Fabric' }}
48+
run: node ${{ env.SCRIPT_PATH }} setupFabricIOS
49+
- name: Install Pods
50+
working-directory: app/ios
51+
run: pod install
52+
- name: Build app
53+
working-directory: app
54+
run: yarn react-native run-ios --simulator='iPhone 14'
55+
56+
build_android:
57+
if: github.repository == 'software-mansion/react-native-reanimated'
58+
runs-on: ubuntu-latest
59+
strategy:
60+
matrix:
61+
react-native-architecture: ['Paper', 'Fabric']
62+
fail-fast: false
63+
concurrency:
64+
group: android-expo-dev-client-${{ matrix.react-native-architecture }}-${{inputs.expo-dev-client-dist-tag}}-${{ github.ref }}
65+
cancel-in-progress: true
66+
steps:
67+
- name: Check out reanimated repository
68+
uses: actions/checkout@v4
69+
with:
70+
path: 'reanimated_repo'
71+
- name: Create Expo app
72+
run: npx create-expo-app app
73+
- name: Install expo-dev-client
74+
working-directory: app
75+
run: npm install expo-dev-client@${{ inputs.expo-dev-client-dist-tag }}
76+
- name: Setup configuration
77+
run: node ${{ env.SCRIPT_PATH }} setBundleIdentifier
78+
- name: Expo prebuild
79+
working-directory: app
80+
run: npx expo prebuild
81+
- name: Install Reanimated
82+
working-directory: app
83+
run: npm install react-native-reanimated@nightly
84+
- name: Set Fabric
85+
if: ${{ matrix.react-native-architecture == 'Fabric' }}
86+
run: node ${{ env.SCRIPT_PATH }} setupFabricAndroid
87+
- name: Build app
88+
working-directory: app/android
89+
run: ./gradlew assembleDebug --console=plain

.github/workflows/check-expo-dev-client-nightly.yml

Lines changed: 12 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -7,79 +7,19 @@ on:
77
- cron: '0 0 * * *' # after publishing new nightly version on NPM
88
workflow_dispatch:
99

10-
env:
11-
SCRIPT_PATH: reanimated_repo/.github/workflows/helper/configureDevClient.js
12-
1310
jobs:
14-
build_ios:
15-
if: github.repository == 'software-mansion/react-native-reanimated'
16-
runs-on: macos-12
17-
strategy:
18-
matrix:
19-
react-native-architecture: ['Paper', 'Fabric']
20-
fail-fast: false
21-
concurrency:
22-
group: ios-expo-dev-client-${{ matrix.react-native-architecture }}-${{ github.ref }}
23-
cancel-in-progress: true
24-
steps:
25-
- name: Check out reanimated repository
26-
uses: actions/checkout@v4
27-
with:
28-
path: 'reanimated_repo'
29-
- name: Create Expo app
30-
run: npx create-expo-app app
31-
- name: Install expo-dev-client
32-
working-directory: app
33-
run: npm install expo-dev-client@next
34-
- name: Setup configuration
35-
run: node ${{ env.SCRIPT_PATH }} setBundleIdentifier
36-
- name: Expo prebuild
37-
working-directory: app
38-
run: npx expo prebuild
39-
- name: Install Reanimated
40-
working-directory: app
41-
run: npm install react-native-reanimated@nightly
42-
- name: Set Fabric
43-
if: ${{ matrix.react-native-architecture == 'Fabric' }}
44-
run: node ${{ env.SCRIPT_PATH }} setupFabricIOS
45-
- name: Install Pods
46-
working-directory: app/ios
47-
run: pod install
48-
- name: Build app
49-
working-directory: app
50-
run: yarn react-native run-ios --simulator='iPhone 14'
51-
52-
build_android:
53-
if: github.repository == 'software-mansion/react-native-reanimated'
11+
check-expo-dev-client-next-availability:
5412
runs-on: ubuntu-latest
55-
strategy:
56-
matrix:
57-
react-native-architecture: ['Paper', 'Fabric']
58-
fail-fast: false
59-
concurrency:
60-
group: android-expo-dev-client-${{ matrix.react-native-architecture }}-${{ github.ref }}
61-
cancel-in-progress: true
6213
steps:
63-
- name: Check out reanimated repository
64-
uses: actions/checkout@v4
14+
- name: Check Expo dev-client next availability
15+
run: npm dist-tag ls expo-dev-client | grep next
16+
id: check-next-availability
17+
- name: Run next build
18+
if: steps.check-next-availability.outcome == 'success'
19+
uses: ./.github/workflows/check-expo-dev-client-action.yml
20+
with:
21+
expo_dev_client_version: next
22+
- name: Run latest build
23+
uses: ./.github/workflows/check-expo-dev-client-action.yml
6524
with:
66-
path: 'reanimated_repo'
67-
- name: Create Expo app
68-
run: npx create-expo-app app
69-
- name: Install expo-dev-client
70-
working-directory: app
71-
run: npm install expo-dev-client@next
72-
- name: Setup configuration
73-
run: node ${{ env.SCRIPT_PATH }} setBundleIdentifier
74-
- name: Expo prebuild
75-
working-directory: app
76-
run: npx expo prebuild
77-
- name: Install Reanimated
78-
working-directory: app
79-
run: npm install react-native-reanimated@nightly
80-
- name: Set Fabric
81-
if: ${{ matrix.react-native-architecture == 'Fabric' }}
82-
run: node ${{ env.SCRIPT_PATH }} setupFabricAndroid
83-
- name: Build app
84-
working-directory: app/android
85-
run: ./gradlew assembleDebug --console=plain
25+
expo_dev_client_version: latest

0 commit comments

Comments
 (0)