Run remote Topgrades in Tmux

This commit is contained in:
Roey Darwish Dror
2019-06-13 16:43:23 +03:00
parent e5d0f4cbfa
commit 79febd78b5
4 changed files with 38 additions and 13 deletions

View File

@@ -82,3 +82,19 @@ pub fn run_in_tmux() -> ! {
exit(0);
}
}
pub fn run_remote_topgrade(hostname: &str, ssh: &Path) -> Result<(), Error> {
let command = format!(
"{ssh} -t {hostname} env TOPGRADE_PREFIX={hostname} topgrade",
ssh = ssh.display(),
hostname = hostname
);
Command::new(which("tmux").unwrap())
.args(&["new-window", "-a", "-t", "topgrade:1", "-n", hostname, &command])
.env_remove("TMUX")
.spawn()
.context(ErrorKind::ProcessExecution)?
.wait()
.context(ErrorKind::ProcessExecution)?
.check()
}