From 38ff2c8d63c6e06241543ecde7b17c43b0285f53 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Mon, 23 Jun 2025 13:58:10 +0200 Subject: [PATCH] Run `dora` executable in release mode for examples Avoids stack overflows on Windows --- examples/c++-arrow-dataflow/run.rs | 1 + examples/c++-dataflow/run.rs | 1 + examples/c++-ros2-dataflow/run.rs | 1 + examples/c-dataflow/run.rs | 1 + examples/camera/run.rs | 2 ++ examples/cmake-dataflow/run.rs | 1 + examples/multiple-daemons/run.rs | 2 ++ examples/python-dataflow/run.rs | 2 ++ examples/python-multi-env/run.rs | 2 ++ examples/python-operator-dataflow/run.rs | 2 ++ examples/python-ros2-dataflow/run.rs | 2 ++ examples/rerun-viewer/run.rs | 2 ++ examples/rust-dataflow-git/run.rs | 2 ++ examples/rust-dataflow-url/run.rs | 2 ++ examples/rust-dataflow/run.rs | 2 ++ examples/rust-ros2-dataflow/run.rs | 2 ++ examples/vlm/run.rs | 2 ++ 17 files changed, 29 insertions(+) diff --git a/examples/c++-arrow-dataflow/run.rs b/examples/c++-arrow-dataflow/run.rs index 3fe206d1..a77c4d78 100644 --- a/examples/c++-arrow-dataflow/run.rs +++ b/examples/c++-arrow-dataflow/run.rs @@ -112,6 +112,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--") .arg("daemon") .arg("--run-dataflow") diff --git a/examples/c++-dataflow/run.rs b/examples/c++-dataflow/run.rs index 9ee11168..dd88900a 100644 --- a/examples/c++-dataflow/run.rs +++ b/examples/c++-dataflow/run.rs @@ -133,6 +133,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--") .arg("daemon") .arg("--run-dataflow") diff --git a/examples/c++-ros2-dataflow/run.rs b/examples/c++-ros2-dataflow/run.rs index 0be1f9f4..4af3cd31 100644 --- a/examples/c++-ros2-dataflow/run.rs +++ b/examples/c++-ros2-dataflow/run.rs @@ -155,6 +155,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--") .arg("daemon") .arg("--run-dataflow") diff --git a/examples/c-dataflow/run.rs b/examples/c-dataflow/run.rs index da88f64b..e71d802b 100644 --- a/examples/c-dataflow/run.rs +++ b/examples/c-dataflow/run.rs @@ -44,6 +44,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--") .arg("daemon") .arg("--run-dataflow") diff --git a/examples/camera/run.rs b/examples/camera/run.rs index 9c475c26..94988261 100644 --- a/examples/camera/run.rs +++ b/examples/camera/run.rs @@ -43,6 +43,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--").arg("build").arg(dataflow).arg("--uv"); if !cmd.status().await?.success() { bail!("failed to run dataflow"); @@ -51,6 +52,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--").arg("run").arg(dataflow).arg("--uv"); if !cmd.status().await?.success() { bail!("failed to run dataflow"); diff --git a/examples/cmake-dataflow/run.rs b/examples/cmake-dataflow/run.rs index 30e3c9d1..b4530f26 100644 --- a/examples/cmake-dataflow/run.rs +++ b/examples/cmake-dataflow/run.rs @@ -61,6 +61,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--") .arg("daemon") .arg("--run-dataflow") diff --git a/examples/multiple-daemons/run.rs b/examples/multiple-daemons/run.rs index ecb5794e..cb558af3 100644 --- a/examples/multiple-daemons/run.rs +++ b/examples/multiple-daemons/run.rs @@ -240,6 +240,7 @@ async fn build_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--").arg("build").arg(dataflow); if !cmd.status().await?.success() { bail!("failed to build dataflow"); @@ -252,6 +253,7 @@ async fn run_daemon(coordinator: String, machine_id: &str) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--") .arg("daemon") .arg("--machine-id") diff --git a/examples/python-dataflow/run.rs b/examples/python-dataflow/run.rs index 23b254e2..de96795d 100644 --- a/examples/python-dataflow/run.rs +++ b/examples/python-dataflow/run.rs @@ -44,6 +44,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--").arg("build").arg(dataflow).arg("--uv"); if !cmd.status().await?.success() { bail!("failed to run dataflow"); @@ -52,6 +53,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--").arg("run").arg(dataflow).arg("--uv"); if !cmd.status().await?.success() { bail!("failed to run dataflow"); diff --git a/examples/python-multi-env/run.rs b/examples/python-multi-env/run.rs index 23b254e2..de96795d 100644 --- a/examples/python-multi-env/run.rs +++ b/examples/python-multi-env/run.rs @@ -44,6 +44,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--").arg("build").arg(dataflow).arg("--uv"); if !cmd.status().await?.success() { bail!("failed to run dataflow"); @@ -52,6 +53,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--").arg("run").arg(dataflow).arg("--uv"); if !cmd.status().await?.success() { bail!("failed to run dataflow"); diff --git a/examples/python-operator-dataflow/run.rs b/examples/python-operator-dataflow/run.rs index 9c475c26..94988261 100644 --- a/examples/python-operator-dataflow/run.rs +++ b/examples/python-operator-dataflow/run.rs @@ -43,6 +43,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--").arg("build").arg(dataflow).arg("--uv"); if !cmd.status().await?.success() { bail!("failed to run dataflow"); @@ -51,6 +52,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--").arg("run").arg(dataflow).arg("--uv"); if !cmd.status().await?.success() { bail!("failed to run dataflow"); diff --git a/examples/python-ros2-dataflow/run.rs b/examples/python-ros2-dataflow/run.rs index 23b254e2..de96795d 100644 --- a/examples/python-ros2-dataflow/run.rs +++ b/examples/python-ros2-dataflow/run.rs @@ -44,6 +44,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--").arg("build").arg(dataflow).arg("--uv"); if !cmd.status().await?.success() { bail!("failed to run dataflow"); @@ -52,6 +53,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--").arg("run").arg(dataflow).arg("--uv"); if !cmd.status().await?.success() { bail!("failed to run dataflow"); diff --git a/examples/rerun-viewer/run.rs b/examples/rerun-viewer/run.rs index 4785ba9b..243db076 100644 --- a/examples/rerun-viewer/run.rs +++ b/examples/rerun-viewer/run.rs @@ -43,6 +43,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--").arg("build").arg(dataflow).arg("--uv"); if !cmd.status().await?.success() { bail!("failed to run dataflow"); @@ -51,6 +52,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--").arg("run").arg(dataflow).arg("--uv"); if !cmd.status().await?.success() { bail!("failed to run dataflow"); diff --git a/examples/rust-dataflow-git/run.rs b/examples/rust-dataflow-git/run.rs index 490c5c57..855eb85b 100644 --- a/examples/rust-dataflow-git/run.rs +++ b/examples/rust-dataflow-git/run.rs @@ -28,6 +28,7 @@ async fn build_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--").arg("build").arg(dataflow); if !cmd.status().await?.success() { bail!("failed to build dataflow"); @@ -40,6 +41,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--") .arg("daemon") .arg("--run-dataflow") diff --git a/examples/rust-dataflow-url/run.rs b/examples/rust-dataflow-url/run.rs index 6f511970..158e8ed9 100644 --- a/examples/rust-dataflow-url/run.rs +++ b/examples/rust-dataflow-url/run.rs @@ -23,6 +23,7 @@ async fn build_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--").arg("build").arg(dataflow); if !cmd.status().await?.success() { bail!("failed to build dataflow"); @@ -35,6 +36,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--") .arg("daemon") .arg("--run-dataflow") diff --git a/examples/rust-dataflow/run.rs b/examples/rust-dataflow/run.rs index 490c5c57..855eb85b 100644 --- a/examples/rust-dataflow/run.rs +++ b/examples/rust-dataflow/run.rs @@ -28,6 +28,7 @@ async fn build_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--").arg("build").arg(dataflow); if !cmd.status().await?.success() { bail!("failed to build dataflow"); @@ -40,6 +41,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--") .arg("daemon") .arg("--run-dataflow") diff --git a/examples/rust-ros2-dataflow/run.rs b/examples/rust-ros2-dataflow/run.rs index a14dce48..f81a25d5 100644 --- a/examples/rust-ros2-dataflow/run.rs +++ b/examples/rust-ros2-dataflow/run.rs @@ -23,6 +23,7 @@ async fn build_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--").arg("build").arg(dataflow); if !cmd.status().await?.success() { bail!("failed to build dataflow"); @@ -35,6 +36,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--") .arg("daemon") .arg("--run-dataflow") diff --git a/examples/vlm/run.rs b/examples/vlm/run.rs index 1ec38c80..742c3818 100644 --- a/examples/vlm/run.rs +++ b/examples/vlm/run.rs @@ -43,6 +43,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--").arg("build").arg(dataflow).arg("--uv"); if !cmd.status().await?.success() { bail!("failed to run dataflow"); @@ -51,6 +52,7 @@ async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { let mut cmd = tokio::process::Command::new(&cargo); cmd.arg("run"); cmd.arg("--package").arg("dora-cli"); + cmd.arg("--release"); cmd.arg("--").arg("run").arg(dataflow).arg("--uv"); if !cmd.status().await?.success() { bail!("failed to run dataflow");