@@ -460,7 +460,7 @@ impl DevnetOrchestrator {
460460 & format ! ( "http://localhost:{stacks_api_port}/doc" ) ,
461461 ) ;
462462
463- match self . boot_stacks_api_container ( ctx) . await {
463+ match self . boot_stacks_api_container ( ctx, no_snapshot ) . await {
464464 Ok ( _) => { }
465465 Err ( message) => {
466466 let _ = event_tx. send ( DevnetEvent :: FatalError ( message. clone ( ) ) ) ;
@@ -1544,7 +1544,11 @@ db_path = "stacks-signer-{signer_id}.sqlite"
15441544 }
15451545 }
15461546 }
1547- pub async fn boot_stacks_api_container ( & self , ctx : & Context ) -> Result < ( ) , String > {
1547+ pub async fn boot_stacks_api_container (
1548+ & self ,
1549+ ctx : & Context ,
1550+ no_snapshot : bool ,
1551+ ) -> Result < ( ) , String > {
15481552 let container = self
15491553 . stacks_api_container_id
15501554 . as_ref ( )
@@ -1565,49 +1569,53 @@ db_path = "stacks-signer-{signer_id}.sqlite"
15651569 } ;
15661570
15671571 // Check if we need to import events
1568- if let Some ( events_path) = self . has_events_to_import ( devnet_config) {
1569- // Wait for API to be ready
1570- // TODO: don't do this..
1571- std:: thread:: sleep ( Duration :: from_secs ( 8 ) ) ;
1572-
1573- ctx. try_log ( |logger| {
1574- slog:: info!( logger, "Importing events from {}" , events_path. display( ) )
1575- } ) ;
1576-
1577- // Copy the events file to the container
1578- let container_name = format ! ( "stacks-api.{}" , self . network_name) ;
1579- let copy_command = format ! (
1580- "docker cp {} {}:/tmp/events_cache.tsv" ,
1581- events_path. display( ) ,
1582- container_name
1583- ) ;
1584- let output = run_command ( & copy_command)
1585- . map_err ( |e| format ! ( "Failed to copy events file to container: {e}" ) ) ?;
1586-
1587- if !output. status . success ( ) {
1588- return Err ( format ! (
1589- "Copy command failed: {}" ,
1590- String :: from_utf8_lossy( & output. stderr)
1591- ) ) ;
1592- }
1593-
1594- // Run the import command
1595- let import_command = format ! (
1596- "docker exec {container_name} node /app/lib/index.js import-events --file /tmp/events_cache.tsv --wipe-db"
1597- ) ;
1598- let output = run_command ( & import_command)
1599- . map_err ( |e| format ! ( "Failed to import events: {e}" ) ) ?;
1572+ if !no_snapshot {
1573+ if let Some ( events_path) = self . has_events_to_import ( devnet_config) {
1574+ // Wait for API to be ready
1575+ // TODO: don't do this..
1576+ std:: thread:: sleep ( Duration :: from_secs ( 8 ) ) ;
16001577
1601- if !output. status . success ( ) {
16021578 ctx. try_log ( |logger| {
1603- slog:: warn!(
1604- logger,
1605- "Events import failed: {}" ,
1606- String :: from_utf8_lossy( & output. stderr)
1607- )
1579+ slog:: info!( logger, "Importing events from {}" , events_path. display( ) )
16081580 } ) ;
1609- } else {
1610- ctx. try_log ( |logger| slog:: info!( logger, "Events import completed successfully" ) ) ;
1581+
1582+ // Copy the events file to the container
1583+ let container_name = format ! ( "stacks-api.{}" , self . network_name) ;
1584+ let copy_command = format ! (
1585+ "docker cp {} {}:/tmp/events_cache.tsv" ,
1586+ events_path. display( ) ,
1587+ container_name
1588+ ) ;
1589+ let output = run_command ( & copy_command)
1590+ . map_err ( |e| format ! ( "Failed to copy events file to container: {e}" ) ) ?;
1591+
1592+ if !output. status . success ( ) {
1593+ return Err ( format ! (
1594+ "Copy command failed: {}" ,
1595+ String :: from_utf8_lossy( & output. stderr)
1596+ ) ) ;
1597+ }
1598+
1599+ // Run the import command
1600+ let import_command = format ! (
1601+ "docker exec {container_name} node /app/lib/index.js import-events --file /tmp/events_cache.tsv --wipe-db"
1602+ ) ;
1603+ let output = run_command ( & import_command)
1604+ . map_err ( |e| format ! ( "Failed to import events: {e}" ) ) ?;
1605+
1606+ if !output. status . success ( ) {
1607+ ctx. try_log ( |logger| {
1608+ slog:: warn!(
1609+ logger,
1610+ "Events import failed: {}" ,
1611+ String :: from_utf8_lossy( & output. stderr)
1612+ )
1613+ } ) ;
1614+ } else {
1615+ ctx. try_log ( |logger| {
1616+ slog:: info!( logger, "Events import completed successfully" )
1617+ } ) ;
1618+ }
16111619 }
16121620 }
16131621 Ok ( ( ) )
0 commit comments