Skip to content

Commit 9239381

Browse files
committed
chore: CI test each version of react
1 parent e93af81 commit 9239381

File tree

2 files changed

+250
-6
lines changed

2 files changed

+250
-6
lines changed

.github/actions/setup-deps/action.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
name: Setup deps
22
description: Setup Node.js and install dependencies
33

4+
inputs:
5+
react-version:
6+
description: React version to install (e.g., ^19.2.0)
7+
required: false
8+
react-native-version:
9+
description: React Native version to install (e.g., 0.83.1)
10+
required: false
11+
412
runs:
513
using: composite
614
steps:
@@ -25,3 +33,9 @@ runs:
2533
if: steps.yarn-cache.outputs.cache-hit != 'true'
2634
run: yarn install --immutable
2735
shell: bash
36+
37+
- name: Switch to React and React Native versions
38+
if: inputs.react-version != '' && inputs.react-native-version != ''
39+
run: |
40+
yarn add -D react@${{ inputs.react-version }} @types/react@${{ inputs.react-version }} react-native@${{ inputs.react-native-version }} @react-native/babel-preset@${{ inputs.react-native-version }}
41+
shell: bash

.github/workflows/ci.yml

Lines changed: 236 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,130 @@ jobs:
4343
- name: Typecheck
4444
run: yarn typecheck
4545

46-
typecheck-react-18:
46+
typecheck-rn-0.83.1:
4747
runs-on: ubuntu-latest
48-
name: Typecheck React 18
48+
name: Typecheck RN 0.83.1
4949
steps:
5050
- name: Checkout
5151
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
5252

5353
- name: Setup Node.js and deps
54-
uses: ./.github/actions/setup-deps-react-18
54+
uses: ./.github/actions/setup-deps
55+
with:
56+
react-version: ^19.2.0
57+
react-native-version: 0.83.1
58+
59+
- name: Typecheck
60+
run: yarn typecheck
61+
62+
typecheck-rn-0.83.0:
63+
runs-on: ubuntu-latest
64+
name: Typecheck RN 0.83.0
65+
steps:
66+
- name: Checkout
67+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
68+
69+
- name: Setup Node.js and deps
70+
uses: ./.github/actions/setup-deps
71+
with:
72+
react-version: ^19.2.0
73+
react-native-version: 0.83.0
74+
75+
- name: Typecheck
76+
run: yarn typecheck
77+
78+
typecheck-rn-0.82.1:
79+
runs-on: ubuntu-latest
80+
name: Typecheck RN 0.82.1
81+
steps:
82+
- name: Checkout
83+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
84+
85+
- name: Setup Node.js and deps
86+
uses: ./.github/actions/setup-deps
87+
with:
88+
react-version: ^19.1.1
89+
react-native-version: 0.82.1
90+
91+
- name: Typecheck
92+
run: yarn typecheck
93+
94+
typecheck-rn-0.82.0:
95+
runs-on: ubuntu-latest
96+
name: Typecheck RN 0.82.0
97+
steps:
98+
- name: Checkout
99+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
100+
101+
- name: Setup Node.js and deps
102+
uses: ./.github/actions/setup-deps
103+
with:
104+
react-version: ^19.1.1
105+
react-native-version: 0.82.0
106+
107+
- name: Typecheck
108+
run: yarn typecheck
109+
110+
typecheck-rn-0.81.5:
111+
runs-on: ubuntu-latest
112+
name: Typecheck RN 0.81.5
113+
steps:
114+
- name: Checkout
115+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
116+
117+
- name: Setup Node.js and deps
118+
uses: ./.github/actions/setup-deps
119+
with:
120+
react-version: ^19.1.0
121+
react-native-version: 0.81.5
122+
123+
- name: Typecheck
124+
run: yarn typecheck
125+
126+
typecheck-rn-0.80.2:
127+
runs-on: ubuntu-latest
128+
name: Typecheck RN 0.80.2
129+
steps:
130+
- name: Checkout
131+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
132+
133+
- name: Setup Node.js and deps
134+
uses: ./.github/actions/setup-deps
135+
with:
136+
react-version: ^19.1.0
137+
react-native-version: 0.80.2
138+
139+
- name: Typecheck
140+
run: yarn typecheck
141+
142+
typecheck-rn-0.79.2:
143+
runs-on: ubuntu-latest
144+
name: Typecheck RN 0.79.2
145+
steps:
146+
- name: Checkout
147+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
148+
149+
- name: Setup Node.js and deps
150+
uses: ./.github/actions/setup-deps
151+
with:
152+
react-version: ^19.0.0
153+
react-native-version: 0.79.2
154+
155+
- name: Typecheck
156+
run: yarn typecheck
157+
158+
typecheck-rn-0.78.3:
159+
runs-on: ubuntu-latest
160+
name: Typecheck RN 0.78.3
161+
steps:
162+
- name: Checkout
163+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
164+
165+
- name: Setup Node.js and deps
166+
uses: ./.github/actions/setup-deps
167+
with:
168+
react-version: ^19.0.0
169+
react-native-version: 0.78.3
55170

