@@ -346,23 +346,33 @@ func SaveContainerLogs(dir string) ([]string, error) {
346346 return logFilePaths , nil
347347}
348348
349- func BuildImageOnce (once * sync.Once , dctx , dfile , nameAndTag string ) error {
349+ func BuildImageOnce (once * sync.Once , dctx , dfile , nameAndTag string , buildArgs map [ string ] string ) error {
350350 var err error
351351 once .Do (func () {
352- err = BuildImage (dctx , dfile , nameAndTag )
352+ err = BuildImage (dctx , dfile , nameAndTag , buildArgs )
353353 if err != nil {
354354 err = fmt .Errorf ("failed to build Docker image: %w" , err )
355355 }
356356 })
357357 return err
358358}
359359
360- func BuildImage (dctx , dfile , nameAndTag string ) error {
360+ func BuildImage (dctx , dfile , nameAndTag string , buildArgs map [ string ] string ) error {
361361 dfilePath := filepath .Join (dctx , dfile )
362362 if os .Getenv ("CTF_CLNODE_DLV" ) == "true" {
363- return RunCommand ("docker" , "build" , "--build-arg" , `GO_GCFLAGS=all=-N -l` , "--build-arg" , "CHAINLINK_USER=chainlink" , "--build-arg" , "CL_INSTALL_PRIVATE_PLUGINS=false" , "-t" , nameAndTag , "-f" , dfilePath , dctx )
363+ commandParts := []string {"docker" , "build" , "--build-arg" , `GO_GCFLAGS=all=-N -l` , "--build-arg" , "CHAINLINK_USER=chainlink" , "--build-arg" , "CL_INSTALL_PRIVATE_PLUGINS=false" }
364+ for k , v := range buildArgs {
365+ commandParts = append (commandParts , "--build-arg" , fmt .Sprintf ("%s=%s" , k , v ))
366+ }
367+ commandParts = append (commandParts , "-t" , nameAndTag , "-f" , dfilePath , dctx )
368+ return RunCommand (commandParts [0 ], commandParts [1 :]... )
369+ }
370+ commandParts := []string {"docker" , "build" , "--build-arg" , "CHAINLINK_USER=chainlink" , "--build-arg" , "CL_INSTALL_PRIVATE_PLUGINS=false" }
371+ for k , v := range buildArgs {
372+ commandParts = append (commandParts , "--build-arg" , fmt .Sprintf ("%s=%s" , k , v ))
364373 }
365- return RunCommand ("docker" , "build" , "--build-arg" , "CHAINLINK_USER=chainlink" , "--build-arg" , "CL_INSTALL_PRIVATE_PLUGINS=false" , "-t" , nameAndTag , "-f" , dfilePath , dctx )
374+ commandParts = append (commandParts , "-t" , nameAndTag , "-f" , dfilePath , dctx )
375+ return RunCommand (commandParts [0 ], commandParts [1 :]... )
366376}
367377
368378// RemoveTestContainers removes all test containers, volumes and CTF docker network
0 commit comments