diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7704e2a..a33ccff 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,6 +11,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 + with: + fetch-depth: 0 - name: Set up Go uses: actions/setup-go@v2 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 116f3c1..3215086 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,7 +12,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v2 with: - go-version: 1.16 + go-version: 1.17 - name: Build run: go build -v ./... diff --git a/pkg/renderer/template_renderer.go b/pkg/renderer/template_renderer.go index 1b6f706..0557beb 100644 --- a/pkg/renderer/template_renderer.go +++ b/pkg/renderer/template_renderer.go @@ -1,6 +1,7 @@ package renderer import ( + "bytes" "io" "os" "os/exec" @@ -62,12 +63,18 @@ func (r *TextTemplateRenderer) RenderTemplate(output io.Writer, templateFile *re } func shell(command string) (string, error) { - bytes, err := exec.Command("/bin/sh", "-c", command).Output() + var outBuffer bytes.Buffer + cmd := exec.Command("/bin/sh", "-c", command) + cmd.Stdout = &outBuffer + cmd.Stderr = os.Stderr + cmd.Stdin = os.Stdin + + err := cmd.Run() if err != nil { return "", err } - output := string(bytes) + output := outBuffer.String() output = strings.TrimSuffix(output, "\n") output = strings.TrimSuffix(output, "\r") return output, nil