diff --git a/main.go b/main.go index 5deb194..5ce92a8 100644 --- a/main.go +++ b/main.go @@ -68,44 +68,45 @@ func main() { mwriter := multipart.NewWriter(writer) req.Header.Add("Content-Type", mwriter.FormDataContentType()) - err = filepath.Walk(path, func(innerPath string, info fs.FileInfo, err error) error { - githubactions.Infof("Reading %v", innerPath) - if info.IsDir() { - githubactions.Infof("Skipping directory %v", innerPath) + go func() { + err = filepath.Walk(path, func(innerPath string, info fs.FileInfo, err error) error { + if err != nil { + return err + } + + if info.IsDir() { + githubactions.Infof("Skipping directory %v", innerPath) + return nil + } + + relativeParh := strings.TrimPrefix(innerPath, path) + githubactions.Infof("Reading %v", relativeParh) + w, err := mwriter.CreateFormFile("file", relativeParh) + if err != nil { + return err + } + + in, err := os.Open(innerPath) + if err != nil { + return err + } + defer in.Close() + + if written, err := io.Copy(w, in); err != nil { + return fmt.Errorf("error copying %s (%d bytes written): %v", relativeParh, written, err) + } + + if err := mwriter.Close(); err != nil { + return err + } + return nil - } + }) if err != nil { - return err + githubactions.Fatalf("Unable to create request body : %v", fmt.Errorf("%w", err)) } - - relativeParh := strings.TrimPrefix(innerPath, path) - - in, err := os.Open(innerPath) - if err != nil { - return err - } - defer in.Close() - - w, err := mwriter.CreateFormFile("file", relativeParh) - if err != nil { - return err - } - - if written, err := io.Copy(w, in); err != nil { - return fmt.Errorf("error copying %s (%d bytes written): %v", relativeParh, written, err) - } - - if err := mwriter.Close(); err != nil { - return err - } - - return nil - }) - - if err != nil { - githubactions.Fatalf("Unable to create request body : %v", fmt.Errorf("%w", err)) - } + }() githubactions.Infof("Calling node API") client := &http.Client{}