mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-19 01:40:13 +00:00
@rmmh was no longer involved in the project anymore. Signed-off-by: Nguyen Hai Truong <truongnh@vn.fujitsu.com>
23 lines
983 B
Plaintext
23 lines
983 B
Plaintext
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.
|