-
Notifications
You must be signed in to change notification settings - Fork 202
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add coverage job #571
Add coverage job #571
Conversation
This looks useful.
Interesting that a const has coverage. Some macros has coverage, others don't, so probably not all code is fully "covered" by the tool :) |
ede6bf8
to
f517802
Compare
I'd guess that constants which are built into the binary will be counted as "code" and generate coverage. Macros which are only used by the preprocessor won't generate coverage. They have to actually write out some text which is seen as C code by the compiler. I'd be interested in trying out the "Coveralls" or "CodeCov" services, which look like good ways to track coverage over time, coverage diff in a PR, and so on. |
f517802
to
0b4352b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it might be better to move this job into their own "tools.yml" in te long run, though
I feel like code-scanning tools (like CodeQL, or Clang Static Analyzer) should be in their own jobs. However, code coverage should be part of the Release "Build" pipeline (not the "Dev" pipeline) because it's actually a fixed, reportable artifact of the release process: "we built the code; we ran the tests; the tests covered 85% of the code; now we release the binaries". |
I think you are seeing too much on those names, I created the files as ways to automte the work that Philip does on each release, and build.yml was the first; with a simple objective to make sure the code actually builds in the few pltforms we could easily use through github actions. I was specially motivated to make sure macOS would work because neither Philip or Zoltan have access to it and the build was broken by a contributor merged patch and almost released once.
Eitherway, we are a very small team, none of us doing this as "work", so our perspectives will obviously differ, and indeed some people assume that our jobs are a serious CI/CD when they are meant only as additional automation on top of developer directed tests, but feel free to tweak them for your needs as well. |
Fixes #555