ci: report server and client test coverage to Codecov
Context & Requests for Reviewers
Adds code coverage tracking. Not actually on our list of SDLC improvements (#213), but a very important item suggested by @ThisIsMissEm (thanks!).
I chose codecov arbitrarily: happy to switch to another service if someone feels strongly and they are free for us to use.
Note: folks may want to install the codecov plugin in their browser of choice for more nice features in code review! Chrome or Firefox.
Tests
Codecov ran on this PR, but we won't get actual numbers uploaded until this merges. It only compares to the default branch coverage, and it's not enabled there until this PR lands.
Checklist
Only check items that apply to this PR; leave the rest unchecked.
-
If you changed anything user-facing (i.e. user interface or APIs):
Did you update related docs? -
If the change is notable (refer to Keep a Changelog conventions):
Did you update CHANGELOG.md? -
If you changed
db/src/scripts/**and usedCREATE TABLE,ADD COLUMN, orALTER COLUMN:
Are as many columns markedNOT NULLas possible? If some columns can sometimes be null depending on other columns, are thereCHECKconstraints capturing those relationships, and are these also reflected using unions in the associated Kysely types? -
If you added a new signal in
server/services/signalsService/signals/**:
Did you classify every error case as a permanent error (SignalPermanentError, no retry) or a normal error (retryable)? Any case where the signal can't determine a score should be aSignalPermanentError.