Skip to content

Commit daf204b

Browse files
committed
ci(contracts): add a serial coverage baseline job
Run the full coverage suite on a single runner (SHARD_TOTAL=1) alongside the unchanged 4-shard matrix. It does not upload to Codecov (the merge job owns that) and serves as the serial wall-clock reference and a ground-truth check that the sharded-and-merged coverage matches a single run; its lcov is published as an artifact for that comparison. Signed-off-by: Miguel_LZPF <miguel.carpena@io.builders>
1 parent 8e3f08d commit daf204b

1 file changed

Lines changed: 55 additions & 0 deletions

File tree

.github/workflows/100-flow-ats-test.yaml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,3 +202,58 @@ jobs:
202202
token: ${{ secrets.CODECOV_TOKEN }}
203203
files: packages/ats/contracts/coverage/lcov.info
204204
disable_search: true
205+
206+
# Serial baseline: run the FULL coverage suite on a single runner (SHARD_TOTAL=1) — the one-shot
207+
# run that the sharded `coverage-ats` matrix parallelises. It does NOT upload to Codecov (the
208+
# merge-coverage job owns that), and runs independently of the matrix. Kept as the wall-clock
209+
# reference and a ground-truth that the sharded+merged report matches a single run; its lcov is
210+
# published as an artifact for that comparison.
211+
coverage-serial:
212+
name: coverage (serial baseline)
213+
runs-on: token-studio-linux-large
214+
timeout-minutes: 45
215+
env:
216+
CONTRACT_SIZER_RUN_ON_COMPILE: "false"
217+
REPORT_GAS: "false"
218+
219+
steps:
220+
- name: Harden Runner
221+
uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1
222+
with:
223+
egress-policy: audit
224+
225+
- name: Checkout repository
226+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
227+
228+
- name: Setup NodeJS Environment
229+
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
230+
with:
231+
node-version-file: .nvmrc
232+
cache: "npm"
233+
234+
- name: Restore dependencies from cache
235+
id: deps-cache
236+
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
237+
with:
238+
path: |
239+
node_modules
240+
*/*/node_modules
241+
*/*/*/node_modules
242+
~/.npm
243+
key: ${{ runner.os }}-deps-${{ hashFiles('package-lock.json') }}
244+
245+
- name: Install dependencies
246+
if: steps.deps-cache.outputs.cache-hit != 'true'
247+
run: npm ci --ignore-scripts
248+
249+
- name: Run full coverage (serial, single run)
250+
run: npm run test:coverage --workspace=packages/ats/contracts
251+
252+
- name: Upload serial coverage artifact
253+
if: ${{ !cancelled() }}
254+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
255+
with:
256+
name: coverage-serial
257+
path: packages/ats/contracts/coverage/lcov.info
258+
if-no-files-found: error
259+
retention-days: 1

0 commit comments

Comments
 (0)