k8s.io/kubernetes@v1.29.3/test/typecheck/README (about)

     1  Typecheck does cross-platform typechecking of source code for all Go build
     2  platforms.
     3  
     4  The primary benefit is speed: a full Kubernetes cross-build takes 20 minutes
     5  and >40GB of RAM, while this takes under 2 minutes and <8GB of RAM.
     6  
     7  It uses Go's built-in parsing and typechecking libraries (go/parser and
     8  go/types), which unfortunately are not what the go compiler uses. Occasional
     9  mismatches will occur, but overall they correspond closely.
    10  
    11  Failures can be ignored if they don't block the build:
    12  
    13  Things go/types errors on that go build doesn't:
    14    True errors (according to the spec):
    15      These should be fixed whenever possible. Ignore if a fix isn't possible
    16      or is in progress (e.g., vendored code).
    17      - unused variables in closures
    18    False errors:
    19      These should be ignored and reported upstream if applicable.
    20      - type checking mismatches between staging and generated types
    21  Things go build fails on that we don't:
    22    - CGo errors, including syntax and linker errors.