func shutdownBuildServers()

in gke-windows-builder/builder/main.go [220:249]


func shutdownBuildServers(bss []builderServerStatus) {
	if *reuseBuilderInstances {
		log.Printf("Keeping instances for reuse")
		wg := sync.WaitGroup{}
		for _, bsc := range bss {
			if bsc.s != nil {
				wg.Add(1)
				go func(bsc builderServerStatus) {
					defer wg.Done()
					bsc.s.RemoteWindowsServer.CleanFolder()
				}(bsc)
			}
		}
		wg.Wait()
		return
	}

	log.Printf("Deleting created instances")
	wg := sync.WaitGroup{}
	for _, bsc := range bss {
		if bsc.s != nil {
			wg.Add(1)
			go func(bsc builderServerStatus) {
				defer wg.Done()
				bsc.s.DeleteInstance()
			}(bsc)
		}
	}
	wg.Wait()
}