Skip to content

Commit 688cbd2

Browse files
committed
Skip release if it already exists
1 parent 96324b4 commit 688cbd2

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

src/main.rs

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,25 @@ fn main() {
6666

6767
if std::env::var("CI").as_deref() == Ok("true") {
6868
let version = format!("v0.{}.{}+{}", date, build_number, hash);
69-
println!("Releasing version {}", version);
70-
let mut cmd = std::process::Command::new("gh");
71-
cmd.arg("release").arg("create").arg(&version);
72-
for entry in std::fs::read_dir(&ovmf_root).unwrap() {
73-
cmd.arg(entry.unwrap().path());
74-
}
75-
if !cmd.status().unwrap().success() {
76-
panic!("gh release failed")
69+
70+
let exists = {
71+
let mut cmd = std::process::Command::new("gh");
72+
cmd.arg("release").arg("view").arg(&version);
73+
cmd.status().unwrap().success()
74+
};
75+
76+
if exists {
77+
println!("Version {} was already released", version);
78+
} else {
79+
println!("Releasing version {}", version);
80+
let mut cmd = std::process::Command::new("gh");
81+
cmd.arg("release").arg("create").arg(&version);
82+
for entry in std::fs::read_dir(&ovmf_root).unwrap() {
83+
cmd.arg(entry.unwrap().path());
84+
}
85+
if !cmd.status().unwrap().success() {
86+
panic!("gh release failed")
87+
}
7788
}
7889
}
7990
}

0 commit comments

Comments
 (0)