print status of uploads

This commit is contained in:
softprops 2019-08-25 21:59:02 -04:00
parent 452a2ee738
commit 9003b6a3e7
2 changed files with 17 additions and 17 deletions

View file

@ -37,7 +37,7 @@ pub trait AssetUploader<A: Into<Body> = File> {
release_id: usize,
mime: Mime,
asset: A,
) -> Result<(), Box<dyn Error>>;
) -> Result<StatusCode, Box<dyn Error>>;
}
impl Releaser for Client {
@ -87,16 +87,17 @@ impl<A: Into<Body>> AssetUploader<A> for Client {
release_id: usize,
mime: mime::Mime,
asset: A,
) -> Result<(), Box<dyn Error>> {
self.post(&format!(
"http://uploads.github.com/repos/{}/releases/{}",
github_repo, release_id
))
.header("Authorization", format!("bearer {}", github_token))
.header("Content-Type", mime.to_string())
.body(asset)
.send()?;
Ok(())
) -> Result<StatusCode, Box<dyn Error>> {
Ok(self
.post(&format!(
"http://uploads.github.com/repos/{}/releases/{}",
github_repo, release_id
))
.header("Authorization", format!("bearer {}", github_token))
.header("Content-Type", mime.to_string())
.body(asset)
.send()?
.status())
}
}

View file

@ -87,24 +87,23 @@ fn run(
conf.github_repository.as_str(),
release(&conf),
)?;
println!("name {:#?}", conf.input_name);
println!("files {:#?}", conf.input_files);
if let Some(patterns) = conf.input_files {
for path in paths(patterns)? {
println!("⬆️ Uploading asset {}", path.display());
uploader.upload(
let status = uploader.upload(
conf.github_token.as_str(),
conf.github_repository.as_str(),
id,
mime_or_default(&path),
File::open(path)?,
)?;
println!("uploaded with status {}", status);
}
println!("🎉 Release ready at {}", html_url);
}
println!("🎉 Release ready at {}", html_url);
Ok(())
}
@ -187,7 +186,7 @@ mod tests {
github_repository: "foo/bar".into(),
input_name: Some("test release".into()),
input_body: Some(":)".into()),
input_files: Some(vec!["*.md".into()])
input_files: Some(vec!["*.md".into()]),
},
)] {
assert_eq!(expect, envy::from_iter::<_, Config>(env)?)