Setup e2e_node to support testing on ARM64

* Enable dockerized build with --use-dockerized-build=true
* Build and create test artifacts for ARM64 with --target-build-arch=arm64
* Prepull multi-arch ready container image
* Download ARM64 binaries/packages if running on ARM64 machine
This commit is contained in:
Ike Ma
2023-03-30 17:01:38 +00:00
parent 6d09ab86c2
commit e21cf9a54e
7 changed files with 57 additions and 9 deletions

View File

@@ -64,12 +64,17 @@ func RootDir() (string, error) {
}
// GetK8sBuildOutputDir returns the build output directory for k8s
func GetK8sBuildOutputDir() (string, error) {
// For dockerized build, targetArch (eg: 'linux/arm64', 'linux/amd64') must be explicitly specified
// For non dockerized build, targetArch is ignored
func GetK8sBuildOutputDir(isDockerizedBuild bool, targetArch string) (string, error) {
k8sRoot, err := GetK8sRootDir()
if err != nil {
return "", err
}
buildOutputDir := filepath.Join(k8sRoot, "_output/local/go/bin")
if isDockerizedBuild {
buildOutputDir = filepath.Join(k8sRoot, "_output/dockerized/bin/", targetArch)
}
if _, err := os.Stat(buildOutputDir); err != nil {
return "", err
}