88 pull_request :
99 types : [opened, synchronize, reopened]
1010
11+ permissions :
12+ contents : read
13+
1114jobs :
15+ lint :
16+ name : Lint, format & types
17+ runs-on : ubuntu-latest
18+
19+ steps :
20+ - name : Checkout repository
21+ uses : actions/checkout@v7
22+
23+ - name : Setup Node.js
24+ uses : actions/setup-node@v6
25+ with :
26+ node-version : 24
27+
28+ - name : Install dependencies
29+ run : npm ci
30+
31+ - name : Type-check (tsc)
32+ run : npm run type-check
33+
34+ - name : Lint (oxlint)
35+ run : npm run lint
36+
37+ - name : Check formatting (oxfmt)
38+ run : npm run format:check
39+
40+ - name : Type-aware lint (oxlint + tsgolint)
41+ run : npm run lint:type-aware
42+ continue-on-error : true
43+
1244 test :
1345 name : Run tests on Node.js ${{ matrix.node-version }}
1446 runs-on : ubuntu-latest
1547 strategy :
48+ fail-fast : false
1649 matrix :
17- node-version : [10, 12, 14 ]
50+ node-version : [20, 22, 24 ]
1851
1952 steps :
2053 - name : Checkout repository
21- uses : actions/checkout@v4
54+ uses : actions/checkout@v7
2255
2356 - name : Setup Node.js
24- uses : actions/setup-node@v4
57+ uses : actions/setup-node@v6
2558 with :
2659 node-version : ${{ matrix.node-version }}
2760
@@ -32,17 +65,26 @@ jobs:
3265 run : npm run test:cov
3366
3467 - name : Collect coverage
68+ if : matrix.node-version == 24
3569 uses : coverallsapp/github-action@v2
3670 with :
37- flag-name : run-${{ join(matrix.*, '-') }}
38- parallel : true
71+ file : ./coverage/lcov.info
3972
40- coverage :
41- name : Publish coverage
42- needs : test
73+ size :
74+ name : Check bundle size
4375 runs-on : ubuntu-latest
76+
4477 steps :
45- - name : Publish coverage
46- uses : coverallsapp/github-action@v2
78+ - name : Checkout repository
79+ uses : actions/checkout@v7
80+
81+ - name : Setup Node.js
82+ uses : actions/setup-node@v6
4783 with :
48- parallel-finished : true
84+ node-version : 24
85+
86+ - name : Install dependencies
87+ run : npm ci
88+
89+ - name : Check bundle size
90+ run : npm run size
0 commit comments