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,21 +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 :
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' }
44-
40+ # Only run type-checks on latest applicable Node
41+ - { svelte: '3', node: '20', check: 'types:legacy' }
42+ - { svelte: '4', node: '22', check: 'types:legacy' }
43+ - { svelte: '5', node: '22', check: 'types' }
44+ # Only run lint on latest Svelte and Node
45+ - { svelte: '5', node: '22', check: 'lint' }
4546 steps :
4647 - name : ⬇️ Checkout repo
4748 uses : actions/checkout@v4
0 commit comments