github.com/helmwave/helmwave@v0.36.4-0.20240509190856-b35563eba4c6/pkg/plan/build_charts.go (about)

     1  package plan
     2  
     3  import (
     4  	"github.com/helmwave/helmwave/pkg/parallel"
     5  	"github.com/helmwave/helmwave/pkg/release"
     6  )
     7  
     8  func (p *Plan) buildCharts() error {
     9  	wg := parallel.NewWaitGroup()
    10  	wg.Add(len(p.body.Releases))
    11  
    12  	for _, rel := range p.body.Releases {
    13  		go func(wg *parallel.WaitGroup, rel release.Config) {
    14  			defer wg.Done()
    15  			err := rel.DownloadChart(p.tmpDir)
    16  			if err != nil {
    17  				wg.ErrChan() <- err
    18  			}
    19  		}(wg, rel)
    20  	}
    21  
    22  	return wg.Wait()
    23  }