func()

in runner/server_runnergroup.go [15:43]


func (s *Server) deployRunnerGroups() error {
	targetAddr, err := s.firstNonLocalAddr()
	if err != nil {
		return err
	}

	uploadURL := fmt.Sprintf("http://%s/v1/runnergroups/$(POD_NAME)/result", targetAddr)

	var wg sync.WaitGroup
	errCh := make(chan error, len(s.groups))
	for idx := range s.groups {
		wg.Add(1)
		g := s.groups[idx]
		go func() {
			defer wg.Done()

			errCh <- g.Deploy(context.Background(), uploadURL)
		}()
	}
	wg.Wait()

	close(errCh)
	for err := range errCh {
		if err != nil {
			return err
		}
	}
	return nil
}