diff --git a/crates/cuddle-ci/src/rust_service.rs b/crates/cuddle-ci/src/rust_service.rs index ed1905b..9c2c3fe 100644 --- a/crates/cuddle-ci/src/rust_service.rs +++ b/crates/cuddle-ci/src/rust_service.rs @@ -324,6 +324,28 @@ impl MainAction for RustService { } } +#[async_trait] +impl PullRequestAction for &mut RustService { + async fn execute_pull_request(&self) -> eyre::Result<()> { + self.build_test().await?; + + Ok(()) + } +} + +#[async_trait] +impl MainAction for &mut RustService { + async fn execute_main(&self) -> eyre::Result<()> { + let container = self.build_release().await?; + + container + .publish(format!("docker.io/kjuulh/{}", self.bin_name)) + .await?; + + Ok(()) + } +} + pub mod architecture { #[derive(Debug, Clone)] pub enum Architecture {