blob: 76f6da14447a6fb404aafbe1d59b1dfc62acbe68 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
use crate::errors::BumperError;
use log::{debug, info};
use std::process::Command;
pub fn tag(version: &str) -> Result<(), BumperError> {
let tag_name = format!("v{}", version);
info!("Create git tag {}", tag_name);
let output = Command::new("git")
.arg("tag")
.arg("-am")
.arg(format!("release version {}", version))
.arg(format!("v{}", version))
.output();
let output = match output {
Ok(output) => output,
Err(err) => {
return Err(BumperError::GitInvoke(err));
}
};
debug!("git exit code was {:?}", output.status.code());
if !output.status.success() {
return Err(BumperError::git_tag(&output.stderr));
}
Ok(())
}
|