Skip to content

Commit 36b474b

Browse files
authored
Merge pull request kubernetes#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)
2 parents 139fa69 + 52f5093 commit 36b474b

File tree

1 file changed

+27
-3
lines changed

1 file changed

+27
-3
lines changed

test/e2e_node/builder/build.go

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,11 @@ var k8sBinDir = flag.String("k8s-bin-dir", "", "Directory containing k8s kubelet
3232
var useDockerizedBuild = flag.Bool("use-dockerized-build", false, "Use dockerized build for test artifacts")
3333
var targetBuildArch = flag.String("target-build-arch", "linux/amd64", "Target architecture for the test artifacts for dockerized build")
3434

35-
var buildTargets = []string{
35+
var buildCGOTargets = []string{
3636
"cmd/kubelet",
37+
}
38+
39+
var buildNoCGOTargets = []string{
3740
"test/e2e_node/e2e_node.test",
3841
"github.com/onsi/ginkgo/v2/ginkgo",
3942
"cluster/gce/gci/mounter",
@@ -42,13 +45,34 @@ var buildTargets = []string{
4245

4346
// BuildGo builds k8s binaries.
4447
func BuildGo() error {
48+
if err := BuildTargets(true); err != nil {
49+
return fmt.Errorf("unable to build cgo targets : %w", err)
50+
}
51+
if err := BuildTargets(false); err != nil {
52+
return fmt.Errorf("unable to build non-cgo targets : %w", err)
53+
}
54+
return nil
55+
}
56+
57+
// BuildGo builds k8s binaries.
58+
func BuildTargets(cgo bool) error {
4559
klog.Infof("Building k8s binaries...")
4660
k8sRoot, err := utils.GetK8sRootDir()
4761
if err != nil {
4862
return fmt.Errorf("failed to locate kubernetes root directory %v", err)
4963
}
50-
targets := strings.Join(buildTargets, " ")
51-
cmd := exec.Command("make", "-C", k8sRoot, fmt.Sprintf("WHAT=%s", targets))
64+
targets := buildCGOTargets
65+
if !cgo {
66+
targets = buildNoCGOTargets
67+
}
68+
what := strings.Join(targets, " ")
69+
cmd := exec.Command("make", "-C", k8sRoot,
70+
fmt.Sprintf("WHAT=%s", what))
71+
if cgo {
72+
cmd.Args = append(cmd.Args, "CGO_ENABLED=1")
73+
} else {
74+
cmd.Args = append(cmd.Args, "CGO_ENABLED=0")
75+
}
5276
if IsDockerizedBuild() {
5377
klog.Infof("Building dockerized k8s binaries targets %s for architecture %s", targets, GetTargetBuildArch())
5478
// Multi-architecture build is only supported in dockerized build

0 commit comments

Comments
 (0)