Build kubelet with CGO for sig-node e2e tests (not ginkgo)
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
This commit is contained in:
		@@ -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 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 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",
 | 
						"cmd/kubelet",
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var buildNoCGOTargets = []string{
 | 
				
			||||||
	"test/e2e_node/e2e_node.test",
 | 
						"test/e2e_node/e2e_node.test",
 | 
				
			||||||
	"github.com/onsi/ginkgo/v2/ginkgo",
 | 
						"github.com/onsi/ginkgo/v2/ginkgo",
 | 
				
			||||||
	"cluster/gce/gci/mounter",
 | 
						"cluster/gce/gci/mounter",
 | 
				
			||||||
@@ -42,13 +45,34 @@ var buildTargets = []string{
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// BuildGo builds k8s binaries.
 | 
					// BuildGo builds k8s binaries.
 | 
				
			||||||
func BuildGo() error {
 | 
					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...")
 | 
						klog.Infof("Building k8s binaries...")
 | 
				
			||||||
	k8sRoot, err := utils.GetK8sRootDir()
 | 
						k8sRoot, err := utils.GetK8sRootDir()
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return fmt.Errorf("failed to locate kubernetes root directory %v", err)
 | 
							return fmt.Errorf("failed to locate kubernetes root directory %v", err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	targets := strings.Join(buildTargets, " ")
 | 
						targets := buildCGOTargets
 | 
				
			||||||
	cmd := exec.Command("make", "-C", k8sRoot, fmt.Sprintf("WHAT=%s", targets))
 | 
						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() {
 | 
						if IsDockerizedBuild() {
 | 
				
			||||||
		klog.Infof("Building dockerized k8s binaries targets %s for architecture %s", targets, GetTargetBuildArch())
 | 
							klog.Infof("Building dockerized k8s binaries targets %s for architecture %s", targets, GetTargetBuildArch())
 | 
				
			||||||
		// Multi-architecture build is only supported in dockerized build
 | 
							// Multi-architecture build is only supported in dockerized build
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user