From 61c3210cf6503ecb03709a0e30a5b708431f1adc Mon Sep 17 00:00:00 2001 From: Karan Nagpal Date: Wed, 20 Oct 2021 15:46:19 +0530 Subject: [PATCH 1/3] Non zero exit code for errors --- bin/commands/generateDownloads.js | 1 + bin/commands/generateReport.js | 1 + bin/commands/info.js | 1 + bin/commands/runs.js | 6 ++++++ bin/commands/stop.js | 1 + bin/helpers/constants.js | 5 ++++- 6 files changed, 14 insertions(+), 1 deletion(-) diff --git a/bin/commands/generateDownloads.js b/bin/commands/generateDownloads.js index b81d3feb..ce0aabfd 100644 --- a/bin/commands/generateDownloads.js +++ b/bin/commands/generateDownloads.js @@ -34,5 +34,6 @@ module.exports = async function generateDownloads(args) { logger.error(err); utils.setUsageReportingFlag(null, args.disableUsageReporting); utils.sendUsageReport(null, args, err.message, Constants.messageTypes.ERROR, utils.getErrorCodeFromErr(err)); + process.exitCode = Constants.ERROR_EXIT_CODE; }); }; diff --git a/bin/commands/generateReport.js b/bin/commands/generateReport.js index 21c74436..10199822 100644 --- a/bin/commands/generateReport.js +++ b/bin/commands/generateReport.js @@ -35,5 +35,6 @@ module.exports = function generateReport(args) { logger.error(err); utils.setUsageReportingFlag(null, args.disableUsageReporting); utils.sendUsageReport(null, args, err.message, Constants.messageTypes.ERROR, utils.getErrorCodeFromErr(err)); + process.exitCode = Constants.ERROR_EXIT_CODE; }); }; diff --git a/bin/commands/info.js b/bin/commands/info.js index 211f5bd8..d162e603 100644 --- a/bin/commands/info.js +++ b/bin/commands/info.js @@ -96,5 +96,6 @@ module.exports = function info(args) { logger.error(err); utils.setUsageReportingFlag(null, args.disableUsageReporting); utils.sendUsageReport(null, args, err.message, Constants.messageTypes.ERROR, utils.getErrorCodeFromErr(err)); + process.exitCode = Constants.ERROR_EXIT_CODE; }) } diff --git a/bin/commands/runs.js b/bin/commands/runs.js index e731bc0b..47fc70e7 100644 --- a/bin/commands/runs.js +++ b/bin/commands/runs.js @@ -189,6 +189,7 @@ module.exports = function run(args) { await utils.stopLocalBinary(bsConfig, bs_local, args); utils.sendUsageReport(bsConfig, args, err, Constants.messageTypes.ERROR, 'build_failed'); + process.exitCode = Constants.ERROR_EXIT_CODE; }); }).catch(function (err) { // Zip Upload failed | Local Start failed @@ -200,6 +201,7 @@ module.exports = function run(args) { fileHelpers.deleteZip(); utils.sendUsageReport(bsConfig, args, `${err}\n${Constants.userMessages.ZIP_UPLOAD_FAILED}`, Constants.messageTypes.ERROR, 'zip_upload_failed'); } + process.exitCode = Constants.ERROR_EXIT_CODE; }); }).catch(function (err) { // Zipping failed @@ -211,12 +213,14 @@ module.exports = function run(args) { } catch (err) { utils.sendUsageReport(bsConfig, args, Constants.userMessages.ZIP_DELETE_FAILED, Constants.messageTypes.ERROR, 'zip_deletion_failed'); } + process.exitCode = Constants.ERROR_EXIT_CODE; }); }).catch(function (err) { // md5 check failed logger.error(err); logger.error(Constants.userMessages.FAILED_MD5_CHECK); utils.sendUsageReport(bsConfig, args, Constants.userMessages.MD5_CHECK_FAILED, Constants.messageTypes.ERROR, 'zip_already_uploaded_failed'); + process.exitCode = Constants.ERROR_EXIT_CODE; }); }).catch(function (err) { // browerstack.json is not valid @@ -230,10 +234,12 @@ module.exports = function run(args) { let error_code = utils.getErrorCodeFromMsg(err); utils.sendUsageReport(bsConfig, args, `${err}\n${Constants.validationMessages.NOT_VALID}`, Constants.messageTypes.ERROR, error_code); + process.exitCode = Constants.ERROR_EXIT_CODE; }); }).catch(function (err) { logger.error(err); utils.setUsageReportingFlag(null, args.disableUsageReporting); utils.sendUsageReport(null, args, err.message, Constants.messageTypes.ERROR, utils.getErrorCodeFromErr(err)); + process.exitCode = Constants.ERROR_EXIT_CODE; }); } diff --git a/bin/commands/stop.js b/bin/commands/stop.js index 5a7cbe2c..736b4517 100644 --- a/bin/commands/stop.js +++ b/bin/commands/stop.js @@ -92,5 +92,6 @@ module.exports = function stop(args) { logger.error(err); utils.setUsageReportingFlag(null, args.disableUsageReporting); utils.sendUsageReport(null, args, err.message, Constants.messageTypes.ERROR, utils.getErrorCodeFromErr(err)); + process.exitCode = Constants.ERROR_EXIT_CODE; }) } diff --git a/bin/helpers/constants.js b/bin/helpers/constants.js index f4948790..99a6285e 100644 --- a/bin/helpers/constants.js +++ b/bin/helpers/constants.js @@ -188,6 +188,8 @@ const usageReportingConstants = { const LATEST_VERSION_SYNTAX_REGEX = /\d*.latest(.\d*)?/gm +const ERROR_EXIT_CODE = 1; + module.exports = Object.freeze({ syncCLI, userMessages, @@ -203,5 +205,6 @@ module.exports = Object.freeze({ SPEC_TOTAL_CHAR_LIMIT, METADATA_CHAR_BUFFER_PER_SPEC, usageReportingConstants, - LATEST_VERSION_SYNTAX_REGEX + LATEST_VERSION_SYNTAX_REGEX, + ERROR_EXIT_CODE }); From 9e06f248303d4f8cbcbf512c6c435e6d35da9326 Mon Sep 17 00:00:00 2001 From: Karan Nagpal Date: Wed, 20 Oct 2021 15:53:56 +0530 Subject: [PATCH 2/3] exit code for report generation and download artifacts error --- bin/helpers/buildArtifacts.js | 1 + bin/helpers/reporterHTML.js | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/bin/helpers/buildArtifacts.js b/bin/helpers/buildArtifacts.js index 886e0f17..05516b77 100644 --- a/bin/helpers/buildArtifacts.js +++ b/bin/helpers/buildArtifacts.js @@ -214,5 +214,6 @@ exports.downloadBuildArtifacts = async (bsConfig, buildId, args) => { } utils.sendUsageReport(bsConfig, args, err, messageType, errorCode); + process.exitCode = Constants.ERROR_EXIT_CODE; } }; diff --git a/bin/helpers/reporterHTML.js b/bin/helpers/reporterHTML.js index db18b4df..263f49f6 100644 --- a/bin/helpers/reporterHTML.js +++ b/bin/helpers/reporterHTML.js @@ -277,7 +277,10 @@ function generateCypressCombinationSpecReportDataWithConfigJson(combination){ }); combination.tests = sessionTests; resolve(combination.tests); - } catch (error) { reject(error) } + } catch (error) { + process.exitCode = Constants.ERROR_EXIT_CODE; + reject(error); + } }) } @@ -308,7 +311,10 @@ function generateCypressCombinationSpecReportDataWithoutConfigJson(combination){ }); combination.tests = sessionTests; resolve(combination.tests); - } catch (error) { reject(error) } + } catch (error) { + process.exitCode = Constants.ERROR_EXIT_CODE; + reject(error); + } }) } From 833ed8ee61662948de555e02fd3e399d83f558f5 Mon Sep 17 00:00:00 2001 From: Karan Nagpal Date: Fri, 22 Oct 2021 14:50:34 +0530 Subject: [PATCH 3/3] exit code error --- bin/helpers/buildArtifacts.js | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/helpers/buildArtifacts.js b/bin/helpers/buildArtifacts.js index 05516b77..e1ce546a 100644 --- a/bin/helpers/buildArtifacts.js +++ b/bin/helpers/buildArtifacts.js @@ -193,6 +193,7 @@ exports.downloadBuildArtifacts = async (bsConfig, buildId, args) => { messageType = Constants.messageTypes.ERROR; message = Constants.userMessages.DOWNLOAD_BUILD_ARTIFACTS_FAILED.replace('', buildId).replace('', BUILD_ARTIFACTS_FAIL_COUNT); logger.error(message); + process.exitCode = Constants.ERROR_EXIT_CODE; } else { messageType = Constants.messageTypes.SUCCESS; message = Constants.userMessages.DOWNLOAD_BUILD_ARTIFACTS_SUCCESS.replace('', buildId).replace('', process.cwd());