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 : Svelte ${{ matrix.svelte }}, Node ${{ matrix.node }}, ${{ matrix.check }}
2121 runs-on : ubuntu-latest
2222
2323 # enable OIDC for codecov uploads
@@ -27,20 +27,22 @@ jobs:
2727 strategy :
2828 fail-fast : false
2929 matrix :
30- node : ['16', '18', '20']
31- svelte : ['3', '4']
30+ node : ['16', '18', '20', '22' ]
31+ svelte : ['3', '4', '5' ]
3232 check : ['test:vitest:jsdom', 'test:vitest:happy-dom', 'test:jest']
33+ exclude :
34+ # Don't run Svelte 3 on Node versions greater than 20
35+ - { svelte: '3', node: '22' }
36+ # Only run Svelte 5 on Node versions greater than or equal to 20
37+ - { svelte: '5', node: '16' }
38+ - { svelte: '5', node: '18' }
3339 include :
3440 # 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' }
41+ - { svelte: '5', node: '22', check: 'lint' }
42+ # Run type checks in latest applicable Node
43+ - { svelte: '3', node: '20', check: 'types:legacy' }
44+ - { svelte: '4', node: '22', check: 'types:legacy' }
45+ - { svelte: '5', node: '22', check: 'types' }
4446
4547 steps :
4648 - name : ⬇️ Checkout repo
0 commit comments