Merge pull request #120893 from dims/build-kubelet-with-cgo-for-sig-node-e2e-tests-not-ginkgo

Build kubelet with CGO for sig-node e2e tests (not ginkgo)
This commit is contained in:
Kubernetes Prow Robot 2023-09-26 21:05:21 -07:00 committed by GitHub
commit 36b474b008
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -32,8 +32,11 @@ var k8sBinDir = flag.String("k8s-bin-dir", "", "Directory containing k8s kubelet
var useDockerizedBuild = flag.Bool("use-dockerized-build", false, "Use dockerized build for test artifacts")
var targetBuildArch = flag.String("target-build-arch", "linux/amd64", "Target architecture for the test artifacts for dockerized build")
var buildTargets = []string{
var buildCGOTargets = []string{
"cmd/kubelet",
}
var buildNoCGOTargets = []string{
"test/e2e_node/e2e_node.test",
"github.com/onsi/ginkgo/v2/ginkgo",
"cluster/gce/gci/mounter",
@ -42,13 +45,34 @@ var buildTargets = []string{
// BuildGo builds k8s binaries.
func BuildGo() error {
if err := BuildTargets(true); err != nil {
return fmt.Errorf("unable to build cgo targets : %w", err)
}
if err := BuildTargets(false); err != nil {
return fmt.Errorf("unable to build non-cgo targets : %w", err)
}
return nil
}
// BuildGo builds k8s binaries.
func BuildTargets(cgo bool) error {
klog.Infof("Building k8s binaries...")
k8sRoot, err := utils.GetK8sRootDir()
if err != nil {
return fmt.Errorf("failed to locate kubernetes root directory %v", err)
}
targets := strings.Join(buildTargets, " ")
cmd := exec.Command("make", "-C", k8sRoot, fmt.Sprintf("WHAT=%s", targets))
targets := buildCGOTargets
if !cgo {
targets = buildNoCGOTargets
}
what := strings.Join(targets, " ")
cmd := exec.Command("make", "-C", k8sRoot,
fmt.Sprintf("WHAT=%s", what))
if cgo {
cmd.Args = append(cmd.Args, "CGO_ENABLED=1")
} else {
cmd.Args = append(cmd.Args, "CGO_ENABLED=0")
}
if IsDockerizedBuild() {
klog.Infof("Building dockerized k8s binaries targets %s for architecture %s", targets, GetTargetBuildArch())
// Multi-architecture build is only supported in dockerized build