diff --git a/internal/deployer/ssh.go b/internal/deployer/ssh.go index 78186309..8e3aacbf 100644 --- a/internal/deployer/ssh.go +++ b/internal/deployer/ssh.go @@ -99,7 +99,7 @@ func (s *ssh) upload(client *sshPkg.Client, content, path string) error { } defer sftpCli.Close() - if err := sftpCli.MkdirAll(xpath.Base(path)); err != nil { + if err := sftpCli.MkdirAll(xpath.Dir(path)); err != nil { return fmt.Errorf("failed to create remote directory: %w", err) } diff --git a/internal/deployer/ssh_test.go b/internal/deployer/ssh_test.go new file mode 100644 index 00000000..909b68e2 --- /dev/null +++ b/internal/deployer/ssh_test.go @@ -0,0 +1,12 @@ +package deployer + +import ( + "os" + "path" + "testing" +) + +func TestPath(t *testing.T) { + dir := path.Dir("./a/b/c") + os.MkdirAll(dir, 0755) +}