Implement production geth using kurtosis

This commit is contained in:
Omar Abdulla
2025-09-26 18:15:11 +03:00
parent 5c30e8a5bf
commit 566dd06d9a
7 changed files with 544 additions and 579 deletions
+2
View File
@@ -22,6 +22,8 @@ revive-dt-node-interaction = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
serde_with = { workspace = true }
serde_yaml_ng = { workspace = true }
sp-core = { workspace = true }
sp-runtime = { workspace = true }
File diff suppressed because it is too large Load Diff
+14 -2
View File
@@ -68,7 +68,7 @@ impl Process {
command_building_callback(&mut command, stdout_logs_file, stderr_logs_file);
command
};
let child = command
let mut child = command
.spawn()
.context("Failed to spawn the built command")?;
@@ -106,7 +106,7 @@ impl Process {
}
if let Some(stderr_line) = stderr_line.as_ref() {
stderr.push_str(stderr_line);
stdout.push('\n');
stderr.push('\n');
}
let check_result =
@@ -124,6 +124,15 @@ impl Process {
}
}
}
ProcessReadinessWaitBehavior::WaitForCommandToExit => {
if !child
.wait()
.context("Failed waiting for kurtosis run process to finish")?
.success()
{
anyhow::bail!("Failed to initialize kurtosis network",);
}
}
}
Ok(Self {
@@ -151,6 +160,9 @@ pub enum ProcessReadinessWaitBehavior {
/// straight away.
NoStartupWait,
/// Waits for the command to exit.
WaitForCommandToExit,
/// The process does require some amount of wait duration after it's been started.
WaitDuration(Duration),