@@ -65,13 +65,12 @@ jobs:
6565 run : npm run validate:changeset
6666
6767 test :
68- name : Test - ${{ matrix.os }} - Node v${{ matrix.node-version == '24.15' && '24.x' || matrix.node-version }}, Webpack ${{ matrix.webpack-version }} (${{ matrix.shard }})
68+ name : Test - ${{ matrix.os }} - Node v${{ matrix.node-version }}, Webpack ${{ matrix.webpack-version }} (${{ matrix.shard }})
6969
7070 strategy :
7171 matrix :
7272 os : [ubuntu-latest, windows-latest, macos-latest]
73- # 24.15 is pinned on purpose: Node 24.16 is broken for Puppeteer. Do not bump to 24.x.
74- node-version : [22.x, 24.15, 25.x]
73+ node-version : [22.x, 24.x, 25.x, 26.x]
7574 shard : ["1/4", "2/4", "3/4", "4/4"]
7675 webpack-version : [latest]
7776
9392 - name : Install dependencies
9493 run : npm ci
9594
95+ - name : Build
96+ run : npm run build
97+
98+ - name : Install Chrome for Puppeteer
99+ run : npx puppeteer browsers install chrome
100+
96101 - name : Setup firefox
97102 if : matrix.os != 'windows-latest'
98103 uses : browser-actions/setup-firefox@0bc507ddf224827e3b1af68e014d5e42ab93e795 # v1.7.2
@@ -110,7 +115,31 @@ jobs:
110115 - name : Run tests for webpack version ${{ matrix.webpack-version }}
111116 run : npm run test:coverage -- --test-shard=${{ matrix.shard }}
112117
118+ - name : Upload coverage artifact
119+ uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
120+ with :
121+ name : coverage-${{ matrix.os }}-${{ matrix.node-version }}-${{ strategy.job-index }}
122+ path : coverage/lcov.info
123+ if-no-files-found : error
124+
125+ upload-coverage :
126+ name : Upload coverage to codecov
127+
128+ needs : test
129+
130+ runs-on : ubuntu-latest
131+
132+ steps :
133+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
134+
135+ - name : Download coverage artifacts
136+ uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
137+ with :
138+ pattern : coverage-*
139+ path : coverage
140+
113141 - name : Submit coverage data to codecov
114142 uses : codecov/codecov-action@e79a6962e0d4c0c17b229090214935d2e33f8354 # v6.0.1
115143 with :
116144 token : ${{ secrets.CODECOV_TOKEN }}
145+ directory : coverage
0 commit comments