diff --git a/.autocrate.yaml b/.autocrate.yaml index f1cec2b..22f520b 100644 --- a/.autocrate.yaml +++ b/.autocrate.yaml @@ -17,14 +17,14 @@ api: type: github repository: autocrate auth: - user: PlexSheep + user: plexsheep pass: !env TOKEN_GH - cscherr: - type: forgejo - endpoint: https://git.cscherr.de - repository: autocrate - auth: - user: PlexSheep - pass: - !env TOKEN_CSCHERR + # cscherr: + # type: forgejo + # endpoint: https://git.cscherr.de + # repository: autocrate + # auth: + # user: PlexSheep + # pass: + # !env TOKEN_CSCHERR diff --git a/src/config/mod.rs b/src/config/mod.rs index 04aa38a..0165dbd 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -8,7 +8,7 @@ use libpt::log::{debug, error, trace}; use serde::{Deserialize, Serialize}; use url::Url; -use crate::error::*; +use crate::{error::*, git}; pub mod cli; pub mod packages; @@ -295,14 +295,7 @@ impl Debug for Config { impl Config { pub fn load(cli: &Cli) -> Result { - let repo = match git2::Repository::open_from_env() { - Ok(repo) => repo, - Err(_err) => { - let err = ConfigError::GitRepoNotFound.into(); - error!("{err}"); - return Err(err); - } - }; + let repo = git::get_repo()?; let mut path = repo.path().to_path_buf(); path.pop(); // we want the real root, not the `.git` dir diff --git a/src/main.rs b/src/main.rs index 346544a..805c0c4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -9,6 +9,7 @@ use autocrate::{ release::release, serverapi::ApiCollection, }; +use libpt::log::{debug, error, trace}; #[tokio::main] async fn main() -> Result<()> { @@ -39,5 +40,9 @@ async fn main() -> Result<()> { todo!() } }; + if let Some(err) = status { + error!("{err}"); + trace!("{:#?}", err.source()); + } Ok(()) } diff --git a/src/serverapi/github.rs b/src/serverapi/github.rs index c07e3b1..d112117 100644 --- a/src/serverapi/github.rs +++ b/src/serverapi/github.rs @@ -1,4 +1,5 @@ use async_trait::async_trait; +use libpt::log::debug; use octocrab; use super::{PublishContext, ReleaseContext, ServerApi}; @@ -21,18 +22,18 @@ impl Github { #[async_trait] impl ServerApi for Github { async fn push_release(&mut self, rc: ReleaseContext) -> Result<()> { - let _response = octocrab::instance() - .repos(rc.username, rc.repository) - .releases() + debug!("release context: {rc:#?}"); + let t1 = octocrab::instance(); + let t2 = t1.repos(rc.username, rc.repository); + let t = t2.releases(); + let req = t .create(&rc.tag) .target_commitish(&rc.commit_sig) .name(&rc.tag) .body(&rc.text) .draft(rc.draft) - .prerelease(rc.prerelease) - .send() - .await - .map_err(ServerApiError::from)?; + .prerelease(rc.prerelease); + req.send().await.map_err(ServerApiError::from)?; Ok(()) } async fn push_release_artifact(&mut self, _rc: ReleaseContext) -> Result<()> {