Commit 1959abe

Eric Bower  ·  2026-08-09 11:43:44 -0400 EDT
parent fb2b232
fix: rsync dest
1 files changed,  +13, -9
+13, -9
......@@ -1743,21 +1743,22 @@ func syncJobArtifacts(cfg *Cfg, repoName, jobID string, log *slog.Logger) error
17431743 }
17441744 sshArgs = fmt.Sprintf("-F ~/.ssh/config -i %s%s", cfg.KeyLocation, certFile)
17451745 }
1746- // Source is jobDir (without trailing slash) so rsync creates
1747- // the jobID subdirectory inside the destination folder.
1746+ // Source is jobDir (with trailing slash) so rsync copies
1747+ // the job's artifact contents directly into event.ArtifactDest.
17481748 dest := event.ArtifactDest
17491749 if !strings.HasSuffix(dest, "/") {
17501750 dest += "/"
17511751 }
1752+ srcDir := strings.TrimSuffix(jobDir, "/") + "/"
17521753 var cmd *exec.Cmd
17531754 if sshArgs != "" {
1754- cmd = exec.Command("rsync", "-e", sshArgs, "-rv", jobDir, dest)
1755+ cmd = exec.Command("rsync", "-e", sshArgs, "-rv", srcDir, dest)
17551756 } else {
1756- cmd = exec.Command("rsync", "-rv", jobDir, dest)
1757+ cmd = exec.Command("rsync", "-rv", srcDir, dest)
17571758 }
17581759 rsyncCmd := fmt.Sprintf("rsync %s %s %s",
17591760 strings.TrimLeft(cmd.Args[1], "-"),
1760- jobDir, dest)
1761+ srcDir, dest)
17611762 log.Info("rsync", "cmd", rsyncCmd)
17621763 return runCmd(cmd, log)
17631764 }
......@@ -2227,6 +2228,10 @@ func runLocal(cfg *Cfg, dest string) error {
22272228 _ = os.Setenv(key, val)
22282229 }
22292230
2231+ if dest != "" {
2232+ eventData.ArtifactDest = strings.TrimSuffix(dest, "/") + "/" + eventData.JobID
2233+ }
2234+
22302235 // Auto-detect git commit SHA and branch if not explicitly provided via -e
22312236 if eventData.Commit == "" {
22322237 eventData.Commit = detectGitCommit(cwd)
......@@ -2326,12 +2331,11 @@ func runLocal(cfg *Cfg, dest string) error {
23262331
23272332 // Sync to destination if specified
23282333 if dest != "" {
2329- targetDest := strings.TrimSuffix(dest, "/") + "/" + jobID
2330- fmt.Fprintf(os.Stdout, "🔄 rsyncing artifacts to %s...\n", dest) //nolint:errcheck
2331- if err := syncJobArtifacts(cfg, eventData.Name, jobID, log); err != nil {
2334+ fmt.Fprintf(os.Stdout, "🔄 rsyncing artifacts to %s...\n", eventData.ArtifactDest) //nolint:errcheck
2335+ if err := syncJobArtifacts(cfg, eventData.Name, eventData.JobID, log); err != nil {
23322336 return fmt.Errorf("sync artifacts: %w", err)
23332337 }
2334- fmt.Fprintf(os.Stdout, "✅ artifacts rsynced to %s\n", targetDest) //nolint:errcheck
2338+ fmt.Fprintf(os.Stdout, "✅ artifacts rsynced to %s\n", eventData.ArtifactDest) //nolint:errcheck
23352339 }
23362340
23372341 return nil