diff --git a/main.go b/main.go index a846d65..dc61d15 100644 --- a/main.go +++ b/main.go @@ -114,34 +114,34 @@ func main() { defer mwriter.Close() defer writer.Close() - w, err := mwriter.CreateIpfsDirectoryPart(path) - if err != nil { - githubactions.Fatalf("Unable to create root dir path: %v", fmt.Errorf("%w", err)) - } - err = filepath.Walk(path, func(innerPath string, info fs.FileInfo, err error) error { if err != nil { return err } + relPath, _ := filepath.Rel(path, innerPath) + if info.IsDir() { - return nil - } + _, err = mwriter.CreateIpfsDirectoryPart(relPath) + if err != nil { + return err + } + } else { + w, err := mwriter.CreateIpfsFilePart(relPath) + if err != nil { + return err + } - w, err = mwriter.CreateIpfsFilePart(innerPath) - if err != nil { - return err - } + fileReader, err := os.Open(innerPath) + if err != nil { + return err + } + defer fileReader.Close() - fileReader, err := os.Open(innerPath) - if err != nil { - return err - } - defer fileReader.Close() - - written, err := io.Copy(w, fileReader) - if err != nil { - return fmt.Errorf("error copying %s (%d bytes written): %v", innerPath, written, err) + written, err := io.Copy(w, fileReader) + if err != nil { + return fmt.Errorf("error copying %s (%d bytes written): %v", innerPath, written, err) + } } return nil