From 47892d2e1b8f3613a07a4d6cabaee9e8a9409af7 Mon Sep 17 00:00:00 2001 From: Hans <hans@hansl.ca> Date: Fri, 8 Jun 2018 14:41:27 -0700 Subject: [PATCH] ci: validate is really async and validate-commits should return errorcode Instead of process.exit() which is a bit premature --- scripts/validate-commits.ts | 3 ++- scripts/validate.ts | 10 ++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/scripts/validate-commits.ts b/scripts/validate-commits.ts index e08675038e..5fbad68b78 100644 --- a/scripts/validate-commits.ts +++ b/scripts/validate-commits.ts @@ -145,8 +145,9 @@ export default function (argv: ValidateCommitsOptions, logger: logging.Logger) { if (invalidCount > 0) { logger.fatal(`${invalidCount} commits were found invalid...`); - process.exit(1); } else { logger.info('All green. Thank you, come again.'); } + + return invalidCount; } diff --git a/scripts/validate.ts b/scripts/validate.ts index 6d683874a8..74f2bb4603 100644 --- a/scripts/validate.ts +++ b/scripts/validate.ts @@ -13,7 +13,7 @@ import validateBuildFiles from './validate-build-files'; import validateCommits from './validate-commits'; import validateLicenses from './validate-licenses'; -export default function (options: { verbose: boolean }, logger: logging.Logger) { +export default async function (options: { verbose: boolean }, logger: logging.Logger) { let error = false; logger.info('Running templates validation...'); @@ -21,7 +21,7 @@ export default function (options: { verbose: boolean }, logger: logging.Logger) if (execSync(`git status --porcelain`).toString()) { logger.error('There are local changes.'); if (!options.verbose) { - process.exit(1); + return 101; } error = true; } @@ -44,13 +44,15 @@ export default function (options: { verbose: boolean }, logger: logging.Logger) logger.info(''); logger.info('Running license validation...'); - validateLicenses({}, logger.createChild('validate-commits')); + error = await validateLicenses({}, logger.createChild('validate-commits')) != 0; logger.info(''); logger.info('Running BUILD files validation...'); validateBuildFiles({}, logger.createChild('validate-build-files')); if (error) { - process.exit(101); + return 101; } + + return 0; }