Build kubelet with CGO for sig-node e2e tests (not ginkgo)

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
This commit is contained in:
Davanum Srinivas 2023-09-26 07:37:15 -04:00
parent 46835f8792
commit 52f5093d77
No known key found for this signature in database
GPG Key ID: 80D83A796103BF59

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