|
1 | 1 | name: CI |
2 | | -on: [push, pull_request] |
| 2 | +on: |
| 3 | + push: |
| 4 | + branches: [master] |
| 5 | + pull_request: |
3 | 6 | defaults: |
4 | 7 | run: |
5 | 8 | working-directory: ./packages/toolkit |
@@ -70,18 +73,12 @@ jobs: |
70 | 73 | matrix: |
71 | 74 | node: ['24.x'] |
72 | 75 | react: |
73 | | - [ |
74 | | - { |
75 | | - version: '^18', |
76 | | - types: ^18, |
77 | | - react-dom: { version: '^18', types: '^18' }, |
78 | | - }, |
79 | | - { |
80 | | - version: '^19', |
81 | | - types: '^19', |
82 | | - react-dom: { version: '^19', types: '^19' }, |
83 | | - }, |
84 | | - ] |
| 76 | + - version: '^18' |
| 77 | + types: '^18' |
| 78 | + react-dom: { version: '^18', types: '^18' } |
| 79 | + - version: '^19' |
| 80 | + types: '^19' |
| 81 | + react-dom: { version: '^19', types: '^19' } |
85 | 82 |
|
86 | 83 | steps: |
87 | 84 | - name: Checkout repo |
@@ -137,21 +134,90 @@ jobs: |
137 | 134 | strategy: |
138 | 135 | fail-fast: false |
139 | 136 | matrix: |
140 | | - node: ['24.x'] |
141 | | - ts: ['5.4', '5.5', '5.6', '5.7', '5.8', '5.9', 'next'] |
142 | | - react: |
143 | | - [ |
144 | | - { |
145 | | - version: '^18', |
146 | | - types: ^18, |
147 | | - react-dom: { version: '^18', types: '^18' }, |
148 | | - }, |
149 | | - { |
150 | | - version: '^19', |
151 | | - types: '^19', |
152 | | - react-dom: { version: '^19', types: '^19' }, |
153 | | - }, |
154 | | - ] |
| 137 | + # Sparse matrix: All TS versions with React 19, boundary TS versions with React 18 |
| 138 | + include: |
| 139 | + # React 19 × all TS versions |
| 140 | + - node: '24.x' |
| 141 | + ts: '5.4' |
| 142 | + react: |
| 143 | + { |
| 144 | + version: '^19', |
| 145 | + types: '^19', |
| 146 | + react-dom: { version: '^19', types: '^19' }, |
| 147 | + } |
| 148 | + - node: '24.x' |
| 149 | + ts: '5.5' |
| 150 | + react: |
| 151 | + { |
| 152 | + version: '^19', |
| 153 | + types: '^19', |
| 154 | + react-dom: { version: '^19', types: '^19' }, |
| 155 | + } |
| 156 | + - node: '24.x' |
| 157 | + ts: '5.6' |
| 158 | + react: |
| 159 | + { |
| 160 | + version: '^19', |
| 161 | + types: '^19', |
| 162 | + react-dom: { version: '^19', types: '^19' }, |
| 163 | + } |
| 164 | + - node: '24.x' |
| 165 | + ts: '5.7' |
| 166 | + react: |
| 167 | + { |
| 168 | + version: '^19', |
| 169 | + types: '^19', |
| 170 | + react-dom: { version: '^19', types: '^19' }, |
| 171 | + } |
| 172 | + - node: '24.x' |
| 173 | + ts: '5.8' |
| 174 | + react: |
| 175 | + { |
| 176 | + version: '^19', |
| 177 | + types: '^19', |
| 178 | + react-dom: { version: '^19', types: '^19' }, |
| 179 | + } |
| 180 | + - node: '24.x' |
| 181 | + ts: '5.9' |
| 182 | + react: |
| 183 | + { |
| 184 | + version: '^19', |
| 185 | + types: '^19', |
| 186 | + react-dom: { version: '^19', types: '^19' }, |
| 187 | + } |
| 188 | + - node: '24.x' |
| 189 | + ts: 'next' |
| 190 | + react: |
| 191 | + { |
| 192 | + version: '^19', |
| 193 | + types: '^19', |
| 194 | + react-dom: { version: '^19', types: '^19' }, |
| 195 | + } |
| 196 | + # React 18 × boundary TS versions only (5.4, 5.8, next) |
| 197 | + - node: '24.x' |
| 198 | + ts: '5.4' |
| 199 | + react: |
| 200 | + { |
| 201 | + version: '^18', |
| 202 | + types: '^18', |
| 203 | + react-dom: { version: '^18', types: '^18' }, |
| 204 | + } |
| 205 | + - node: '24.x' |
| 206 | + ts: '5.8' |
| 207 | + react: |
| 208 | + { |
| 209 | + version: '^18', |
| 210 | + types: '^18', |
| 211 | + react-dom: { version: '^18', types: '^18' }, |
| 212 | + } |
| 213 | + - node: '24.x' |
| 214 | + ts: 'next' |
| 215 | + react: |
| 216 | + { |
| 217 | + version: '^18', |
| 218 | + types: '^18', |
| 219 | + react-dom: { version: '^18', types: '^18' }, |
| 220 | + } |
155 | 221 |
|
156 | 222 | steps: |
157 | 223 | - name: Checkout repo |
@@ -313,14 +379,50 @@ jobs: |
313 | 379 | strategy: |
314 | 380 | fail-fast: false |
315 | 381 | matrix: |
316 | | - node: ['24.x'] |
317 | | - ts: ['5.4', '5.5', '5.6', '5.7', '5.8', '5.9', 'next'] |
318 | | - example: |
319 | | - [ |
320 | | - { name: 'bundler', moduleResolution: 'Bundler' }, |
321 | | - { name: 'nodenext-cjs', moduleResolution: 'NodeNext' }, |
322 | | - { name: 'nodenext-esm', moduleResolution: 'NodeNext' }, |
323 | | - ] |
| 382 | + # Sparse matrix: All TS versions with bundler, boundary TS versions with nodenext |
| 383 | + include: |
| 384 | + # bundler × all TS versions |
| 385 | + - node: '24.x' |
| 386 | + ts: '5.4' |
| 387 | + example: { name: 'bundler', moduleResolution: 'Bundler' } |
| 388 | + - node: '24.x' |
| 389 | + ts: '5.5' |
| 390 | + example: { name: 'bundler', moduleResolution: 'Bundler' } |
| 391 | + - node: '24.x' |
| 392 | + ts: '5.6' |
| 393 | + example: { name: 'bundler', moduleResolution: 'Bundler' } |
| 394 | + - node: '24.x' |
| 395 | + ts: '5.7' |
| 396 | + example: { name: 'bundler', moduleResolution: 'Bundler' } |
| 397 | + - node: '24.x' |
| 398 | + ts: '5.8' |
| 399 | + example: { name: 'bundler', moduleResolution: 'Bundler' } |
| 400 | + - node: '24.x' |
| 401 | + ts: '5.9' |
| 402 | + example: { name: 'bundler', moduleResolution: 'Bundler' } |
| 403 | + - node: '24.x' |
| 404 | + ts: 'next' |
| 405 | + example: { name: 'bundler', moduleResolution: 'Bundler' } |
| 406 | + # nodenext-cjs × boundary TS versions only (5.4, 5.8, next) |
| 407 | + - node: '24.x' |
| 408 | + ts: '5.4' |
| 409 | + example: { name: 'nodenext-cjs', moduleResolution: 'NodeNext' } |
| 410 | + - node: '24.x' |
| 411 | + ts: '5.8' |
| 412 | + example: { name: 'nodenext-cjs', moduleResolution: 'NodeNext' } |
| 413 | + - node: '24.x' |
| 414 | + ts: 'next' |
| 415 | + example: { name: 'nodenext-cjs', moduleResolution: 'NodeNext' } |
| 416 | + # nodenext-esm × boundary TS versions only (5.4, 5.8, next) |
| 417 | + - node: '24.x' |
| 418 | + ts: '5.4' |
| 419 | + example: { name: 'nodenext-esm', moduleResolution: 'NodeNext' } |
| 420 | + - node: '24.x' |
| 421 | + ts: '5.8' |
| 422 | + example: { name: 'nodenext-esm', moduleResolution: 'NodeNext' } |
| 423 | + - node: '24.x' |
| 424 | + ts: 'next' |
| 425 | + example: { name: 'nodenext-esm', moduleResolution: 'NodeNext' } |
324 | 426 | steps: |
325 | 427 | - name: Checkout repo |
326 | 428 | uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 |
|
0 commit comments