use self_update::cargo_crate_version;
fn run() -> Result<(), Box<dyn ::std::error::Error>> {
let mut rel_builder = self_update::backends::github::ReleaseList::configure();
#[cfg(feature = "signatures")]
rel_builder.repo_owner("Kijewski");
#[cfg(not(feature = "signatures"))]
rel_builder.repo_owner("jaemk");
let releases = rel_builder.repo_name("self_update").build()?.fetch()?;
println!("found releases:");
println!("{:#?}\n", releases);
let mut status_builder = self_update::backends::github::Update::configure();
#[cfg(feature = "signatures")]
status_builder
.repo_owner("Kijewski")
.verifying_keys([*include_bytes!("github-public.key")]);
#[cfg(not(feature = "signatures"))]
status_builder.repo_owner("jaemk");
let status = status_builder
.repo_name("self_update")
.bin_name("github")
.show_download_progress(true)
.current_version(cargo_crate_version!())
.build()?
.update()?;
println!("Update status: `{}`!", status.version());
Ok(())
}
pub fn main() {
if let Err(e) = run() {
println!("[ERROR] {}", e);
::std::process::exit(1);
}
}