From f2fee0990b69b1b0c47d18e8f0512f4f6631ab15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lie=20DELHAIE?= Date: Thu, 31 Jul 2025 21:23:44 +0200 Subject: [PATCH] fix rel path error --- cmd/cli/commands/run/run.go | 2 +- pkg/tools/archive/archive.go | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/cmd/cli/commands/run/run.go b/cmd/cli/commands/run/run.go index 5211bf8..45335ab 100644 --- a/cmd/cli/commands/run/run.go +++ b/cmd/cli/commands/run/run.go @@ -124,7 +124,7 @@ func archiveIfChanged(gameID, srcDir, destTarGz, stateFile string) error { defer f.Close() if err := archive.Tar(f, srcDir); err != nil { - return fmt.Errorf("failed archiving files") + return fmt.Errorf("failed archiving files: %w", err) } now := time.Now().UTC().Format(time.RFC3339) diff --git a/pkg/tools/archive/archive.go b/pkg/tools/archive/archive.go index b3a6b7d..0ebef41 100644 --- a/pkg/tools/archive/archive.go +++ b/pkg/tools/archive/archive.go @@ -83,23 +83,23 @@ func Tar(file io.Writer, root string) error { // Walk again to add files err := filepath.Walk(root, func(path string, info os.FileInfo, walkErr error) error { if walkErr != nil { - return walkErr + return fmt.Errorf("failed to walk through the directory: %w", walkErr) } - path, err := filepath.Rel(root, path) + relpath, err := filepath.Rel(root, path) if err != nil { - return err + return fmt.Errorf("failed to make relative path: %w", err) } // Create tar header header, err := tar.FileInfoHeader(info, path) if err != nil { - return err + return fmt.Errorf("failed to make file info header: %w", err) } - header.Name = path + header.Name = relpath if err := tw.WriteHeader(header); err != nil { - return err + return fmt.Errorf("failed to write header: %w", err) } if !info.Mode().IsRegular() { @@ -108,11 +108,11 @@ func Tar(file io.Writer, root string) error { file, err := os.Open(path) if err != nil { - return err + return fmt.Errorf("failed to open file: %w", err) } defer file.Close() if _, err := io.Copy(tw, file); err != nil { - return err + return fmt.Errorf("failed to copy file: %w", err) } return nil })