@@ -51,11 +51,18 @@ func (r *parallelRunner) Exec(
5151 if err != nil {
5252 return err
5353 }
54- defer str .Close ()
5554 if err := str .CreateBucket (store .EnvironmentBucket ()); err != nil {
5655 return err
5756 }
58- return handleExec (ctx , e , eng , parallelSpec , inputEnv , str )
57+ cacheData , err := str .GetAll ()
58+ if err != nil {
59+ return err
60+ }
61+ if err := str .Close (); err != nil {
62+ ctx .Logger .Error (err , "unable to close store" )
63+ }
64+
65+ return handleExec (ctx , e , eng , parallelSpec , inputEnv , cacheData )
5966 }
6067
6168 return fmt .Errorf ("no parallel executables to run" )
@@ -65,8 +72,9 @@ func (r *parallelRunner) Exec(
6572func handleExec (
6673 ctx * context.Context , parent * executable.Executable ,
6774 eng engine.Engine ,
68- parallelSpec * executable.ParallelExecutableType , promptedEnv map [string ]string ,
69- str store.Store ,
75+ parallelSpec * executable.ParallelExecutableType ,
76+ promptedEnv map [string ]string ,
77+ cacheData map [string ]string ,
7078) error {
7179 groupCtx , cancel := stdCtx .WithCancel (ctx .Ctx )
7280 defer cancel ()
@@ -77,11 +85,7 @@ func handleExec(
7785 }
7886 group .SetLimit (limit )
7987
80- dm , err := str .GetAll ()
81- if err != nil {
82- return err
83- }
84- dataMap := expr .ExpressionEnv (ctx , parent , dm , promptedEnv )
88+ dataMap := expr .ExpressionEnv (ctx , parent , cacheData , promptedEnv )
8589
8690 var execs []engine.Exec
8791 for i , refConfig := range parallelSpec .Execs {
0 commit comments