|
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 |
@@ -138,20 +135,80 @@ jobs: |
138 | 135 | fail-fast: false |
139 | 136 | matrix: |
140 | 137 | 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 | | - ] |
| 138 | + # Sparse matrix: All TS versions with React 19, boundary TS versions with React 18 |
| 139 | + include: |
| 140 | + # React 19 × all TS versions |
| 141 | + - ts: '5.4' |
| 142 | + react: |
| 143 | + { |
| 144 | + version: '^19', |
| 145 | + types: '^19', |
| 146 | + react-dom: { version: '^19', types: '^19' }, |
| 147 | + } |
| 148 | + - ts: '5.5' |
| 149 | + react: |
| 150 | + { |
| 151 | + version: '^19', |
| 152 | + types: '^19', |
| 153 | + react-dom: { version: '^19', types: '^19' }, |
| 154 | + } |
| 155 | + - ts: '5.6' |
| 156 | + react: |
| 157 | + { |
| 158 | + version: '^19', |
| 159 | + types: '^19', |
| 160 | + react-dom: { version: '^19', types: '^19' }, |
| 161 | + } |
| 162 | + - ts: '5.7' |
| 163 | + react: |
| 164 | + { |
| 165 | + version: '^19', |
| 166 | + types: '^19', |
| 167 | + react-dom: { version: '^19', types: '^19' }, |
| 168 | + } |
| 169 | + - ts: '5.8' |
| 170 | + react: |
| 171 | + { |
| 172 | + version: '^19', |
| 173 | + types: '^19', |
| 174 | + react-dom: { version: '^19', types: '^19' }, |
| 175 | + } |
| 176 | + - ts: '5.9' |
| 177 | + react: |
| 178 | + { |
| 179 | + version: '^19', |
| 180 | + types: '^19', |
| 181 | + react-dom: { version: '^19', types: '^19' }, |
| 182 | + } |
| 183 | + - ts: 'next' |
| 184 | + react: |
| 185 | + { |
| 186 | + version: '^19', |
| 187 | + types: '^19', |
| 188 | + react-dom: { version: '^19', types: '^19' }, |
| 189 | + } |
| 190 | + # React 18 × boundary TS versions only (5.4, 5.8, next) |
| 191 | + - ts: '5.4' |
| 192 | + react: |
| 193 | + { |
| 194 | + version: '^18', |
| 195 | + types: '^18', |
| 196 | + react-dom: { version: '^18', types: '^18' }, |
| 197 | + } |
| 198 | + - ts: '5.8' |
| 199 | + react: |
| 200 | + { |
| 201 | + version: '^18', |
| 202 | + types: '^18', |
| 203 | + react-dom: { version: '^18', types: '^18' }, |
| 204 | + } |
| 205 | + - ts: 'next' |
| 206 | + react: |
| 207 | + { |
| 208 | + version: '^18', |
| 209 | + types: '^18', |
| 210 | + react-dom: { version: '^18', types: '^18' }, |
| 211 | + } |
155 | 212 |
|
156 | 213 | steps: |
157 | 214 | - name: Checkout repo |
@@ -314,13 +371,37 @@ jobs: |
314 | 371 | fail-fast: false |
315 | 372 | matrix: |
316 | 373 | 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 | | - ] |
| 374 | + # Sparse matrix: All TS versions with bundler, boundary TS versions with nodenext |
| 375 | + include: |
| 376 | + # bundler × all TS versions |
| 377 | + - ts: '5.4' |
| 378 | + example: { name: 'bundler', moduleResolution: 'Bundler' } |
| 379 | + - ts: '5.5' |
| 380 | + example: { name: 'bundler', moduleResolution: 'Bundler' } |
| 381 | + - ts: '5.6' |
| 382 | + example: { name: 'bundler', moduleResolution: 'Bundler' } |
| 383 | + - ts: '5.7' |
| 384 | + example: { name: 'bundler', moduleResolution: 'Bundler' } |
| 385 | + - ts: '5.8' |
| 386 | + example: { name: 'bundler', moduleResolution: 'Bundler' } |
| 387 | + - ts: '5.9' |
| 388 | + example: { name: 'bundler', moduleResolution: 'Bundler' } |
| 389 | + - ts: 'next' |
| 390 | + example: { name: 'bundler', moduleResolution: 'Bundler' } |
| 391 | + # nodenext-cjs × boundary TS versions only (5.4, 5.8, next) |
| 392 | + - ts: '5.4' |
| 393 | + example: { name: 'nodenext-cjs', moduleResolution: 'NodeNext' } |
| 394 | + - ts: '5.8' |
| 395 | + example: { name: 'nodenext-cjs', moduleResolution: 'NodeNext' } |
| 396 | + - ts: 'next' |
| 397 | + example: { name: 'nodenext-cjs', moduleResolution: 'NodeNext' } |
| 398 | + # nodenext-esm × boundary TS versions only (5.4, 5.8, next) |
| 399 | + - ts: '5.4' |
| 400 | + example: { name: 'nodenext-esm', moduleResolution: 'NodeNext' } |
| 401 | + - ts: '5.8' |
| 402 | + example: { name: 'nodenext-esm', moduleResolution: 'NodeNext' } |
| 403 | + - ts: 'next' |
| 404 | + example: { name: 'nodenext-esm', moduleResolution: 'NodeNext' } |
324 | 405 | steps: |
325 | 406 | - name: Checkout repo |
326 | 407 | uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 |
|
0 commit comments