Show HN: Testbump – Automate SemVer by running old tests on new code
Testbump is a new versioning tool that automates semantic versioning based on test outcomes. It determines version bumps by running old tests against new code without complex rules or parsing. The tool can be integrated into CI/CD pipelines for automated versioning.
- ▪Testbump uses a test suite as the versioning contract to determine semantic versioning.
- ▪It categorizes version changes into major, minor, or patch based on test results.
- ▪The tool can be run locally or integrated into CI/CD pipelines for automated versioning.
Opening excerpt (first ~120 words) tap to expand
testbump The versioning tool that will tell you if you broke your own contracts. testbump determines your semantic version based purely on the principle that your test suite is the versioning contract. No AST parsing, no complex rules, no dependency hell. Just pure Test-Driven Bumps (TDB) using Node and Git. The Logic Matrix Let C = Code, T = Tests. Let old = Last Git Tag, new = Current HEAD. 💥 MAJOR (Breaking): T(old) fails on C(new). (You broke a previously guaranteed contract). ✨ MINOR (Feature): T(old) passes on C(new) AND T(new) fails on C(old). (Old contracts are intact, but you added new tests/contracts that old code cannot fulfill). 🩹 PATCH (Fix): T(old) passes on C(new) AND T(new) passes on C(old). (Old contracts are intact, and no new code surface was tested).
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at GitHub.