Skip to content
This repository has been archived by the owner on Jun 29, 2023. It is now read-only.

Commit

Permalink
replication(issue-30): initial issue
Browse files Browse the repository at this point in the history
  • Loading branch information
kjuulh committed Mar 13, 2023
1 parent 44fa024 commit f679281
Showing 1 changed file with 44 additions and 0 deletions.
44 changes: 44 additions & 0 deletions crates/dagger-sdk/examples/iss-30/main.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#![feature(async_closure)]

use dagger_sdk::{ContainerBuildOptsBuilder, HostDirectoryOpts, QueryContainerOptsBuilder};

static DOCKER_FILES: [&str; 3] = ["Dockerfile", "Dockerfile.alpine", "Dockerfile.distroless"];
static PLATFORMS: [&str; 2] = ["linux/arm64", "linux/x86_64"];

#[tokio::main]
async fn main() -> eyre::Result<()> {
let client = dagger_sdk::connect().await?;

let context = client.host().directory_opts(
".",
HostDirectoryOpts {
exclude: Some(vec!["target", "client/node_modules", "client/build"]),
include: None,
},
);

for file in DOCKER_FILES {
for platform in PLATFORMS {
let ref_ = client
.container_opts(
QueryContainerOptsBuilder::default()
.platform(platform)
.build()
.unwrap(),
)
.build_opts(
context.id().await?,
ContainerBuildOptsBuilder::default()
.dockerfile(file)
.build()
.unwrap(),
)
.export("./test")
.await?;

println!("published image to: {:#?}", ref_);
}
}

Ok(())
}

0 comments on commit f679281

Please sign in to comment.