Skip to content

Commit a0c250b

Browse files
committed
chore: simplify error handling in template push
1 parent 060eeed commit a0c250b

File tree

1 file changed

+4
-11
lines changed

1 file changed

+4
-11
lines changed

cli/templatepush.go

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,10 @@ func (pf *templateUploadFlags) stdin() bool {
3535

3636
func (pf *templateUploadFlags) upload(cmd *cobra.Command, client *codersdk.Client) (*codersdk.UploadResponse, error) {
3737
var (
38-
content io.Reader
39-
pipeErrCh = make(chan error, 1)
38+
content io.Reader
4039
)
4140
if pf.stdin() {
4241
content = cmd.InOrStdin()
43-
// No piping if reading from stdin.
44-
pipeErrCh <- nil
45-
close(pipeErrCh)
4642
} else {
4743
prettyDir := prettyDirectoryPath(pf.directory)
4844
_, err := cliui.Prompt(cmd, cliui.PromptOptions{
@@ -56,11 +52,11 @@ func (pf *templateUploadFlags) upload(cmd *cobra.Command, client *codersdk.Clien
5652

5753
pipeReader, pipeWriter := io.Pipe()
5854
go func() {
59-
defer pipeWriter.Close()
60-
defer close(pipeErrCh)
6155
bufWr := bufio.NewWriter(pipeWriter)
6256
defer bufWr.Flush()
63-
pipeErrCh <- provisionersdk.Tar(bufWr, pf.directory, provisionersdk.TemplateArchiveLimit)
57+
58+
err := provisionersdk.Tar(bufWr, pf.directory, provisionersdk.TemplateArchiveLimit)
59+
pipeWriter.CloseWithError(err)
6460
}()
6561
defer pipeReader.Close()
6662
content = pipeReader
@@ -76,9 +72,6 @@ func (pf *templateUploadFlags) upload(cmd *cobra.Command, client *codersdk.Clien
7672
if err != nil {
7773
return nil, xerrors.Errorf("upload: %w", err)
7874
}
79-
if err = <-pipeErrCh; err != nil {
80-
return nil, xerrors.Errorf("pipe: %w", err)
81-
}
8275
return &resp, nil
8376
}
8477

0 commit comments

Comments
 (0)