Catching Invisible Degradation in a Go OSS Project: 7 CI Checks Over 11 Months
The article discusses the implementation of a CI harness over 11 months to address gaps in a Go open-source project. It highlights the importance of various checks added to prevent issues such as unnoticed regressions and broken binaries. The author emphasizes that each check was introduced in response to specific failures encountered during development.
- ▪An issue arose three days after a release when the install command failed due to a module path change.
- ▪The CI harness included seven checks designed to catch different types of failures, including regressions and performance issues.
- ▪The checks were added progressively after each gap was identified, ensuring that future releases could be verified more thoroughly.
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 === 3422958) { document.getElementById('article-show-container').classList.add('current-user-is-article-author'); } } } } catch (e) { console.error(e); } Kazu Posted on May 20 Catching Invisible Degradation in a Go OSS Project: 7 CI Checks Over 11 Months #github #go #devops #opensource Three days after a release, an issue arrived: "The install command doesn't work." A module path change in that release had broken go install. My test suite had passed. My local build had passed. CI had passed. The binary was broken anyway, and I found out from a user report, not from a check. That was the first gap.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at DEV.to (Top).