1
1
name : Test Libraries on Nightlies
2
2
3
3
on :
4
+ pull_request :
4
5
workflow_call :
5
6
6
7
@@ -14,45 +15,56 @@ jobs:
14
15
strategy :
15
16
matrix :
16
17
library : [
17
- " react-native-async-storage" ,
18
- " react-native-blob-util" ,
19
- " @react-native-clipboard/clipboard" ,
20
- " @react-native-community/datetimepicker" ,
21
- " react-native-gesture-handler" ,
22
- " react-native-image-picker" ,
23
- " react-native-linear-gradient" ,
24
- " @react-native-masked-view/masked-view" ,
25
- " react-native-maps" ,
26
- " @react-native-community/netinfo" ,
18
+ # "react-native-async-storage",
19
+ # "react-native-blob-util",
20
+ # "@react-native-clipboard/clipboard",
21
+ # "@react-native-community/datetimepicker",
22
+ # "react-native-gesture-handler",
23
+ # "react-native-image-picker",
24
+ # "react-native-linear-gradient",
25
+ # "@react-native-masked-view/masked-view",
26
+ # "react-native-maps",
27
+ # "@react-native-community/netinfo",
27
28
" react-native-reanimated@nightly react-native-worklets@nightly" , # reanimated requires worklet to be explicitly installed as a separate package
28
29
" react-native-svg" ,
29
30
" react-native-video" ,
30
31
" react-native-webview" ,
31
- " react-native-mmkv" ,
32
- " react-native-screens" ,
33
- " react-native-pager-view" ,
34
- " @react-native-community/slider" ,
35
- # additional OSS libs used internally
36
- " scandit-react-native-datacapture-barcode scandit-react-native-datacapture-core" ,
37
- " react-native-contacts" ,
38
- " react-native-device-info" ,
39
- " react-native-email-link" ,
40
- " react-native-exit-app" ,
41
- " @dr.pogodin/react-native-fs" ,
42
- " react-native-maps" ,
43
- " react-native-permissions" ,
44
- " react-native-vector-icons" ,
45
- " react-native-masked-view" ,
46
- " @react-native-community/image-editor" ,
32
+ # "react-native-mmkv",
33
+ # "react-native-screens",
34
+ # "react-native-pager-view",
35
+ # "@react-native-community/slider",
36
+ # # additional OSS libs used internally
37
+ # "scandit-react-native-datacapture-barcode scandit-react-native-datacapture-core",
38
+ # "react-native-contacts",
39
+ # "react-native-device-info",
40
+ # "react-native-email-link",
41
+ # "react-native-exit-app",
42
+ # "@dr.pogodin/react-native-fs",
43
+ # "react-native-maps",
44
+ # "react-native-permissions",
45
+ # "react-native-vector-icons",
46
+ # "react-native-masked-view",
47
+ # "@react-native-community/image-editor",
47
48
]
48
49
steps :
49
50
- name : Checkout
50
51
uses : actions/checkout@v4
51
- - name : Test ${{ inputs.library-name }}
52
+ - name : Test ${{ matrix.library }}
53
+ id : run-test
52
54
uses : ./.github/actions/test-library-on-nightly
53
55
with :
54
56
library-npm-package : ${{ matrix.library }}
55
57
platform : android
58
+ - name : Save outcome
59
+ if : always()
60
+ run : |
61
+ echo "${{matrix.library}}: ${{steps.run-test.outcome}}\n" >> "/tmp/${{matrix.library}}-android-outcome"
62
+ - name : Upload Artifact
63
+ if : always()
64
+ uses : actions/upload-artifact@v4
65
+ with :
66
+ name : ${{ matrix.library }}-android-outcome
67
+ path : /tmp/${{ matrix.library }}-android-outcome
56
68
57
69
test-library-on-nightly-ios :
58
70
name : " [iOS] ${{ matrix.library }}"
@@ -61,42 +73,72 @@ jobs:
61
73
strategy :
62
74
matrix :
63
75
library : [
64
- " react-native-async-storage" ,
65
- " react-native-blob-util" ,
66
- " @react-native-clipboard/clipboard" ,
67
- " @react-native-community/datetimepicker" ,
68
- " react-native-gesture-handler" ,
69
- " react-native-image-picker" ,
70
- " react-native-linear-gradient" ,
71
- " @react-native-masked-view/masked-view" ,
72
- " react-native-maps" ,
73
- " @react-native-community/netinfo" ,
76
+ # "react-native-async-storage",
77
+ # "react-native-blob-util",
78
+ # "@react-native-clipboard/clipboard",
79
+ # "@react-native-community/datetimepicker",
80
+ # "react-native-gesture-handler",
81
+ # "react-native-image-picker",
82
+ # "react-native-linear-gradient",
83
+ # "@react-native-masked-view/masked-view",
84
+ # "react-native-maps",
85
+ # "@react-native-community/netinfo",
74
86
" react-native-reanimated@nightly react-native-worklets@nightly" , # reanimated requires worklet to be explicitly installed as a separate package
75
87
" react-native-svg" ,
76
88
" react-native-video" ,
77
89
" react-native-webview" ,
78
- " react-native-mmkv" ,
79
- " react-native-screens" ,
80
- " react-native-pager-view" ,
81
- " @react-native-community/slider" ,
82
- # additional OSS libs used internally
83
- " scandit-react-native-datacapture-barcode scandit-react-native-datacapture-core" ,
84
- " react-native-contacts" ,
85
- " react-native-device-info" ,
86
- " react-native-email-link" ,
87
- " react-native-exit-app" ,
88
- " @dr.pogodin/react-native-fs" ,
89
- " react-native-maps" ,
90
- " react-native-permissions" ,
91
- " react-native-vector-icons" ,
92
- " react-native-masked-view" ,
93
- " @react-native-community/image-editor" ,
90
+ # "react-native-mmkv",
91
+ # "react-native-screens",
92
+ # "react-native-pager-view",
93
+ # "@react-native-community/slider",
94
+ # # additional OSS libs used internally
95
+ # "scandit-react-native-datacapture-barcode scandit-react-native-datacapture-core",
96
+ # "react-native-contacts",
97
+ # "react-native-device-info",
98
+ # "react-native-email-link",
99
+ # "react-native-exit-app",
100
+ # "@dr.pogodin/react-native-fs",
101
+ # "react-native-maps",
102
+ # "react-native-permissions",
103
+ # "react-native-vector-icons",
104
+ # "react-native-masked-view",
105
+ # "@react-native-community/image-editor",
94
106
]
95
107
steps :
96
108
- name : Checkout
97
109
uses : actions/checkout@v4
98
- - name : Test ${{ inputs.library-name }}
110
+ - name : Test ${{ matrix.library }}
111
+ id : run-test
99
112
uses : ./.github/actions/test-library-on-nightly
100
113
with :
101
114
library-npm-package : ${{ matrix.library }}
102
115
platform : ios
116
+ - name : Save outcome
117
+ if : always()
118
+ run : |
119
+ echo "${{matrix.library}}: ${{steps.run-test.outcome}}\n" > "/tmp/${{matrix.library}}-ios-outcome"
120
+ - name : Upload Artifact
121
+ if : always()
122
+ uses : actions/upload-artifact@v4
123
+ with :
124
+ name : ${{ matrix.library }}-ios-outcome
125
+ path : /tmp/${{ matrix.library }}-ios-outcome
126
+
127
+
128
+ collect-results :
129
+ runs-on : ubuntu-latest
130
+ needs : [test-library-on-nightly-android, test-library-on-nightly-ios]
131
+ steps :
132
+ - name : Checkout
133
+ uses : actions/checkout@v4
134
+ - name : Restore outcomes
135
+ uses : actions/download-artifact@v4
136
+ with :
137
+ pattern : ' *-outcome'
138
+ path : /tmp
139
+ - name : Collect failures
140
+ uses : actions/github-script@v6
141
+ with :
142
+ script : |
143
+ const {collectResults} = require('./.github/workflow-scripts/collectNightlyOutcomes.js');
144
+ collectResults();
0 commit comments