go-crap v0.5.0 Release
go-crap a CLI tool that calculates the CRAP score for Go projects.
Installation
Download the appropriate binary for your platform below, or:
Install the pre-built binary with version info stamped via ldflags:
curl -fsSL https://padiazg.github.io/go-crap/install.sh | shOr install from source:
go install github.com/padiazg/go-crap@v0.5.0use Homebrew
brew tap padiazg/go-crap
brew install go-crapChangelog
Features
- 34b195b: feat(install): replace go install with curl installer for pre-built binaries (@padiazg)
- 5205cd9: feat(report): add CRAP summary and baseline engine (@padiazg)
- 0115cf0: feat(report): baseline diff display in all formatters (@padiazg)
- 5fe4f7d: feat(report): show baseline deltas in all formatters (@padiazg)
- c1a8ae7: feat: add --timeout flag to scan command (#40) (@matiasinsaurralde)
- 12d2b5a: feat: exclude test files by default (@padiazg)
Bug fixes
- 58403de: fix(coverage): preserve partial coverage on test failure (@padiazg)
- 95cb47f: fix: deduplicate merged cover profile entries by block position (@padiazg)
- 5339e20: fix: remove coverage profile temp files after successful scan (@matiasinsaurralde)
- f1c9861: fix: summary uses filtered entries instead of full list (@padiazg)
Others
- ebe9d53: Add --coverage-profile flag to scan command (#42) (@mem)
- 827d908: Added documentation for Github readme CRAP badge (@padiazg)
- 0f947f5: Added more permissions to crap.yaml workflow (@padiazg)
- 4382112: Bump actions/checkout from 4 to 7 (@dependabot[bot])
- 3b365f6: Bump actions/github-script from 7 to 9 (@dependabot[bot])
- 90a65eb: Bump actions/setup-go from 5 to 7 (#44) (@dependabot[bot])
- 65a285e: Bump actions/setup-python from 6 to 7 (@dependabot[bot])
- 471d59c: Bump actions/upload-artifact from 4 to 7 (@dependabot[bot])
- 29f2ab7: Bump github.com/jedib0t/go-pretty/v6 from 6.8.1 to 6.8.2 (@dependabot[bot])
- f6482f3: Bump github.com/jedib0t/go-pretty/v6 from 6.8.2 to 6.8.3 (@dependabot[bot])
- 8f855d8: add --fail-regression-ignore-covered flag (@padiazg)
- cf029a0: add ignore fully covered functions from crap regresion check (@padiazg)
- 1b4c195: added COMMENTER_PAT and permissions (@padiazg)
- 7694029: added back github-token (@padiazg)
- 9bc98f6: added community standard docs (@padiazg)
- 846bb85: added pull_request_target to crap workflow (@padiazg)
- 5ab528f: added tests to Spash function (@padiazg)
- 43366d7: fieldalignment fixes (@padiazg)
- 007427e: fix baseline comparisson report (@padiazg)
- af1db3f: fix crap ci workflow to fetch baseline (@padiazg)
- 6782de7: fix crap reporting ci workflow to generate baseline properly (@padiazg)
- c489fc3: fix fieldalignment (@padiazg)
- a0aa9f5: fix fmt issues (@padiazg)
- 3f61a95: fix fmt issues (@padiazg)
- f1d941f: fix fmt issues (@padiazg)
- 851ddc4: fix format issue (@padiazg)
- ab5eb71: fix linting issue (@padiazg)
- fc0c398: fix linting issues (@padiazg)
- 0f21286: make ci workflow recover baseline from last push to master (@padiazg)
- abd1999: refactor(coverage): store coverage profile path in ModuleCoverage (@padiazg)
- 6e91ef6: refactored report/json tests (@padiazg)
- c917126: removed explicit github-token (@padiazg)
- efed621: replaced COMMENTER_PAT with GITHUB_TOKEN (@padiazg)
- eafaa80: set v0.5.0 release date (@padiazg)
- afe6b2a: shrinked crap score back to under baseline (@padiazg)
- 38910dd: update documentation (@padiazg)
- 1303b20: updated CI workflow to use the new baseline comparison feature (@padiazg)
- 9d397a8: updated changelog (@padiazg)
- 6c15d90: updated docs (@padiazg)
- 84620a3: updated docs for coverage recovery (@padiazg)
- 3864e35: updated documentation (@padiazg)
- a93beb0: workflow cleanup (@padiazg)
Full Changelog: v0.4.1...v0.5.0