lune-packaging/package/action/src/main.rs

46 lines
1.1 KiB
Rust
Raw Normal View History

use std::fs::File;
2023-09-30 10:41:01 +01:00
use actions_core as core;
2023-09-30 10:29:09 +01:00
use setup_lune::{
download::{download_release, install_lune},
fmt::LogFormatter,
};
2023-09-30 08:50:03 +01:00
use tracing::Level;
use tracing_unwrap::ResultExt;
fn main() {
2023-09-30 10:41:01 +01:00
let version = match core::input("version") {
Ok(val) => Some(val),
Err(_) => None,
};
2023-09-30 08:50:03 +01:00
if cfg!(debug_assertions) {
better_panic::install();
}
tracing_subscriber::fmt()
.with_max_level(match core::is_debug() || cfg!(debug_assertions) {
true => Level::DEBUG,
false => Level::INFO,
})
.event_format(LogFormatter)
.init();
2023-09-30 08:50:03 +01:00
let (zip_path, meta) =
2023-09-30 10:41:01 +01:00
download_release(version).expect_or_log("failed to download latest lune release");
install_lune(
File::open(&zip_path).expect(
format!(
"failed to open downloaded lune release zip file @ {}",
zip_path.to_string_lossy().to_string()
)
.as_str(),
),
meta,
)
2023-09-30 08:50:03 +01:00
.expect_or_log(
"failed to install lune. did we not have perms to write to the required directories?",
);
}