@@ -172,6 +172,22 @@ export async function collectDiagnosticLogs(workDir: string): Promise<void> {
172172 logger . info ( `Diagnostic logs collected at: ${ diagnosticsDir } ` ) ;
173173}
174174
175+ /**
176+ * Runs `docker compose down -v -t 1` with the standard AWF options.
177+ */
178+ export async function runComposeDown (
179+ workDir : string ,
180+ options : { reject ?: boolean } = { } ,
181+ ) : Promise < void > {
182+ await execa ( 'docker' , [ 'compose' , 'down' , '-v' , '-t' , '1' ] , {
183+ cwd : workDir ,
184+ stdout : process . stderr ,
185+ stderr : 'inherit' ,
186+ env : getLocalDockerEnv ( ) ,
187+ reject : options . reject ?? true ,
188+ } ) ;
189+ }
190+
175191/**
176192 * Stops and removes Docker Compose services
177193 */
@@ -184,12 +200,7 @@ export async function stopContainers(workDir: string, keepContainers: boolean):
184200 logger . info ( 'Stopping containers...' ) ;
185201
186202 try {
187- await execa ( 'docker' , [ 'compose' , 'down' , '-v' , '-t' , '1' ] , {
188- cwd : workDir ,
189- stdout : process . stderr ,
190- stderr : 'inherit' ,
191- env : getLocalDockerEnv ( ) ,
192- } ) ;
203+ await runComposeDown ( workDir ) ;
193204 logger . success ( 'Containers stopped successfully' ) ;
194205 } catch ( error ) {
195206 logger . error ( 'Failed to stop containers:' , error ) ;
0 commit comments