From c2d9bb82a5a118be6d23c6b35f7e26e51608360d Mon Sep 17 00:00:00 2001 From: Wathanyu Phromma Date: Fri, 29 May 2020 20:37:00 +0700 Subject: [PATCH] push --- dist/index.js | 10 ++++++---- dist/index.js.map | 2 +- dist/util.js | 39 +++++++++++++++++++++++++++++++++++++++ dist/util.js.map | 2 +- src/index.ts | 4 ---- src/util.ts | 23 ++++++++++++++--------- 6 files changed, 61 insertions(+), 19 deletions(-) diff --git a/dist/index.js b/dist/index.js index 9895910..46b5039 100644 --- a/dist/index.js +++ b/dist/index.js @@ -10,11 +10,13 @@ var __importStar = (this && this.__importStar) || function (mod) { return result; }; Object.defineProperty(exports, "__esModule", { value: true }); -var axios_1 = __importDefault(require("axios")); var requestconf_1 = __importDefault(require("./requestconf")); var core = __importStar(require("@actions/core")); -var output_1 = __importDefault(require("./output")); var fs = __importStar(require("fs")); +var util_1 = require("./util"); +function sleep(ms) { + return new Promise(function (resolve) { return setTimeout(resolve, ms); }); +} try { if (core.getInput('custom-config')) { var configPath = core.getInput('custom-config'); @@ -28,10 +30,10 @@ try { throw new Error('Config file not found, meybe you need to use action/checkout before this step or there is typo on file name'); } var customConfig = JSON.parse(fs.readFileSync(path).toString()); - axios_1.default(customConfig).then(function (res) { return output_1.default(res); }).catch(function (err) { return core.setFailed(err.message); }); + util_1.sendRequestWithRetry(customConfig); } else { - axios_1.default(requestconf_1.default).then(function (res) { return output_1.default(res); }).catch(function (err) { return core.setFailed(err.message); }); + util_1.sendRequestWithRetry(requestconf_1.default); } } catch (err) { diff --git a/dist/index.js.map b/dist/index.js.map index d07dce0..3828073 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"./src/","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,gDAAyB;AACzB,8DAAkC;AAClC,kDAAqC;AAErC,oDAAgC;AAChC,qCAAwB;AAGxB,IAAI;IACA,IAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAC;QAC9B,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAClD,IAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC9C,IAAM,IAAI,GAAM,QAAQ,SAAI,UAAY,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,aAAW,IAAM,CAAC,CAAC;QAC7B,IAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,MAAM,EAAC;YACtC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;SAC9C;QACD,IAAG,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC;YACpB,MAAM,IAAI,KAAK,CAAC,6GAA6G,CAAC,CAAA;SACjI;QACD,IAAI,YAAY,GAAwB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAuB,CAAC;QAC3G,eAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,gBAAS,CAAC,GAAG,CAAC,EAAd,CAAc,CAAC,CAAC,KAAK,CAAC,UAAA,GAAG,IAAK,OAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAA3B,CAA2B,CAAC,CAAA;KAC7F;SAAI;QACD,eAAK,CAAC,qBAAM,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,gBAAS,CAAC,GAAG,CAAC,EAAd,CAAc,CAAC,CAAC,KAAK,CAAC,UAAA,GAAG,IAAK,OAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAA3B,CAA2B,CAAC,CAAA;KACvF;CACJ;AAAC,OAAO,GAAG,EAAE;IACV,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CAC/B"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"./src/","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,8DAAkC;AAClC,kDAAqC;AACrC,qCAAwB;AACxB,+BAA6C;AAE7C,SAAS,KAAK,CAAC,EAAU;IACrB,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO,IAAI,OAAA,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAvB,CAAuB,CAAC,CAAC;AAC3D,CAAC;AAED,IAAI;IACA,IAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAC;QAC9B,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAClD,IAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC9C,IAAM,IAAI,GAAM,QAAQ,SAAI,UAAY,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,aAAW,IAAM,CAAC,CAAC;QAC7B,IAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,MAAM,EAAC;YACtC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;SAC9C;QACD,IAAG,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC;YACpB,MAAM,IAAI,KAAK,CAAC,6GAA6G,CAAC,CAAA;SACjI;QACD,IAAI,YAAY,GAAwB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAuB,CAAC;QAC3G,2BAAoB,CAAC,YAAY,CAAC,CAAA;KACrC;SAAI;QACD,2BAAoB,CAAC,qBAAM,CAAC,CAAA;KAC/B;CACJ;AAAC,OAAO,GAAG,EAAE;IACV,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CAC/B"} \ No newline at end of file diff --git a/dist/util.js b/dist/util.js index 4131c1e..12123d4 100644 --- a/dist/util.js +++ b/dist/util.js @@ -6,8 +6,13 @@ var __importStar = (this && this.__importStar) || function (mod) { result["default"] = mod; return result; }; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); var core = __importStar(require("@actions/core")); +var axios_1 = __importDefault(require("axios")); +var output_1 = __importDefault(require("./output")); exports.validateStatusCode = function (actualStatusCode) { var acceptedStatusCode = core.getInput('accept') .split(",").filter(function (x) { return x !== ""; }) @@ -23,4 +28,38 @@ exports.buildOutput = function (res) { "headers": res.headers }); }; +exports.sendRequestWithRetry = function (config) { + var exit = false; + var countRetry = 0; + var retryArr = core.getInput('retry').split('/'); + var numberOfRetry = Number(retryArr[0]); + var backoff = Number(retryArr[1]); + core.info("retry: " + countRetry); + do { + try { + axios_1.default(config) + .then(function (res) { + exit = true; + output_1.default(res); + }) + .catch(function (err) { + throw new Error(err); + }); + } + catch (err) { + countRetry += 1; + core.info("retry: " + countRetry); + if (countRetry <= numberOfRetry) { + sleep(backoff); + } + else { + exit = true; + core.setFailed(err); + } + } + } while (!exit); +}; +function sleep(ms) { + return new Promise(function (resolve) { return setTimeout(resolve, ms); }); +} //# sourceMappingURL=util.js.map \ No newline at end of file diff --git a/dist/util.js.map b/dist/util.js.map index c93247d..639d646 100644 --- a/dist/util.js.map +++ b/dist/util.js.map @@ -1 +1 @@ -{"version":3,"file":"util.js","sourceRoot":"./src/","sources":["util.ts"],"names":[],"mappings":";;;;;;;;;AAAA,kDAAqC;AAGxB,QAAA,kBAAkB,GAAG,UAAC,gBAAwB;IACvD,IAAM,kBAAkB,GAAa,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACf,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,EAAE,EAAR,CAAQ,CAAC;SAChC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,EAAE,EAAR,CAAQ,CAAC,CAAC;IAChE,IAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,iCAA+B,kBAAkB,iBAAY,gBAAkB,CAAC,CAAA;KACnG;AACL,CAAC,CAAA;AAEY,QAAA,WAAW,GAAG,UAAC,GAAwB;IAChD,OAAO,IAAI,CAAC,SAAS,CAAC;QAClB,aAAa,EAAE,GAAG,CAAC,MAAM;QACzB,MAAM,EAAE,GAAG,CAAC,IAAI;QAChB,SAAS,EAAE,GAAG,CAAC,OAAO;KACzB,CAAC,CAAA;AACN,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"util.js","sourceRoot":"./src/","sources":["util.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAqC;AACrC,gDAAgE;AAChE,oDAAgC;AAEnB,QAAA,kBAAkB,GAAG,UAAC,gBAAwB;IACvD,IAAM,kBAAkB,GAAa,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACvD,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,EAAE,EAAR,CAAQ,CAAC;SAChC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,EAAE,EAAR,CAAQ,CAAC,CAAC;IACxB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAChD,MAAM,IAAI,KAAK,CAAC,iCAA+B,kBAAkB,iBAAY,gBAAkB,CAAC,CAAA;KACnG;AACL,CAAC,CAAA;AAEY,QAAA,WAAW,GAAG,UAAC,GAAuB;IAC/C,OAAO,IAAI,CAAC,SAAS,CAAC;QAClB,aAAa,EAAE,GAAG,CAAC,MAAM;QACzB,MAAM,EAAE,GAAG,CAAC,IAAI;QAChB,SAAS,EAAE,GAAG,CAAC,OAAO;KACzB,CAAC,CAAA;AACN,CAAC,CAAA;AAEY,QAAA,oBAAoB,GAAG,UAAC,MAA0B;IAC3D,IAAI,IAAI,GAAG,KAAK,CAAA;IAChB,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAM,QAAQ,GAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5D,IAAM,aAAa,GAAW,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IACjD,IAAM,OAAO,GAAW,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,IAAI,CAAC,IAAI,CAAC,YAAU,UAAY,CAAC,CAAA;IACjC,GAAG;QACC,IAAG;YACC,eAAK,CAAC,MAAM,CAAC;iBACZ,IAAI,CAAC,UAAA,GAAG;gBACL,IAAI,GAAG,IAAI,CAAA;gBACX,gBAAS,CAAC,GAAG,CAAC,CAAA;YAClB,CAAC,CAAC;iBACD,KAAK,CAAC,UAAA,GAAG;gBACN,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC,CAAC,CAAA;SACL;QAAA,OAAM,GAAG,EAAC;YACP,UAAU,IAAI,CAAC,CAAA;YACf,IAAI,CAAC,IAAI,CAAC,YAAU,UAAY,CAAC,CAAA;YACjC,IAAI,UAAU,IAAI,aAAa,EAAE;gBAC7B,KAAK,CAAC,OAAO,CAAC,CAAA;aACjB;iBAAM;gBACH,IAAI,GAAG,IAAI,CAAA;gBACX,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;aACtB;SACJ;KACJ,QAAQ,CAAC,IAAI,EAAC;AACnB,CAAC,CAAA;AAED,SAAS,KAAK,CAAC,EAAU;IACrB,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO,IAAI,OAAA,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAvB,CAAuB,CAAC,CAAC;AAC3D,CAAC"} \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index b2523e8..348a381 100644 --- a/src/index.ts +++ b/src/index.ts @@ -10,10 +10,6 @@ function sleep(ms: number) { } try { - process.on('uncaughtException', function (err) { - sleep(10000) - console.error(err.message) - }) if(core.getInput('custom-config')){ const configPath = core.getInput('custom-config'); const basePath = process.env.GITHUB_WORKSPACE; diff --git a/src/util.ts b/src/util.ts index 68ce0d5..4398a1c 100644 --- a/src/util.ts +++ b/src/util.ts @@ -25,22 +25,27 @@ export const sendRequestWithRetry = (config: AxiosRequestConfig): void => { const retryArr: string[] = core.getInput('retry').split('/') const numberOfRetry: number = Number(retryArr[0]) const backoff: number = Number(retryArr[1]) + core.info(`retry: ${countRetry}`) do { - axios(config) + try{ + axios(config) .then(res => { exit = true setOutput(res) }) .catch(err => { - countRetry += 1 - core.info(`retry: ${countRetry}`) - if (countRetry <= numberOfRetry) { - sleep(backoff) - } else { - exit = true - core.setFailed(err) - } + throw new Error(err) }) + }catch(err){ + countRetry += 1 + core.info(`retry: ${countRetry}`) + if (countRetry <= numberOfRetry) { + sleep(backoff) + } else { + exit = true + core.setFailed(err) + } + } } while (!exit) }