From a2b3998cd9e37dc80886f44589881ffaa662f023 Mon Sep 17 00:00:00 2001 From: unclebill Date: Tue, 19 Apr 2022 17:02:50 +0800 Subject: [PATCH] fix: if gulp biuld-ci fails, ci should fails as well closes #6106 --- packages/scripts/src/utils/awaitChildProcess.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/scripts/src/utils/awaitChildProcess.ts b/packages/scripts/src/utils/awaitChildProcess.ts index 980d11f3c26a..3bb07c0299d2 100644 --- a/packages/scripts/src/utils/awaitChildProcess.ts +++ b/packages/scripts/src/utils/awaitChildProcess.ts @@ -1,8 +1,15 @@ import type { ChildProcess } from 'child_process' export function awaitChildProcess(child: ChildProcess) { - return new Promise((resolve) => { - child.on('error', () => resolve(child.exitCode || 0)) - child.on('exit', (code) => resolve(code || 0)) + return new Promise((resolve, reject) => { + const handleExitCode = (code: number | null) => { + if (code) { + reject(new Error(`Child process fails: ${child.spawnargs.join(' ')}`)) + } else { + resolve(0) + } + } + child.on('error', () => handleExitCode(child.exitCode)) + child.on('exit', (code) => handleExitCode(code)) }) }