56171
- name: Typecheck
57172
run: yarn typecheck
@@ -74,15 +189,130 @@ jobs:
74189
env:
75190
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
76191

77-
test-react-18:
192+
test-rn-0.83.1:
78193
runs-on: ubuntu-latest
79-
name: Test React 18
194+
name: Test RN 0.83.1
80195
steps:
81196
- name: Checkout
82197
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
83198

84199
- name: Setup Node.js and deps
85-
uses: ./.github/actions/setup-deps-react-18
200+
uses: ./.github/actions/setup-deps
201+
with:
202+
react-version: ^19.2.0
203+
react-native-version: 0.83.1
204+
205+
- name: Test
206+
run: yarn test:ci
207+
208+
test-rn-0.83.0:
209+
runs-on: ubuntu-latest
210+
name: Test RN 0.83.0
211+
steps:
212+
- name: Checkout
213+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
214+
215+
- name: Setup Node.js and deps
216+
uses: ./.github/actions/setup-deps
217+
with:
218+
react-version: ^19.2.0
219+
react-native-version: 0.83.0
220+
221+
- name: Test
222+
run: yarn test:ci
223+
224+
test-rn-0.82.1:
225+
runs-on: ubuntu-latest
226+
name: Test RN 0.82.1
227+
steps:
228+
- name: Checkout
229+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
230+
231+
- name: Setup Node.js and deps
232+
uses: ./.github/actions/setup-deps
233+
with:
234+
react-version: ^19.1.1
235+
react-native-version: 0.82.1
236+
237+
- name: Test
238+
run: yarn test:ci
239+
240+
test-rn-0.82.0:
241+
runs-on: ubuntu-latest
242+
name: Test RN 0.82.0
243+
steps:
244+
- name: Checkout
245+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
246+
247+
- name: Setup Node.js and deps
248+
uses: ./.github/actions/setup-deps
249+
with:
250+
react-version: ^19.1.1
251+
react-native-version: 0.82.0
252+
253+
- name: Test
254+
run: yarn test:ci
255+
256+
test-rn-0.81.5:
257+
runs-on: ubuntu-latest
258+
name: Test RN 0.81.5
259+
steps:
260+
- name: Checkout
261+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
262+
263+
- name: Setup Node.js and deps
264+
uses: ./.github/actions/setup-deps
265+
with:
266+
react-version: ^19.1.0
267+
react-native-version: 0.81.5
268+
269+
- name: Test
270+
run: yarn test:ci
271+
272+
test-rn-0.80.2:
273+
runs-on: ubuntu-latest
274+
name: Test RN 0.80.2
275+
steps:
276+
- name: Checkout
277+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
278+
279+
- name: Setup Node.js and deps
280+
uses: ./.github/actions/setup-deps
281+
with:
282+
react-version: ^19.1.0
283+
react-native-version: 0.80.2
284+
285+
- name: Test
286+
run: yarn test:ci
287+
288+
test-rn-0.79.2:
289+
runs-on: ubuntu-latest
290+
name: Test RN 0.79.2
291+
steps:
292+
- name: Checkout
293+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
294+
295+
- name: Setup Node.js and deps
296+
uses: ./.github/actions/setup-deps
297+
with:
298+
react-version: ^19.0.0
299+
react-native-version: 0.79.2
300+
301+
- name: Test
302+
run: yarn test:ci
303+
304+
test-rn-0.78.3:
305+
runs-on: ubuntu-latest
306+
name: Test RN 0.78.3
307+
steps:
308+
- name: Checkout
309+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
310+
311+
- name: Setup Node.js and deps
312+
uses: ./.github/actions/setup-deps
313+
with:
314+
react-version: ^19.0.0
315+
react-native-version: 0.78.3
86316

87317
- name: Test
88318
run: yarn test:ci

0 commit comments

Comments
 (0)