ci: fix coverage summary table — remove Status column and trailing empty cell
All checks were successful
CI / Lint, type check, unit tests, coverage (push) Successful in 1m53s
CI / E2E browser tests (push) Successful in 44s

The 4-column table had a trailing empty column on the right because
the Status column was removed but the right border was still placed
after it. This created a visual glitch in the Forgejo log viewer.

- Convert to a clean 3-column table: Layer | Lines | Branch
- Remove emojis from table cells (they're double-width and break alignment)
- Add a plain-text pass/fail line below the table instead
- Use consistent 7-char padding for all percentage values so % signs align

Result: coverage summary renders cleanly in the CI job log.
This commit is contained in:
Joakim Mörling 2026-05-19 20:40:26 +02:00
parent 5705b17c4b
commit 13974e26f7

View file

@ -56,18 +56,18 @@ jobs:
const branchMissed = +lastBranch[1], branchCovered = +lastBranch[2];
const linePct = (lineCovered / (lineMissed + lineCovered) * 100).toFixed(1);
const branchPct = (branchCovered / (branchMissed + branchCovered) * 100).toFixed(1);
const lineStatus = linePct >= 70 ? '✅' : '❌';
const branchStatus = branchPct >= 60 ? '✅' : '❌';
const allPass = linePct >= 70 && branchPct >= 60;
console.log('');
console.log('╔══════════════════════════════════════════════════════╗');
console.log('║ Coverage Summary — Bilhej ║');
console.log('╠══════════════════════╦══════════╦══════════╦═════════╣');
console.log('║ Layer │ Lines │ Branch │ Status ║');
console.log('╠══════════════════════╬══════════╬══════════╬═════════╣');
console.log('║ Backend │ ' + linePct.padStart(6) + '% │ ' + branchPct.padStart(6) + '% │ ' + lineStatus + ' ' + branchStatus + ' ║');
console.log('╠══════════════════════╬══════════╬══════════╬═════════╣');
console.log('║ Thresholds │ 70.0% │ 60.0% │ ║');
console.log('╚══════════════════════╩══════════╩══════════╩═════════╝');
console.log('╔════════════════╦══════════╦════════════╗');
console.log('║ Coverage Summary — Bilhej ║');
console.log('╠════════════════╬══════════╬════════════╣');
console.log('║ Layer │ Lines │ Branch ║');
console.log('╠════════════════╬══════════╬════════════╣');
console.log('║ Backend │ ' + (linePct + '%').padStart(7) + ' │ ' + (branchPct + '%').padStart(7) + ' ║');
console.log('╠════════════════╬══════════╬════════════╣');
console.log('║ Thresholds │ ' + '70.0%'.padStart(7) + ' │ ' + '60.0%'.padStart(7) + ' ║');
console.log('╚════════════════╩══════════╩════════════╝');
console.log(allPass ? 'All backend thresholds met.' : 'Some backend thresholds missed.');
console.log('');
console.log('Frontend coverage printed above by Vitest text reporter.');
console.log('Download full HTML reports from the Artifacts tab.');