1717 main :
1818 # ignore all-contributors PRs
1919 if : ${{ !contains(github.head_ref, 'all-contributors') }}
20- name : Node ${{ matrix.node }}, Svelte ${{ matrix.svelte }}, ${{ matrix.check }}
20+ name : ${{ matrix.check }} on Svelte ${{ matrix.svelte }}, Node ${{ matrix.node }}
2121 runs-on : ubuntu-latest
2222
2323 # enable OIDC for codecov uploads
@@ -27,20 +27,30 @@ jobs:
2727 strategy :
2828 fail-fast : false
2929 matrix :
30- node : ['16', '18', '20']
31- svelte : ['3', '4']
32- check : ['test:vitest:jsdom', 'test:vitest:happy-dom', 'test:jest']
33- include :
34- # We only need to lint once, so do it on latest Node and Svelte
35- - { node: '20', svelte: '4', check: 'lint' }
36- # Run type checks in latest node
37- - { node: '20', svelte: '3', check: 'types:legacy' }
38- - { node: '20', svelte: '4', check: 'types:legacy' }
39- - { node: '20', svelte: '5', check: 'types' }
40- # Only run Svelte 5 checks on latest Node
41- - { node: '20', svelte: '5', check: 'test:vitest:jsdom' }
42- - { node: '20', svelte: '5', check: 'test:vitest:happy-dom' }
43- - { node: '20', svelte: '5', check: 'test:jest' }
30+ node : ['16', '18', '20', '22']
31+ svelte : ['3', '4', '5']
32+ check :
33+ - test:vitest:jsdom
34+ - test:vitest:happy-dom
35+ - test:jest
36+ - lint
37+ - types:legacy
38+ - types
39+ exclude :
40+ # Don't run lints or type checks on Node 16
41+ - { node: '16', check: 'lint' }
42+ - { node: '16', check: 'types:legacy' }
43+ - { node: '16', check: 'types' }
44+ # Don't run legacy type checks on Svelte 5
45+ - { svelte: '5', check: 'types:legacy' }
46+ # Don't run new type checks on Svelte 3 and 4
47+ - { svelte: '3', check: 'types' }
48+ - { svelte: '4', check: 'types' }
49+ # Don't run Svelte 3 on newer Node versions
50+ - { svelte: '3', node: '22' }
51+ # Only run Svelte 5 checks on newer Node versions
52+ - { svelte: '5', node: '16' }
53+ - { svelte: '5', node: '18' }
4454
4555 steps :
4656 - name : ⬇️ Checkout repo
0 commit comments