Closed Blacksmoke16 closed 1 month ago
This is proving to be not as straightforward as I was initially thinking. There are no pre-built binaries for kcov so I can't just fetch them via curl or install via apt or something. There is a homebrew package, but when used on the macos-latest
image it seems broken: https://github.com/athena-framework/athena/actions/runs/11094736512/job/30822531929?pr=451.
The compiled specs are also running on macos-latest
for a reason: https://github.com/athena-framework/athena/pull/406, so changing it would essentially be reverting that PR.
Also as I discovered in https://github.com/crystal-lang/crystal/issues/1157#issuecomment-2381352644, the compiled tests would treat the unit tests as having 0% coverage which isn't ideal. So it might be easiest to just have coverage be its own CI job that does both unit and compiled in one batch. This way we only have to build kcov once and good to go? Not a fan of essentially running the specs twice, so I'll keep thinking on this for now...
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
:information_source: You can also turn on project coverage checks and project coverage reporting on Pull Request comment
Thanks for integrating Codecov - We've got you covered :open_umbrella:
Context
Resolves #450.
Changelog
scripts/test.sh
to optionally allow generating of code coveragemacos-latest
itself again, or usingactions/cache
to not build it every timeBefore merging, remember to add the
athena-framework/athena
prefix to the PR number in the PR title