Why green CI doesn't mean your system works
The article discusses a case study where a TypeScript migration led to unexpected issues in a continuous integration (CI) system. Despite CI showing green results, the system was running tests twice without any warnings, resulting in silent performance degradation. The author emphasizes that a green CI does not guarantee correctness and suggests implementing a test counter to catch such issues.
- ▪After migrating from JavaScript to TypeScript, the CI system took almost twice as long to run without any failures.
- ▪The author discovered that Playwright was executing both .spec.js and .spec.ts files simultaneously, leading to duplicated test runs.
- ▪The root cause was a missing line in the configuration file that allowed Playwright to pick up both file types, which was fixed by specifying the testMatch.
Opening excerpt (first ~120 words) tap to expand
try { if(localStorage) { let currentUser = localStorage.getItem('current_user'); if (currentUser) { currentUser = JSON.parse(currentUser); if (currentUser.id === 3953778) { document.getElementById('article-show-container').classList.add('current-user-is-article-author'); } } } } catch (e) { console.error(e); } Darya Belaya Posted on May 27 • Originally published at habr.com Why green CI doesn't mean your system works #testing #playwright #typescript #ci A case study: how a TypeScript migration doubled my test runs — with zero failures CI was green. Tests were passing. PRs were merging. The system was broken. And nothing in the logs showed it. After migrating my test project from JavaScript to TypeScript, I noticed something odd: CI started taking almost twice as long to run. No failures.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at DEV.to (Top).