in internal/util/utils.go [56:78]
func ExecuteCommand(cmd string) (stdout, stderr string, err error) {
hookScript, err := hookScript()
if err != nil {
return "", "", err
}
// Propagate the env vars from sub-process back to parent process
defer ExportEnvVars(filepath.Join(WorkDir, ".env"))
cmd = hookScript + "\n" + cmd
command := exec.Command("bash", "-ec", cmd)
sout, serr := bytes.Buffer{}, bytes.Buffer{}
command.Stdout, command.Stderr = &sout, &serr
if err := command.Start(); err != nil {
return sout.String(), serr.String(), err
}
if err := command.Wait(); err != nil {
return sout.String(), serr.String(), err
}
return sout.String(), serr.String(), nil
}