chore: fmt
Signed-off-by: kjuulh <contact@kjuulh.io>
This commit is contained in:
parent
3939940c01
commit
80782e70f9
@ -1,14 +1,13 @@
|
||||
|
||||
|
||||
use async_trait::async_trait;
|
||||
use dagger_sdk::Container;
|
||||
|
||||
|
||||
use crate::{dagger_middleware::DaggerMiddleware, MainAction, PullRequestAction};
|
||||
|
||||
pub type DynMiddleware = Box<dyn DaggerMiddleware + Send + Sync>;
|
||||
|
||||
pub enum RustServiceStage {
|
||||
BeforeDeps(DynMiddleware),
|
||||
AfterDeps(DynMiddleware),
|
||||
BeforeBase(DynMiddleware),
|
||||
AfterBase(DynMiddleware),
|
||||
BeforeRelease(DynMiddleware),
|
||||
@ -86,8 +85,6 @@ mod test {
|
||||
rust_service::{RustService, RustServiceStage},
|
||||
};
|
||||
|
||||
|
||||
|
||||
#[tokio::test]
|
||||
async fn can_build_rust() -> eyre::Result<()> {
|
||||
let client = dagger_sdk::connect().await?;
|
||||
@ -95,7 +92,7 @@ mod test {
|
||||
RustService::from(client.clone())
|
||||
.with_base_image(client.container().from("rustlang/rust:nightly"))
|
||||
.with_sqlx()
|
||||
.with_stage(RustServiceStage::BeforeBase(middleware(|c| async move { Ok(c) }.boxed())))
|
||||
.with_stage(RustServiceStage::BeforeDeps(middleware(|c| async move { Ok(c) }.boxed())))
|
||||
.build_release()
|
||||
.await?;
|
||||
|
||||
|
@ -97,94 +97,87 @@ impl RustBuild {
|
||||
|
||||
let mut containers = Vec::new();
|
||||
for container_image in images {
|
||||
let container = match &container_image {
|
||||
SlimImage::Debian { image, deps, .. } => {
|
||||
let target = BuildTarget::from_target(&container_image);
|
||||
let container =
|
||||
match &container_image {
|
||||
SlimImage::Debian { image, deps, .. } => {
|
||||
let target = BuildTarget::from_target(&container_image);
|
||||
|
||||
let build_container = self
|
||||
.build(
|
||||
source_path.clone(),
|
||||
&rust_version,
|
||||
let build_container = self
|
||||
.build(
|
||||
source_path.clone(),
|
||||
&rust_version,
|
||||
BuildTarget::from_target(&container_image),
|
||||
BuildProfile::Release,
|
||||
crates,
|
||||
extra_deps,
|
||||
)
|
||||
.await?;
|
||||
|
||||
let bin = build_container
|
||||
.with_env_variable("SQLX_OFFLINE", "true")
|
||||
.with_exec(vec!["cargo", "clean"])
|
||||
.with_exec(vec![
|
||||
"cargo",
|
||||
"build",
|
||||
"--target",
|
||||
&target.to_string(),
|
||||
"--release",
|
||||
"-p",
|
||||
bin_name,
|
||||
])
|
||||
.file(format!("target/{}/release/{}", target.to_string(), bin_name));
|
||||
|
||||
self.build_debian_image(
|
||||
bin,
|
||||
image,
|
||||
BuildTarget::from_target(&container_image),
|
||||
BuildProfile::Release,
|
||||
crates,
|
||||
extra_deps,
|
||||
)
|
||||
.await?;
|
||||
|
||||
let bin = build_container
|
||||
.with_env_variable("SQLX_OFFLINE", "true")
|
||||
.with_exec(vec!["cargo", "clean"])
|
||||
.with_exec(vec![
|
||||
"cargo",
|
||||
"build",
|
||||
"--target",
|
||||
&target.to_string(),
|
||||
"--release",
|
||||
"-p",
|
||||
deps.iter()
|
||||
.map(|d| d.as_str())
|
||||
.collect::<Vec<&str>>()
|
||||
.as_slice(),
|
||||
bin_name,
|
||||
])
|
||||
.file(format!(
|
||||
"target/{}/release/{}",
|
||||
target.to_string(),
|
||||
bin_name
|
||||
));
|
||||
)
|
||||
.await?
|
||||
}
|
||||
SlimImage::Alpine { image, deps, .. } => {
|
||||
let target = BuildTarget::from_target(&container_image);
|
||||
|
||||
self.build_debian_image(
|
||||
bin,
|
||||
image,
|
||||
BuildTarget::from_target(&container_image),
|
||||
deps.iter()
|
||||
.map(|d| d.as_str())
|
||||
.collect::<Vec<&str>>()
|
||||
.as_slice(),
|
||||
bin_name,
|
||||
)
|
||||
.await?
|
||||
}
|
||||
SlimImage::Alpine { image, deps, .. } => {
|
||||
let target = BuildTarget::from_target(&container_image);
|
||||
let build_container = self
|
||||
.build(
|
||||
source_path.clone(),
|
||||
&rust_version,
|
||||
BuildTarget::from_target(&container_image),
|
||||
BuildProfile::Release,
|
||||
crates,
|
||||
extra_deps,
|
||||
)
|
||||
.await?;
|
||||
|
||||
let build_container = self
|
||||
.build(
|
||||
source_path.clone(),
|
||||
&rust_version,
|
||||
let bin = build_container
|
||||
.with_exec(vec![
|
||||
"cargo",
|
||||
"build",
|
||||
"--target",
|
||||
&target.to_string(),
|
||||
"--release",
|
||||
"-p",
|
||||
bin_name,
|
||||
])
|
||||
.file(format!("target/{}/release/{}", target.to_string(), bin_name));
|
||||
|
||||
self.build_alpine_image(
|
||||
bin,
|
||||
image,
|
||||
BuildTarget::from_target(&container_image),
|
||||
BuildProfile::Release,
|
||||
crates,
|
||||
extra_deps,
|
||||
)
|
||||
.await?;
|
||||
|
||||
let bin = build_container
|
||||
.with_exec(vec![
|
||||
"cargo",
|
||||
"build",
|
||||
"--target",
|
||||
&target.to_string(),
|
||||
"--release",
|
||||
"-p",
|
||||
deps.iter()
|
||||
.map(|d| d.as_str())
|
||||
.collect::<Vec<&str>>()
|
||||
.as_slice(),
|
||||
bin_name,
|
||||
])
|
||||
.file(format!(
|
||||
"target/{}/release/{}",
|
||||
target.to_string(),
|
||||
bin_name
|
||||
));
|
||||
|
||||
self.build_alpine_image(
|
||||
bin,
|
||||
image,
|
||||
BuildTarget::from_target(&container_image),
|
||||
deps.iter()
|
||||
.map(|d| d.as_str())
|
||||
.collect::<Vec<&str>>()
|
||||
.as_slice(),
|
||||
bin_name,
|
||||
)
|
||||
.await?
|
||||
}
|
||||
};
|
||||
)
|
||||
.await?
|
||||
}
|
||||
};
|
||||
|
||||
containers.push(container);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user