1
1
name : Test All
2
2
3
- # on:
4
- # workflow_dispatch:
5
- # pull_request:
6
- # push:
7
- # tags:
8
- # - 'v*'
9
- # # nightly build @ 2:15 AM UTC
10
- # schedule:
11
- # - cron: '15 2 * * *'
3
+ on :
4
+ workflow_dispatch :
5
+ pull_request :
6
+ push :
7
+ branches :
8
+ - main
9
+ - " *-stable"
12
10
13
11
jobs :
14
12
set_release_type :
13
+ if : github.repository == 'facebook/react-native'
15
14
runs-on : ubuntu-latest
16
15
outputs :
17
16
RELEASE_TYPE : ${{ steps.set_release_type.outputs.RELEASE_TYPE }}
35
34
echo "Should I run E2E tests? ${{ inputs.run-e2e-tests }}"
36
35
37
36
prepare_hermes_workspace :
37
+ if : github.repository == 'facebook/react-native'
38
38
runs-on : ubuntu-latest
39
39
env :
40
40
HERMES_WS_DIR : /tmp/hermes
53
53
hermes-version-file : ${{ env.HERMES_VERSION_FILE }}
54
54
55
55
build_hermesc_apple :
56
+ if : github.repository == 'facebook/react-native'
56
57
runs-on : macos-13
57
58
needs : prepare_hermes_workspace
58
59
env :
67
68
react-native-version : ${{ needs.prepare_hermes_workspace.outputs.react-native-version }}
68
69
69
70
build_apple_slices_hermes :
71
+ if : github.repository == 'facebook/react-native'
70
72
runs-on : macos-14
71
73
needs : [build_hermesc_apple, prepare_hermes_workspace]
72
74
env :
93
95
react-native-version : ${{ needs.prepare_hermes_workspace.outputs.react-native-version }}
94
96
95
97
build_hermes_macos :
98
+ if : github.repository == 'facebook/react-native'
96
99
runs-on : macos-13
97
100
needs : [build_apple_slices_hermes, prepare_hermes_workspace]
98
101
env :
@@ -114,6 +117,7 @@ jobs:
114
117
flavor : ${{ matrix.flavor }}
115
118
116
119
test_ios_rntester_ruby_3_2_0 :
120
+ if : github.repository == 'facebook/react-native'
117
121
runs-on : macos-13
118
122
needs :
119
123
[build_apple_slices_hermes, prepare_hermes_workspace, build_hermes_macos]
@@ -131,6 +135,7 @@ jobs:
131
135
react-native-version : ${{ needs.prepare_hermes_workspace.outputs.react-native-version }}
132
136
133
137
test_ios_rntester_dynamic_frameworks :
138
+ if : github.repository == 'facebook/react-native'
134
139
runs-on : macos-13
135
140
needs :
136
141
[build_apple_slices_hermes, prepare_hermes_workspace, build_hermes_macos]
@@ -154,6 +159,7 @@ jobs:
154
159
react-native-version : ${{ needs.prepare_hermes_workspace.outputs.react-native-version }}
155
160
156
161
test_ios_rntester :
162
+ if : github.repository == 'facebook/react-native'
157
163
runs-on : macos-13
158
164
needs :
159
165
[build_apple_slices_hermes, prepare_hermes_workspace, build_hermes_macos]
@@ -164,7 +170,6 @@ jobs:
164
170
strategy :
165
171
fail-fast : false
166
172
matrix :
167
- jsengine : [Hermes, JSC]
168
173
architecture : [NewArch, OldArch]
169
174
flavor : [Debug, Release]
170
175
exclude : # We don't want to test the Old Arch in Release for E2E
@@ -188,6 +193,26 @@ jobs:
188
193
react-native-version : ${{ needs.prepare_hermes_workspace.outputs.react-native-version }}
189
194
flavor : ${{ matrix.flavor }}
190
195
196
+ test_visionos_rntester :
197
+ runs-on : macos-14-xlarge
198
+ continue-on-error : true
199
+ strategy :
200
+ fail-fast : false
201
+ matrix :
202
+ architecture : [NewArch, OldArch]
203
+ steps :
204
+ - name : Checkout
205
+ uses : actions/checkout@v4
206
+ - name : Run it
207
+ uses : ./.github/actions/test-visionos-rntester
208
+ with :
209
+ jsengine : ${{ matrix.jsengine }}
210
+ architecture : ${{ matrix.architecture }}
211
+ run-unit-tests : " false"
212
+ use-frameworks : StaticLibraries
213
+ hermes-version : ${{ needs.prepare_hermes_workspace.outputs.hermes-version }}
214
+ react-native-version : ${{ needs.prepare_hermes_workspace.outputs.react-native-version }}
215
+
191
216
test_e2e_ios_rntester :
192
217
if : ${{ github.ref == 'refs/heads/main' || contains(github.ref, 'stable') || inputs.run-e2e-tests }}
193
218
runs-on : macos-13-large
@@ -246,7 +271,7 @@ jobs:
246
271
- name : Run yarn
247
272
uses : ./.github/actions/yarn-install
248
273
- name : Setup ruby
249
- uses : ruby/setup-ruby@v1.170 .0
274
+ uses : ruby/setup-ruby@v1.171 .0
250
275
with :
251
276
ruby-version : 2.6.10
252
277
- name : Download Hermes
@@ -385,6 +410,7 @@ jobs:
385
410
architecture : ${{ matrix.architecture }}
386
411
387
412
build_hermesc_linux :
413
+ if : github.repository == 'facebook/react-native'
388
414
runs-on : ubuntu-latest
389
415
needs : prepare_hermes_workspace
390
416
env :
@@ -400,6 +426,7 @@ jobs:
400
426
react-native-version : ${{ needs.prepare_hermes_workspace.outputs.react-native-version }}
401
427
402
428
build_hermesc_windows :
429
+ if : github.repository == 'facebook/react-native'
403
430
runs-on : windows-2019
404
431
needs : prepare_hermes_workspace
405
432
env :
@@ -419,6 +446,7 @@ jobs:
419
446
react-native-version : ${{ needs.prepare_hermes_workspace.outputs.react-native-version }}
420
447
421
448
build_android :
449
+ if : github.repository == 'facebook/react-native'
422
450
runs-on : 8-core-ubuntu
423
451
needs : [set_release_type]
424
452
container :
@@ -562,6 +590,7 @@ jobs:
562
590
compression-level : 0
563
591
564
592
test_ios_helloworld_with_ruby_3_2_0 :
593
+ if : github.repository == 'facebook/react-native'
565
594
runs-on : macos-13
566
595
needs : [prepare_hermes_workspace, build_hermes_macos] # prepare_hermes_workspace must be there because we need its reference to retrieve a couple of outputs
567
596
env :
@@ -580,6 +609,7 @@ jobs:
580
609
react-native-version : ${{ needs.prepare_hermes_workspace.outputs.react-native-version }}
581
610
582
611
test_ios_helloworld :
612
+ if : github.repository == 'facebook/react-native'
583
613
runs-on : macos-13
584
614
needs : [prepare_hermes_workspace, build_hermes_macos] # prepare_hermes_workspace must be there because we need its reference to retrieve a couple of outputs
585
615
strategy :
@@ -623,6 +653,7 @@ jobs:
623
653
624
654
lint :
625
655
runs-on : ubuntu-latest
656
+ if : github.repository == 'facebook/react-native'
626
657
env :
627
658
GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
628
659
steps :
0 commit comments