in gke-windows-builder/builder/main.go [91:133]
func main() {
log.Print("Starting Windows multi-arch container builder")
flag.Var(&buildArgs, "build-arg", "The list of parameters to pass to the docker build command")
flag.Parse()
if *containerImageName == "" {
log.Fatalf("Error container-image-name flag is required but was not set")
}
if *networkProject != "" && *subnetworkProject != "" && *networkProject != *subnetworkProject {
log.Fatalf("When both network and subnetwork projects are set, they must be identical")
}
// subnetworkProject is deprecated. If only subnetwork was set, then copy its value to networkProject
if *subnetworkProject != "" && *networkProject == "" {
*networkProject = *subnetworkProject
}
pickedVersionMap := getPickedVersionMap(*pickedVersions)
// Add obsolete 1809 version for test
if *testObsoleteVersion {
pickedVersionMap["1809"] = "windows-cloud/global/images/family/windows-1809-core-for-containers"
}
var err error
// Fetch builder project ID from metadata or gcloud command, if it's not set in flags
if *projectID == "" {
if *projectID, err = builder.GetProject(); err != nil {
log.Fatalf("Failed to get builder project ID: %+v", err)
}
}
if *workspaceBucket == "" {
*workspaceBucket = *projectID + "_builder_tmp"
}
if err = setupProjectForBuilder(context.Background()); err != nil {
log.Fatalf("Failed to setup builder project with error: %+v", err)
}
if err = process(pickedVersionMap); err != nil {
log.Fatalf("Windows multi-arch container building process failed with error: %+v", err)
}
log.Println("Windows multi-arch container building process is completed")
}