Compare commits

...

2 Commits

Author SHA1 Message Date
cuddle-please
e6cda3ad52 chore(release): 0.4.0
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2024-12-27 15:00:05 +00:00
e1a2d03fbe feat: add release action
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: kjuulh <contact@kjuulh.io>
2024-12-27 15:58:57 +01:00
3 changed files with 47 additions and 4 deletions

View File

@ -6,6 +6,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.4.0] - 2024-12-27
### Added
- add release action
- remove deps
- remove ci
### Fixed
- release action like main and pr
- *(deps)* update rust crate chrono to v0.4.39
- *(deps)* update rust crate tracing to v0.1.41
### Other
- *(deps)* update rust crate serde_json to v1.0.134
- *(deps)* update rust crate serde to v1.0.216
- *(deps)* update rust crate clap to v4.5.23
- *(deps)* update all dependencies
- *(deps)* update rust crate serde_json to v1.0.133
## [0.3.0] - 2024-11-16
### Added

View File

@ -3,7 +3,7 @@ members = ["crates/*", "examples/*"]
resolver = "2"
[workspace.package]
version = "0.3.0"
version = "0.4.0"
edition = "2021"
license = "MIT"
authors = ["kjuulh <contact@kjuulh.io>"]

View File

@ -7,7 +7,7 @@ use futures::{stream, StreamExt};
use crate::{
dagger_middleware::{DaggerMiddleware, DynMiddleware},
Context, MainAction, PullRequestAction,
Context, MainAction, PullRequestAction, ReleaseAction,
};
use self::architecture::{Architecture, Os};
@ -348,6 +348,32 @@ impl PullRequestAction for RustService {
}
}
#[async_trait]
impl ReleaseAction for RustService {
async fn execute_release(&self, ctx: &mut Context) -> eyre::Result<()> {
self.build_test().await?;
let container = self.build_release().await?;
let tag = {
if let Ok(tag) = std::env::var("RELEASE_TAG") {
tag
} else if let Ok(tag) = std::env::var("DRONE_TAG") {
tag
} else {
eyre::bail!("failed to find a valid tag");
}
};
let tag = format!("docker.io/kasperhermansen/{}:{}", self.bin_name, tag);
container.publish(&tag).await?;
ctx.set_image_tag(tag)?;
Ok(())
}
}
const IMAGE_TAG: &str = "RUST_SERVICE_IMAGE_TAG";
pub trait RustServiceContext {
@ -488,8 +514,6 @@ pub mod extensions {
#[cfg(test)]
mod test {
#[tokio::test]
#[cfg(any(feature = "dagger", feature = "integration"))]
async fn test_can_build_rust() -> eyre::Result<()> {