mirror of
https://github.com/optim-enterprises-bv/kubernetes.git
synced 2025-11-07 13:54:19 +00:00
- add ./hack/tools/go.mod, this makes ./hack/tools a distinct module - hack/tools/tools.go undescore imports bazel related tools, over time we can add others. - hack/*.sh scripts will cd to hack/tools and go install tools from there Signed-off-by: Davanum Srinivas <davanum@gmail.com>
Typecheck does cross-platform typechecking of source code for all Go build
platforms.
The primary benefit is speed: a full Kubernetes cross-build takes 20 minutes
and >40GB of RAM, while this takes under 2 minutes and <8GB of RAM.
It uses Go's built-in parsing and typechecking libraries (go/parser and
go/types), which unfortunately are not what the go compiler uses. Occasional
mismatches will occur, but overall they correspond closely.
Failures can be ignored if they don't block the build:
Things go/types errors on that go build doesn't:
True errors (according to the spec):
These should be fixed whenever possible. Ignore if a fix isn't possible
or is in progress (e.g., vendored code).
- unused variables in closures
False errors:
These should be ignored and reported upstream if applicable.
- type checking mismatches between staging and generated types
Things go build fails on that we don't:
- CGo errors, including syntax and linker errors.