Closed Groxx closed 2 years ago
Files with Coverage Reduction | New Missed Lines | % | ||
---|---|---|---|---|
internal/compatibility/proto/enum.go | 5 | 18.98% | ||
internal/compatibility/thrift/types.go | 5 | 44.9% | ||
internal/compatibility/proto/types.go | 12 | 21.08% | ||
<!-- | Total: | 22 | --> |
Totals | |
---|---|
Change from base Build 27a5a12e-f930-4df7-a1ba-389c8c4dbb1d: | -0.06% |
Covered Lines: | 12362 |
Relevant Lines: | 19363 |
Builds now work reliably, even in parallel, and it recovers from previous builds (whether successful or not) without running more than necessary.
We should switch to revive and goimports like the server does, and ideally both will move to
go test ./...
eventually (with build tags or something to exclude integration tests) to make the tests run more normally. We can also take advantage of Go's built-in coverage merging and reports that way.But those are for another day. This is just setting a saner foundation.
At a very high level, this brings the client's makefile in line with the server's, and adds
make build
andmake all
targets for dev-simplicity (and visibility). These targets will do a full build / lint only when necessary, i.e. after changes have been made. They should be more than sufficient for most uses, as they now ensure thrift/fmt/copyright headers consistently, but you can runmake lint
to get the output again if desired, and some stages can be run independently without running later ones (like fmt).To see current top-level targets, just run
make
. It'll print help output: