diff --git a/lib/analyze-action-post.js b/lib/analyze-action-post.js index cff080b23..19c987905 100644 --- a/lib/analyze-action-post.js +++ b/lib/analyze-action-post.js @@ -26473,6 +26473,7 @@ var require_package = __commonJS({ "@actions/io": "^1.1.3", "@actions/tool-cache": "^2.0.2", "@octokit/plugin-retry": "^6.0.0", + "@octokit/request-error": "^7.0.1", "@schemastore/package": "0.0.10", archiver: "^7.0.1", "check-disk-space": "^3.4.0", diff --git a/lib/analyze-action.js b/lib/analyze-action.js index 182230563..af3fb5831 100644 --- a/lib/analyze-action.js +++ b/lib/analyze-action.js @@ -20602,14 +20602,14 @@ var require_dist_node4 = __commonJS({ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var dist_src_exports = {}; __export2(dist_src_exports, { - RequestError: () => RequestError + RequestError: () => RequestError2 }); module2.exports = __toCommonJS2(dist_src_exports); var import_deprecation = require_dist_node3(); var import_once = __toESM2(require_once()); var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); - var RequestError = class extends Error { + var RequestError2 = class extends Error { constructor(message, statusCode, options) { super(message); if (Error.captureStackTrace) { @@ -20701,7 +20701,7 @@ var require_dist_node5 = __commonJS({ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); } - var import_request_error = require_dist_node4(); + var import_request_error2 = require_dist_node4(); function getBufferResponse(response) { return response.arrayBuffer(); } @@ -20753,7 +20753,7 @@ var require_dist_node5 = __commonJS({ if (status < 400) { return; } - throw new import_request_error.RequestError(response.statusText, status, { + throw new import_request_error2.RequestError(response.statusText, status, { response: { url: url2, status, @@ -20764,7 +20764,7 @@ var require_dist_node5 = __commonJS({ }); } if (status === 304) { - throw new import_request_error.RequestError("Not modified", status, { + throw new import_request_error2.RequestError("Not modified", status, { response: { url: url2, status, @@ -20776,7 +20776,7 @@ var require_dist_node5 = __commonJS({ } if (status >= 400) { const data = await getResponseData(response); - const error2 = new import_request_error.RequestError(toErrorMessage(data), status, { + const error2 = new import_request_error2.RequestError(toErrorMessage(data), status, { response: { url: url2, status, @@ -20796,7 +20796,7 @@ var require_dist_node5 = __commonJS({ data }; }).catch((error2) => { - if (error2 instanceof import_request_error.RequestError) + if (error2 instanceof import_request_error2.RequestError) throw error2; else if (error2.name === "AbortError") throw error2; @@ -20808,7 +20808,7 @@ var require_dist_node5 = __commonJS({ message = error2.cause; } } - throw new import_request_error.RequestError(message, 500, { + throw new import_request_error2.RequestError(message, 500, { request: requestOptions }); }); @@ -21250,14 +21250,14 @@ var require_dist_node7 = __commonJS({ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var dist_src_exports = {}; __export2(dist_src_exports, { - RequestError: () => RequestError + RequestError: () => RequestError2 }); module2.exports = __toCommonJS2(dist_src_exports); var import_deprecation = require_dist_node3(); var import_once = __toESM2(require_once()); var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); - var RequestError = class extends Error { + var RequestError2 = class extends Error { constructor(message, statusCode, options) { super(message); if (Error.captureStackTrace) { @@ -21349,7 +21349,7 @@ var require_dist_node8 = __commonJS({ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); } - var import_request_error = require_dist_node7(); + var import_request_error2 = require_dist_node7(); function getBufferResponse(response) { return response.arrayBuffer(); } @@ -21401,7 +21401,7 @@ var require_dist_node8 = __commonJS({ if (status < 400) { return; } - throw new import_request_error.RequestError(response.statusText, status, { + throw new import_request_error2.RequestError(response.statusText, status, { response: { url: url2, status, @@ -21412,7 +21412,7 @@ var require_dist_node8 = __commonJS({ }); } if (status === 304) { - throw new import_request_error.RequestError("Not modified", status, { + throw new import_request_error2.RequestError("Not modified", status, { response: { url: url2, status, @@ -21424,7 +21424,7 @@ var require_dist_node8 = __commonJS({ } if (status >= 400) { const data = await getResponseData(response); - const error2 = new import_request_error.RequestError(toErrorMessage(data), status, { + const error2 = new import_request_error2.RequestError(toErrorMessage(data), status, { response: { url: url2, status, @@ -21444,7 +21444,7 @@ var require_dist_node8 = __commonJS({ data }; }).catch((error2) => { - if (error2 instanceof import_request_error.RequestError) + if (error2 instanceof import_request_error2.RequestError) throw error2; else if (error2.name === "AbortError") throw error2; @@ -21456,7 +21456,7 @@ var require_dist_node8 = __commonJS({ message = error2.cause; } } - throw new import_request_error.RequestError(message, 500, { + throw new import_request_error2.RequestError(message, 500, { request: requestOptions }); }); @@ -32322,6 +32322,7 @@ var require_package = __commonJS({ "@actions/io": "^1.1.3", "@actions/tool-cache": "^2.0.2", "@octokit/plugin-retry": "^6.0.0", + "@octokit/request-error": "^7.0.1", "@schemastore/package": "0.0.10", archiver: "^7.0.1", "check-disk-space": "^3.4.0", @@ -33745,14 +33746,14 @@ var require_dist_node14 = __commonJS({ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var dist_src_exports = {}; __export2(dist_src_exports, { - RequestError: () => RequestError + RequestError: () => RequestError2 }); module2.exports = __toCommonJS2(dist_src_exports); var import_deprecation = require_dist_node3(); var import_once = __toESM2(require_once()); var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); - var RequestError = class extends Error { + var RequestError2 = class extends Error { constructor(message, statusCode, options) { super(message); if (Error.captureStackTrace) { @@ -33854,7 +33855,7 @@ var require_dist_node15 = __commonJS({ throw error2; } var import_light = __toESM2(require_light()); - var import_request_error = require_dist_node14(); + var import_request_error2 = require_dist_node14(); async function wrapRequest(state, octokit, request, options) { const limiter = new import_light.default(); limiter.on("failed", function(error2, info4) { @@ -33875,7 +33876,7 @@ var require_dist_node15 = __commonJS({ if (response.data && response.data.errors && response.data.errors.length > 0 && /Something went wrong while executing your query/.test( response.data.errors[0].message )) { - const error2 = new import_request_error.RequestError(response.data.errors[0].message, 500, { + const error2 = new import_request_error2.RequestError(response.data.errors[0].message, 500, { request: options, response }); @@ -90370,6 +90371,45 @@ var path14 = __toESM(require("path")); var core10 = __toESM(require_core()); var toolrunner3 = __toESM(require_toolrunner()); +// node_modules/@octokit/request-error/dist-src/index.js +var RequestError = class extends Error { + name; + /** + * http status code + */ + status; + /** + * Request options that lead to the error. + */ + request; + /** + * Response object if a response was received + */ + response; + constructor(message, statusCode, options) { + super(message); + this.name = "HttpError"; + this.status = Number.parseInt(statusCode); + if (Number.isNaN(this.status)) { + this.status = 0; + } + if ("response" in options) { + this.response = options.response; + } + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace( + /(? __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var dist_src_exports = {}; __export2(dist_src_exports, { - RequestError: () => RequestError + RequestError: () => RequestError2 }); module2.exports = __toCommonJS2(dist_src_exports); var import_deprecation = require_dist_node3(); var import_once = __toESM2(require_once()); var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); - var RequestError = class extends Error { + var RequestError2 = class extends Error { constructor(message, statusCode, options) { super(message); if (Error.captureStackTrace) { @@ -20701,7 +20701,7 @@ var require_dist_node5 = __commonJS({ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); } - var import_request_error = require_dist_node4(); + var import_request_error2 = require_dist_node4(); function getBufferResponse(response) { return response.arrayBuffer(); } @@ -20753,7 +20753,7 @@ var require_dist_node5 = __commonJS({ if (status < 400) { return; } - throw new import_request_error.RequestError(response.statusText, status, { + throw new import_request_error2.RequestError(response.statusText, status, { response: { url: url2, status, @@ -20764,7 +20764,7 @@ var require_dist_node5 = __commonJS({ }); } if (status === 304) { - throw new import_request_error.RequestError("Not modified", status, { + throw new import_request_error2.RequestError("Not modified", status, { response: { url: url2, status, @@ -20776,7 +20776,7 @@ var require_dist_node5 = __commonJS({ } if (status >= 400) { const data = await getResponseData(response); - const error2 = new import_request_error.RequestError(toErrorMessage(data), status, { + const error2 = new import_request_error2.RequestError(toErrorMessage(data), status, { response: { url: url2, status, @@ -20796,7 +20796,7 @@ var require_dist_node5 = __commonJS({ data }; }).catch((error2) => { - if (error2 instanceof import_request_error.RequestError) + if (error2 instanceof import_request_error2.RequestError) throw error2; else if (error2.name === "AbortError") throw error2; @@ -20808,7 +20808,7 @@ var require_dist_node5 = __commonJS({ message = error2.cause; } } - throw new import_request_error.RequestError(message, 500, { + throw new import_request_error2.RequestError(message, 500, { request: requestOptions }); }); @@ -21250,14 +21250,14 @@ var require_dist_node7 = __commonJS({ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var dist_src_exports = {}; __export2(dist_src_exports, { - RequestError: () => RequestError + RequestError: () => RequestError2 }); module2.exports = __toCommonJS2(dist_src_exports); var import_deprecation = require_dist_node3(); var import_once = __toESM2(require_once()); var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); - var RequestError = class extends Error { + var RequestError2 = class extends Error { constructor(message, statusCode, options) { super(message); if (Error.captureStackTrace) { @@ -21349,7 +21349,7 @@ var require_dist_node8 = __commonJS({ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); } - var import_request_error = require_dist_node7(); + var import_request_error2 = require_dist_node7(); function getBufferResponse(response) { return response.arrayBuffer(); } @@ -21401,7 +21401,7 @@ var require_dist_node8 = __commonJS({ if (status < 400) { return; } - throw new import_request_error.RequestError(response.statusText, status, { + throw new import_request_error2.RequestError(response.statusText, status, { response: { url: url2, status, @@ -21412,7 +21412,7 @@ var require_dist_node8 = __commonJS({ }); } if (status === 304) { - throw new import_request_error.RequestError("Not modified", status, { + throw new import_request_error2.RequestError("Not modified", status, { response: { url: url2, status, @@ -21424,7 +21424,7 @@ var require_dist_node8 = __commonJS({ } if (status >= 400) { const data = await getResponseData(response); - const error2 = new import_request_error.RequestError(toErrorMessage(data), status, { + const error2 = new import_request_error2.RequestError(toErrorMessage(data), status, { response: { url: url2, status, @@ -21444,7 +21444,7 @@ var require_dist_node8 = __commonJS({ data }; }).catch((error2) => { - if (error2 instanceof import_request_error.RequestError) + if (error2 instanceof import_request_error2.RequestError) throw error2; else if (error2.name === "AbortError") throw error2; @@ -21456,7 +21456,7 @@ var require_dist_node8 = __commonJS({ message = error2.cause; } } - throw new import_request_error.RequestError(message, 500, { + throw new import_request_error2.RequestError(message, 500, { request: requestOptions }); }); @@ -32322,6 +32322,7 @@ var require_package = __commonJS({ "@actions/io": "^1.1.3", "@actions/tool-cache": "^2.0.2", "@octokit/plugin-retry": "^6.0.0", + "@octokit/request-error": "^7.0.1", "@schemastore/package": "0.0.10", archiver: "^7.0.1", "check-disk-space": "^3.4.0", @@ -33745,14 +33746,14 @@ var require_dist_node14 = __commonJS({ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var dist_src_exports = {}; __export2(dist_src_exports, { - RequestError: () => RequestError + RequestError: () => RequestError2 }); module2.exports = __toCommonJS2(dist_src_exports); var import_deprecation = require_dist_node3(); var import_once = __toESM2(require_once()); var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); - var RequestError = class extends Error { + var RequestError2 = class extends Error { constructor(message, statusCode, options) { super(message); if (Error.captureStackTrace) { @@ -33854,7 +33855,7 @@ var require_dist_node15 = __commonJS({ throw error2; } var import_light = __toESM2(require_light()); - var import_request_error = require_dist_node14(); + var import_request_error2 = require_dist_node14(); async function wrapRequest(state, octokit, request, options) { const limiter = new import_light.default(); limiter.on("failed", function(error2, info5) { @@ -33875,7 +33876,7 @@ var require_dist_node15 = __commonJS({ if (response.data && response.data.errors && response.data.errors.length > 0 && /Something went wrong while executing your query/.test( response.data.errors[0].message )) { - const error2 = new import_request_error.RequestError(response.data.errors[0].message, 500, { + const error2 = new import_request_error2.RequestError(response.data.errors[0].message, 500, { request: options, response }); @@ -111944,7 +111945,7 @@ var require_dist_node17 = __commonJS({ var once2 = _interopDefault(require_once()); var logOnceCode = once2((deprecation2) => console.warn(deprecation2)); var logOnceHeaders = once2((deprecation2) => console.warn(deprecation2)); - var RequestError = class extends Error { + var RequestError2 = class extends Error { constructor(message, statusCode, options) { super(message); if (Error.captureStackTrace) { @@ -111982,7 +111983,7 @@ var require_dist_node17 = __commonJS({ }); } }; - exports2.RequestError = RequestError; + exports2.RequestError = RequestError2; } }); @@ -128601,6 +128602,45 @@ var path13 = __toESM(require("path")); var core10 = __toESM(require_core()); var toolrunner3 = __toESM(require_toolrunner()); +// node_modules/@octokit/request-error/dist-src/index.js +var RequestError = class extends Error { + name; + /** + * http status code + */ + status; + /** + * Request options that lead to the error. + */ + request; + /** + * Response object if a response was received + */ + response; + constructor(message, statusCode, options) { + super(message); + this.name = "HttpError"; + this.status = Number.parseInt(statusCode); + if (Number.isNaN(this.status)) { + this.status = 0; + } + if ("response" in options) { + this.response = options.response; + } + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace( + /(? __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var dist_src_exports = {}; __export2(dist_src_exports, { - RequestError: () => RequestError + RequestError: () => RequestError2 }); module2.exports = __toCommonJS2(dist_src_exports); var import_deprecation = require_dist_node3(); var import_once = __toESM2(require_once()); var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); - var RequestError = class extends Error { + var RequestError2 = class extends Error { constructor(message, statusCode, options) { super(message); if (Error.captureStackTrace) { @@ -22609,7 +22609,7 @@ var require_dist_node5 = __commonJS({ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); } - var import_request_error = require_dist_node4(); + var import_request_error2 = require_dist_node4(); function getBufferResponse(response) { return response.arrayBuffer(); } @@ -22661,7 +22661,7 @@ var require_dist_node5 = __commonJS({ if (status < 400) { return; } - throw new import_request_error.RequestError(response.statusText, status, { + throw new import_request_error2.RequestError(response.statusText, status, { response: { url, status, @@ -22672,7 +22672,7 @@ var require_dist_node5 = __commonJS({ }); } if (status === 304) { - throw new import_request_error.RequestError("Not modified", status, { + throw new import_request_error2.RequestError("Not modified", status, { response: { url, status, @@ -22684,7 +22684,7 @@ var require_dist_node5 = __commonJS({ } if (status >= 400) { const data = await getResponseData(response); - const error2 = new import_request_error.RequestError(toErrorMessage(data), status, { + const error2 = new import_request_error2.RequestError(toErrorMessage(data), status, { response: { url, status, @@ -22704,7 +22704,7 @@ var require_dist_node5 = __commonJS({ data }; }).catch((error2) => { - if (error2 instanceof import_request_error.RequestError) + if (error2 instanceof import_request_error2.RequestError) throw error2; else if (error2.name === "AbortError") throw error2; @@ -22716,7 +22716,7 @@ var require_dist_node5 = __commonJS({ message = error2.cause; } } - throw new import_request_error.RequestError(message, 500, { + throw new import_request_error2.RequestError(message, 500, { request: requestOptions }); }); @@ -23158,14 +23158,14 @@ var require_dist_node7 = __commonJS({ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var dist_src_exports = {}; __export2(dist_src_exports, { - RequestError: () => RequestError + RequestError: () => RequestError2 }); module2.exports = __toCommonJS2(dist_src_exports); var import_deprecation = require_dist_node3(); var import_once = __toESM2(require_once()); var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); - var RequestError = class extends Error { + var RequestError2 = class extends Error { constructor(message, statusCode, options) { super(message); if (Error.captureStackTrace) { @@ -23257,7 +23257,7 @@ var require_dist_node8 = __commonJS({ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); } - var import_request_error = require_dist_node7(); + var import_request_error2 = require_dist_node7(); function getBufferResponse(response) { return response.arrayBuffer(); } @@ -23309,7 +23309,7 @@ var require_dist_node8 = __commonJS({ if (status < 400) { return; } - throw new import_request_error.RequestError(response.statusText, status, { + throw new import_request_error2.RequestError(response.statusText, status, { response: { url, status, @@ -23320,7 +23320,7 @@ var require_dist_node8 = __commonJS({ }); } if (status === 304) { - throw new import_request_error.RequestError("Not modified", status, { + throw new import_request_error2.RequestError("Not modified", status, { response: { url, status, @@ -23332,7 +23332,7 @@ var require_dist_node8 = __commonJS({ } if (status >= 400) { const data = await getResponseData(response); - const error2 = new import_request_error.RequestError(toErrorMessage(data), status, { + const error2 = new import_request_error2.RequestError(toErrorMessage(data), status, { response: { url, status, @@ -23352,7 +23352,7 @@ var require_dist_node8 = __commonJS({ data }; }).catch((error2) => { - if (error2 instanceof import_request_error.RequestError) + if (error2 instanceof import_request_error2.RequestError) throw error2; else if (error2.name === "AbortError") throw error2; @@ -23364,7 +23364,7 @@ var require_dist_node8 = __commonJS({ message = error2.cause; } } - throw new import_request_error.RequestError(message, 500, { + throw new import_request_error2.RequestError(message, 500, { request: requestOptions }); }); @@ -32322,6 +32322,7 @@ var require_package = __commonJS({ "@actions/io": "^1.1.3", "@actions/tool-cache": "^2.0.2", "@octokit/plugin-retry": "^6.0.0", + "@octokit/request-error": "^7.0.1", "@schemastore/package": "0.0.10", archiver: "^7.0.1", "check-disk-space": "^3.4.0", @@ -33745,14 +33746,14 @@ var require_dist_node14 = __commonJS({ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var dist_src_exports = {}; __export2(dist_src_exports, { - RequestError: () => RequestError + RequestError: () => RequestError2 }); module2.exports = __toCommonJS2(dist_src_exports); var import_deprecation = require_dist_node3(); var import_once = __toESM2(require_once()); var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); - var RequestError = class extends Error { + var RequestError2 = class extends Error { constructor(message, statusCode, options) { super(message); if (Error.captureStackTrace) { @@ -33854,7 +33855,7 @@ var require_dist_node15 = __commonJS({ throw error2; } var import_light = __toESM2(require_light()); - var import_request_error = require_dist_node14(); + var import_request_error2 = require_dist_node14(); async function wrapRequest(state, octokit, request, options) { const limiter = new import_light.default(); limiter.on("failed", function(error2, info4) { @@ -33875,7 +33876,7 @@ var require_dist_node15 = __commonJS({ if (response.data && response.data.errors && response.data.errors.length > 0 && /Something went wrong while executing your query/.test( response.data.errors[0].message )) { - const error2 = new import_request_error.RequestError(response.data.errors[0].message, 500, { + const error2 = new import_request_error2.RequestError(response.data.errors[0].message, 500, { request: options, response }); @@ -87863,7 +87864,13 @@ async function getOverlayDatabaseMode(codeql, repository, features, languages, s return nonOverlayAnalysis; } if (buildMode !== "none" /* None */ && (await Promise.all( - languages.map(async (l) => await codeql.isTracedLanguage(l)) + languages.map( + async (l) => l !== "go" /* go */ && // Workaround to allow overlay analysis for Go with any build + // mode, since it does not yet support BMN. The Go autobuilder and/or extractor will + // ensure that overlay-base databases are only created for supported Go build setups, + // and that we'll fall back to full databases in other cases. + await codeql.isTracedLanguage(l) + ) )).some(Boolean)) { logger.warning( `Cannot build an ${overlayDatabaseMode} database because build-mode is set to "${buildMode}" instead of "none". Falling back to creating a normal full database instead.` @@ -88327,6 +88334,45 @@ var path16 = __toESM(require("path")); var core10 = __toESM(require_core()); var toolrunner3 = __toESM(require_toolrunner()); +// node_modules/@octokit/request-error/dist-src/index.js +var RequestError = class extends Error { + name; + /** + * http status code + */ + status; + /** + * Request options that lead to the error. + */ + request; + /** + * Response object if a response was received + */ + response; + constructor(message, statusCode, options) { + super(message); + this.name = "HttpError"; + this.status = Number.parseInt(statusCode); + if (Number.isNaN(this.status)) { + this.status = 0; + } + if ("response" in options) { + this.response = options.response; + } + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace( + /(? c.type), logger ); @@ -95813,7 +95819,9 @@ async function runWrapper() { "start-proxy" /* StartProxy */, getActionsStatus(error2), startedAt, - void 0, + { + languages: language && [language] + }, await checkDiskUsage(logger), logger ); diff --git a/lib/upload-lib.js b/lib/upload-lib.js index 230f58b8e..e7c0bb5ec 100644 --- a/lib/upload-lib.js +++ b/lib/upload-lib.js @@ -21899,14 +21899,14 @@ var require_dist_node4 = __commonJS({ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var dist_src_exports = {}; __export2(dist_src_exports, { - RequestError: () => RequestError + RequestError: () => RequestError2 }); module2.exports = __toCommonJS2(dist_src_exports); var import_deprecation = require_dist_node3(); var import_once = __toESM2(require_once()); var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); - var RequestError = class extends Error { + var RequestError2 = class extends Error { constructor(message, statusCode, options) { super(message); if (Error.captureStackTrace) { @@ -21998,7 +21998,7 @@ var require_dist_node5 = __commonJS({ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); } - var import_request_error = require_dist_node4(); + var import_request_error2 = require_dist_node4(); function getBufferResponse(response) { return response.arrayBuffer(); } @@ -22050,7 +22050,7 @@ var require_dist_node5 = __commonJS({ if (status < 400) { return; } - throw new import_request_error.RequestError(response.statusText, status, { + throw new import_request_error2.RequestError(response.statusText, status, { response: { url: url2, status, @@ -22061,7 +22061,7 @@ var require_dist_node5 = __commonJS({ }); } if (status === 304) { - throw new import_request_error.RequestError("Not modified", status, { + throw new import_request_error2.RequestError("Not modified", status, { response: { url: url2, status, @@ -22073,7 +22073,7 @@ var require_dist_node5 = __commonJS({ } if (status >= 400) { const data = await getResponseData(response); - const error2 = new import_request_error.RequestError(toErrorMessage(data), status, { + const error2 = new import_request_error2.RequestError(toErrorMessage(data), status, { response: { url: url2, status, @@ -22093,7 +22093,7 @@ var require_dist_node5 = __commonJS({ data }; }).catch((error2) => { - if (error2 instanceof import_request_error.RequestError) + if (error2 instanceof import_request_error2.RequestError) throw error2; else if (error2.name === "AbortError") throw error2; @@ -22105,7 +22105,7 @@ var require_dist_node5 = __commonJS({ message = error2.cause; } } - throw new import_request_error.RequestError(message, 500, { + throw new import_request_error2.RequestError(message, 500, { request: requestOptions }); }); @@ -22547,14 +22547,14 @@ var require_dist_node7 = __commonJS({ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var dist_src_exports = {}; __export2(dist_src_exports, { - RequestError: () => RequestError + RequestError: () => RequestError2 }); module2.exports = __toCommonJS2(dist_src_exports); var import_deprecation = require_dist_node3(); var import_once = __toESM2(require_once()); var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); - var RequestError = class extends Error { + var RequestError2 = class extends Error { constructor(message, statusCode, options) { super(message); if (Error.captureStackTrace) { @@ -22646,7 +22646,7 @@ var require_dist_node8 = __commonJS({ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); } - var import_request_error = require_dist_node7(); + var import_request_error2 = require_dist_node7(); function getBufferResponse(response) { return response.arrayBuffer(); } @@ -22698,7 +22698,7 @@ var require_dist_node8 = __commonJS({ if (status < 400) { return; } - throw new import_request_error.RequestError(response.statusText, status, { + throw new import_request_error2.RequestError(response.statusText, status, { response: { url: url2, status, @@ -22709,7 +22709,7 @@ var require_dist_node8 = __commonJS({ }); } if (status === 304) { - throw new import_request_error.RequestError("Not modified", status, { + throw new import_request_error2.RequestError("Not modified", status, { response: { url: url2, status, @@ -22721,7 +22721,7 @@ var require_dist_node8 = __commonJS({ } if (status >= 400) { const data = await getResponseData(response); - const error2 = new import_request_error.RequestError(toErrorMessage(data), status, { + const error2 = new import_request_error2.RequestError(toErrorMessage(data), status, { response: { url: url2, status, @@ -22741,7 +22741,7 @@ var require_dist_node8 = __commonJS({ data }; }).catch((error2) => { - if (error2 instanceof import_request_error.RequestError) + if (error2 instanceof import_request_error2.RequestError) throw error2; else if (error2.name === "AbortError") throw error2; @@ -22753,7 +22753,7 @@ var require_dist_node8 = __commonJS({ message = error2.cause; } } - throw new import_request_error.RequestError(message, 500, { + throw new import_request_error2.RequestError(message, 500, { request: requestOptions }); }); @@ -33619,6 +33619,7 @@ var require_package = __commonJS({ "@actions/io": "^1.1.3", "@actions/tool-cache": "^2.0.2", "@octokit/plugin-retry": "^6.0.0", + "@octokit/request-error": "^7.0.1", "@schemastore/package": "0.0.10", archiver: "^7.0.1", "check-disk-space": "^3.4.0", @@ -35042,14 +35043,14 @@ var require_dist_node14 = __commonJS({ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var dist_src_exports = {}; __export2(dist_src_exports, { - RequestError: () => RequestError + RequestError: () => RequestError2 }); module2.exports = __toCommonJS2(dist_src_exports); var import_deprecation = require_dist_node3(); var import_once = __toESM2(require_once()); var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); - var RequestError = class extends Error { + var RequestError2 = class extends Error { constructor(message, statusCode, options) { super(message); if (Error.captureStackTrace) { @@ -35151,7 +35152,7 @@ var require_dist_node15 = __commonJS({ throw error2; } var import_light = __toESM2(require_light()); - var import_request_error = require_dist_node14(); + var import_request_error2 = require_dist_node14(); async function wrapRequest(state, octokit, request, options) { const limiter = new import_light.default(); limiter.on("failed", function(error2, info4) { @@ -35172,7 +35173,7 @@ var require_dist_node15 = __commonJS({ if (response.data && response.data.errors && response.data.errors.length > 0 && /Something went wrong while executing your query/.test( response.data.errors[0].message )) { - const error2 = new import_request_error.RequestError(response.data.errors[0].message, 500, { + const error2 = new import_request_error2.RequestError(response.data.errors[0].message, 500, { request: options, response }); @@ -88741,6 +88742,45 @@ var path12 = __toESM(require("path")); var core10 = __toESM(require_core()); var toolrunner3 = __toESM(require_toolrunner()); +// node_modules/@octokit/request-error/dist-src/index.js +var RequestError = class extends Error { + name; + /** + * http status code + */ + status; + /** + * Request options that lead to the error. + */ + request; + /** + * Response object if a response was received + */ + response; + constructor(message, statusCode, options) { + super(message); + this.name = "HttpError"; + this.status = Number.parseInt(statusCode); + if (Number.isNaN(this.status)) { + this.status = 0; + } + if ("response" in options) { + this.response = options.response; + } + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace( + /(? __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var dist_src_exports = {}; __export2(dist_src_exports, { - RequestError: () => RequestError + RequestError: () => RequestError2 }); module2.exports = __toCommonJS2(dist_src_exports); var import_deprecation = require_dist_node3(); var import_once = __toESM2(require_once()); var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); - var RequestError = class extends Error { + var RequestError2 = class extends Error { constructor(message, statusCode, options) { super(message); if (Error.captureStackTrace) { @@ -20701,7 +20701,7 @@ var require_dist_node5 = __commonJS({ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); } - var import_request_error = require_dist_node4(); + var import_request_error2 = require_dist_node4(); function getBufferResponse(response) { return response.arrayBuffer(); } @@ -20753,7 +20753,7 @@ var require_dist_node5 = __commonJS({ if (status < 400) { return; } - throw new import_request_error.RequestError(response.statusText, status, { + throw new import_request_error2.RequestError(response.statusText, status, { response: { url: url2, status, @@ -20764,7 +20764,7 @@ var require_dist_node5 = __commonJS({ }); } if (status === 304) { - throw new import_request_error.RequestError("Not modified", status, { + throw new import_request_error2.RequestError("Not modified", status, { response: { url: url2, status, @@ -20776,7 +20776,7 @@ var require_dist_node5 = __commonJS({ } if (status >= 400) { const data = await getResponseData(response); - const error2 = new import_request_error.RequestError(toErrorMessage(data), status, { + const error2 = new import_request_error2.RequestError(toErrorMessage(data), status, { response: { url: url2, status, @@ -20796,7 +20796,7 @@ var require_dist_node5 = __commonJS({ data }; }).catch((error2) => { - if (error2 instanceof import_request_error.RequestError) + if (error2 instanceof import_request_error2.RequestError) throw error2; else if (error2.name === "AbortError") throw error2; @@ -20808,7 +20808,7 @@ var require_dist_node5 = __commonJS({ message = error2.cause; } } - throw new import_request_error.RequestError(message, 500, { + throw new import_request_error2.RequestError(message, 500, { request: requestOptions }); }); @@ -21250,14 +21250,14 @@ var require_dist_node7 = __commonJS({ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var dist_src_exports = {}; __export2(dist_src_exports, { - RequestError: () => RequestError + RequestError: () => RequestError2 }); module2.exports = __toCommonJS2(dist_src_exports); var import_deprecation = require_dist_node3(); var import_once = __toESM2(require_once()); var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); - var RequestError = class extends Error { + var RequestError2 = class extends Error { constructor(message, statusCode, options) { super(message); if (Error.captureStackTrace) { @@ -21349,7 +21349,7 @@ var require_dist_node8 = __commonJS({ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); } - var import_request_error = require_dist_node7(); + var import_request_error2 = require_dist_node7(); function getBufferResponse(response) { return response.arrayBuffer(); } @@ -21401,7 +21401,7 @@ var require_dist_node8 = __commonJS({ if (status < 400) { return; } - throw new import_request_error.RequestError(response.statusText, status, { + throw new import_request_error2.RequestError(response.statusText, status, { response: { url: url2, status, @@ -21412,7 +21412,7 @@ var require_dist_node8 = __commonJS({ }); } if (status === 304) { - throw new import_request_error.RequestError("Not modified", status, { + throw new import_request_error2.RequestError("Not modified", status, { response: { url: url2, status, @@ -21424,7 +21424,7 @@ var require_dist_node8 = __commonJS({ } if (status >= 400) { const data = await getResponseData(response); - const error2 = new import_request_error.RequestError(toErrorMessage(data), status, { + const error2 = new import_request_error2.RequestError(toErrorMessage(data), status, { response: { url: url2, status, @@ -21444,7 +21444,7 @@ var require_dist_node8 = __commonJS({ data }; }).catch((error2) => { - if (error2 instanceof import_request_error.RequestError) + if (error2 instanceof import_request_error2.RequestError) throw error2; else if (error2.name === "AbortError") throw error2; @@ -21456,7 +21456,7 @@ var require_dist_node8 = __commonJS({ message = error2.cause; } } - throw new import_request_error.RequestError(message, 500, { + throw new import_request_error2.RequestError(message, 500, { request: requestOptions }); }); @@ -32322,6 +32322,7 @@ var require_package = __commonJS({ "@actions/io": "^1.1.3", "@actions/tool-cache": "^2.0.2", "@octokit/plugin-retry": "^6.0.0", + "@octokit/request-error": "^7.0.1", "@schemastore/package": "0.0.10", archiver: "^7.0.1", "check-disk-space": "^3.4.0", @@ -33745,14 +33746,14 @@ var require_dist_node14 = __commonJS({ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var dist_src_exports = {}; __export2(dist_src_exports, { - RequestError: () => RequestError + RequestError: () => RequestError2 }); module2.exports = __toCommonJS2(dist_src_exports); var import_deprecation = require_dist_node3(); var import_once = __toESM2(require_once()); var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); - var RequestError = class extends Error { + var RequestError2 = class extends Error { constructor(message, statusCode, options) { super(message); if (Error.captureStackTrace) { @@ -33854,7 +33855,7 @@ var require_dist_node15 = __commonJS({ throw error2; } var import_light = __toESM2(require_light()); - var import_request_error = require_dist_node14(); + var import_request_error2 = require_dist_node14(); async function wrapRequest(state, octokit, request, options) { const limiter = new import_light.default(); limiter.on("failed", function(error2, info4) { @@ -33875,7 +33876,7 @@ var require_dist_node15 = __commonJS({ if (response.data && response.data.errors && response.data.errors.length > 0 && /Something went wrong while executing your query/.test( response.data.errors[0].message )) { - const error2 = new import_request_error.RequestError(response.data.errors[0].message, 500, { + const error2 = new import_request_error2.RequestError(response.data.errors[0].message, 500, { request: options, response }); @@ -89856,7 +89857,7 @@ async function createStatusReportBase(actionName, status, actionStartedAt, confi action_ref: actionRef, action_started_at: actionStartedAt.toISOString(), action_version: getActionVersion(), - analysis_kinds: config?.analysisKinds.join(","), + analysis_kinds: config?.analysisKinds?.join(","), analysis_key, build_mode: config?.buildMode, commit_oid: commitOid, @@ -89879,7 +89880,7 @@ async function createStatusReportBase(actionName, status, actionStartedAt, confi logger.warning(`Could not determine the workflow event name: ${e}.`); } if (config) { - statusReport.languages = config.languages.join(","); + statusReport.languages = config.languages?.join(","); } if (diskInfo) { statusReport.runner_available_disk_space_bytes = diskInfo.numAvailableBytes; @@ -89989,6 +89990,45 @@ var path13 = __toESM(require("path")); var core11 = __toESM(require_core()); var toolrunner3 = __toESM(require_toolrunner()); +// node_modules/@octokit/request-error/dist-src/index.js +var RequestError = class extends Error { + name; + /** + * http status code + */ + status; + /** + * Request options that lead to the error. + */ + request; + /** + * Response object if a response was received + */ + response; + constructor(message, statusCode, options) { + super(message); + this.name = "HttpError"; + this.status = Number.parseInt(statusCode); + if (Number.isNaN(this.status)) { + this.status = 0; + } + if ("response" in options) { + this.response = options.response; + } + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace( + /(?= 20" } }, - "node_modules/@octokit/request-error/node_modules/@octokit/openapi-types": { - "version": "25.1.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", - "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", - "license": "MIT" - }, - "node_modules/@octokit/request-error/node_modules/@octokit/types": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", - "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^25.1.0" - } - }, "node_modules/@octokit/request/node_modules/@octokit/openapi-types": { "version": "25.1.0", "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", @@ -2348,7 +2334,6 @@ "version": "15.0.0", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-15.0.0.tgz", "integrity": "sha512-8o6yDfmoGJUIeR9OfYU0/TUJTnMPG2r68+1yEdUeG2Fdqpj8Qetg0ziKIgcBm0RW/j29H41WP37CYCEhp6GoHQ==", - "dev": true, "license": "MIT", "dependencies": { "@octokit/openapi-types": "^26.0.0" diff --git a/package.json b/package.json index 2c7737ce4..8e6cccfb0 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ "@actions/io": "^1.1.3", "@actions/tool-cache": "^2.0.2", "@octokit/plugin-retry": "^6.0.0", + "@octokit/request-error": "^7.0.1", "@schemastore/package": "0.0.10", "archiver": "^7.0.1", "check-disk-space": "^3.4.0", diff --git a/src/codeql.ts b/src/codeql.ts index 16b105a3d..5241ff247 100644 --- a/src/codeql.ts +++ b/src/codeql.ts @@ -3,6 +3,7 @@ import * as path from "path"; import * as core from "@actions/core"; import * as toolrunner from "@actions/exec/lib/toolrunner"; +import { RequestError } from "@octokit/request-error"; import * as yaml from "js-yaml"; import { @@ -370,7 +371,8 @@ export async function setupCodeQL( } catch (e) { const ErrorClass = e instanceof util.ConfigurationError || - (e instanceof Error && e.message.includes("ENOSPC")) // out of disk space + (e instanceof Error && e.message.includes("ENOSPC")) || // out of disk space + (e instanceof RequestError && e.status === 429) // rate limited ? util.ConfigurationError : Error; diff --git a/src/config-utils.ts b/src/config-utils.ts index fe4b392ab..e6c87bf5a 100644 --- a/src/config-utils.ts +++ b/src/config-utils.ts @@ -723,7 +723,14 @@ export async function getOverlayDatabaseMode( buildMode !== BuildMode.None && ( await Promise.all( - languages.map(async (l) => await codeql.isTracedLanguage(l)), + languages.map( + async (l) => + l !== KnownLanguage.go && // Workaround to allow overlay analysis for Go with any build + // mode, since it does not yet support BMN. The Go autobuilder and/or extractor will + // ensure that overlay-base databases are only created for supported Go build setups, + // and that we'll fall back to full databases in other cases. + (await codeql.isTracedLanguage(l)), + ), ) ).some(Boolean) ) { diff --git a/src/start-proxy-action.ts b/src/start-proxy-action.ts index 966c954b4..013382716 100644 --- a/src/start-proxy-action.ts +++ b/src/start-proxy-action.ts @@ -7,11 +7,14 @@ import { pki } from "node-forge"; import * as actionsUtil from "./actions-util"; import { getApiDetails, getAuthorizationHeaderFor } from "./api-client"; +import { Config } from "./config-utils"; +import { KnownLanguage } from "./languages"; import { getActionsLogger, Logger } from "./logging"; import { Credential, getCredentials, getDownloadUrl, + parseLanguage, UPDATEJOB_PROXY, } from "./start-proxy"; import { @@ -98,6 +101,7 @@ interface StartProxyStatus extends StatusReportBase { async function sendSuccessStatusReport( startedAt: Date, + config: Partial, registry_types: string[], logger: Logger, ) { @@ -105,7 +109,7 @@ async function sendSuccessStatusReport( ActionName.StartProxy, "success", startedAt, - undefined, + config, await util.checkDiskUsage(logger), logger, ); @@ -125,6 +129,7 @@ async function runWrapper() { actionsUtil.persistInputs(); const logger = getActionsLogger(); + let language: KnownLanguage | undefined; try { // Setup logging for the proxy @@ -133,11 +138,13 @@ async function runWrapper() { core.saveState("proxy-log-file", proxyLogFilePath); // Get the configuration options + const languageInput = actionsUtil.getOptionalInput("language"); + language = languageInput ? parseLanguage(languageInput) : undefined; const credentials = getCredentials( logger, actionsUtil.getOptionalInput("registry_secrets"), actionsUtil.getOptionalInput("registries_credentials"), - actionsUtil.getOptionalInput("language"), + language, ); if (credentials.length === 0) { @@ -165,6 +172,9 @@ async function runWrapper() { // Report success if we have reached this point. await sendSuccessStatusReport( startedAt, + { + languages: language && [language], + }, proxyConfig.all_credentials.map((c) => c.type), logger, ); @@ -178,7 +188,9 @@ async function runWrapper() { ActionName.StartProxy, getActionsStatus(error), startedAt, - undefined, + { + languages: language && [language], + }, await util.checkDiskUsage(logger), logger, ); diff --git a/src/start-proxy.test.ts b/src/start-proxy.test.ts index dfd55d72f..edd1377c0 100644 --- a/src/start-proxy.test.ts +++ b/src/start-proxy.test.ts @@ -109,7 +109,7 @@ test("getCredentials filters by language when specified", async (t) => { getRunnerLogger(true), undefined, toEncodedJSON(mixedCredentials), - "java", + KnownLanguage.java, ); t.is(credentials.length, 1); t.is(credentials[0].type, "maven_repository"); @@ -120,7 +120,7 @@ test("getCredentials returns all for a language when specified", async (t) => { getRunnerLogger(true), undefined, toEncodedJSON(mixedCredentials), - "go", + KnownLanguage.go, ); t.is(credentials.length, 2); diff --git a/src/start-proxy.ts b/src/start-proxy.ts index dd1e443b7..2888e1a58 100644 --- a/src/start-proxy.ts +++ b/src/start-proxy.ts @@ -79,9 +79,8 @@ export function getCredentials( logger: Logger, registrySecrets: string | undefined, registriesCredentials: string | undefined, - languageString: string | undefined, + language: KnownLanguage | undefined, ): Credential[] { - const language = languageString ? parseLanguage(languageString) : undefined; const registryTypeForLanguage = language ? LANGUAGE_TO_REGISTRY_TYPE[language] : undefined; diff --git a/src/status-report.test.ts b/src/status-report.test.ts index b535ef212..8421dccee 100644 --- a/src/status-report.test.ts +++ b/src/status-report.test.ts @@ -92,6 +92,49 @@ test("createStatusReportBase", async (t) => { }); }); +test("createStatusReportBase - empty configuration", async (t) => { + await withTmpDir(async (tmpDir: string) => { + setupEnvironmentAndStub(tmpDir); + + const statusReport = await createStatusReportBase( + ActionName.StartProxy, + "success", + new Date("May 19, 2023 05:19:00"), + {}, + { numAvailableBytes: 100, numTotalBytes: 500 }, + getRunnerLogger(false), + ); + + if (t.truthy(statusReport)) { + t.is(statusReport.action_name, ActionName.StartProxy); + t.is(statusReport.status, "success"); + } + }); +}); + +test("createStatusReportBase - partial configuration", async (t) => { + await withTmpDir(async (tmpDir: string) => { + setupEnvironmentAndStub(tmpDir); + + const statusReport = await createStatusReportBase( + ActionName.StartProxy, + "success", + new Date("May 19, 2023 05:19:00"), + { + languages: ["go"], + }, + { numAvailableBytes: 100, numTotalBytes: 500 }, + getRunnerLogger(false), + ); + + if (t.truthy(statusReport)) { + t.is(statusReport.action_name, ActionName.StartProxy); + t.is(statusReport.status, "success"); + t.is(statusReport.languages, "go"); + } + }); +}); + test("createStatusReportBase_firstParty", async (t) => { await withTmpDir(async (tmpDir: string) => { setupEnvironmentAndStub(tmpDir); diff --git a/src/status-report.ts b/src/status-report.ts index 9bfd14677..46b16a5ef 100644 --- a/src/status-report.ts +++ b/src/status-report.ts @@ -260,7 +260,7 @@ export async function createStatusReportBase( actionName: ActionName, status: ActionStatus, actionStartedAt: Date, - config: Config | undefined, + config: Partial | undefined, diskInfo: DiskUsage | undefined, logger: Logger, cause?: string, @@ -299,7 +299,7 @@ export async function createStatusReportBase( action_ref: actionRef, action_started_at: actionStartedAt.toISOString(), action_version: getActionVersion(), - analysis_kinds: config?.analysisKinds.join(","), + analysis_kinds: config?.analysisKinds?.join(","), analysis_key, build_mode: config?.buildMode, commit_oid: commitOid, @@ -324,7 +324,7 @@ export async function createStatusReportBase( } if (config) { - statusReport.languages = config.languages.join(","); + statusReport.languages = config.languages?.join(","); } if (diskInfo) {