Skip to content

Commit

Permalink
Update publish script skipping versions
Browse files Browse the repository at this point in the history
Instead of only checking the latest version check the list of recently
published versions to determine if a version is already published.
  • Loading branch information
alexcrichton committed Oct 9, 2024
1 parent 72bedc1 commit d716cb5
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions scripts/publish.rs
Original file line number Diff line number Diff line change
Expand Up @@ -421,15 +421,16 @@ fn publish(krate: &Crate) -> bool {

// First make sure the crate isn't already published at this version. This
// script may be re-run and there's no need to re-attempt previous work.
let output = cmd_output(
Command::new("curl").arg(&format!("https://crates.io/api/v1/crates/{}", krate.name)),
);
let output = cmd_output(Command::new("curl").arg(&format!(
"https://crates.io/api/v1/crates/{}/versions",
krate.name
)));
if output.status.success()
&& String::from_utf8_lossy(&output.stdout)
.contains(&format!("\"newest_version\":\"{}\"", krate.version))
.contains(&format!("\"num\":\"{}\"", krate.version))
{
println!(
"skip publish {} because {} is latest version",
"skip publish {} because {} is already published",
krate.name, krate.version,
);
return true;
Expand Down

0 comments on commit d716cb5

Please sign in to comment.