Installing charts in parallel using go routines
The code is ignoring the return values from the go routine
The WorkGroup isn't used to block until completion

// 1. Perhaps you'd want to have a separate channel to communicate the errors.
var errCh := make(chan error, len(charts))
for _, chartInstallation := range charts {
    wg.Add(1)
    go func(errCh chan error){
       installed, err := installChart(&amp;wg,chartInstallation, releaseName, actionConfig, clientGetter, settings, log)
       if err != nil {
           errCh &lt;- err
       }
    }(errCh)
}
// 2. Wait for the wait group to complete
wg.Wait()
// 1. Collect the errors
for err := range errCh {
    fmt.Println(&quot;Error: &quot;, err)
}