Add languages to the status report for all jobs

This commit is contained in:
Henry Mercer 2024-02-26 19:03:28 +00:00
parent 905ae4af53
commit 28b564f8c6
30 changed files with 135 additions and 96 deletions

View file

@ -28,15 +28,15 @@ const actions_util_1 = require("./actions-util");
const api_client_1 = require("./api-client");
const autobuild_1 = require("./autobuild");
const codeql_1 = require("./codeql");
const configUtils = __importStar(require("./config-utils"));
const config_utils_1 = require("./config-utils");
const environment_1 = require("./environment");
const logging_1 = require("./logging");
const status_report_1 = require("./status-report");
const util_1 = require("./util");
async function sendCompletedStatusReport(logger, startedAt, allLanguages, failingLanguage, cause) {
async function sendCompletedStatusReport(config, logger, startedAt, allLanguages, failingLanguage, cause) {
(0, util_1.initializeEnvironment)((0, actions_util_1.getActionVersion)());
const status = (0, status_report_1.getActionsStatus)(cause, failingLanguage);
const statusReportBase = await (0, status_report_1.createStatusReportBase)("autobuild", status, startedAt, await (0, util_1.checkDiskUsage)(logger), cause?.message, cause?.stack);
const statusReportBase = await (0, status_report_1.createStatusReportBase)("autobuild", status, startedAt, config, await (0, util_1.checkDiskUsage)(logger), cause?.message, cause?.stack);
const statusReport = {
...statusReportBase,
autobuild_languages: allLanguages.join(","),
@ -47,14 +47,15 @@ async function sendCompletedStatusReport(logger, startedAt, allLanguages, failin
async function run() {
const startedAt = new Date();
const logger = (0, logging_1.getActionsLogger)();
let currentLanguage = undefined;
let languages = undefined;
let config;
let currentLanguage;
let languages;
try {
await (0, status_report_1.sendStatusReport)(await (0, status_report_1.createStatusReportBase)("autobuild", "starting", startedAt, await (0, util_1.checkDiskUsage)(logger)));
await (0, status_report_1.sendStatusReport)(await (0, status_report_1.createStatusReportBase)("autobuild", "starting", startedAt, undefined, await (0, util_1.checkDiskUsage)(logger)));
const gitHubVersion = await (0, api_client_1.getGitHubVersion)();
(0, util_1.checkGitHubVersionInRange)(gitHubVersion, logger);
(0, util_1.checkActionVersion)((0, actions_util_1.getActionVersion)(), gitHubVersion);
const config = await configUtils.getConfig((0, actions_util_1.getTemporaryDirectory)(), logger);
config = await (0, config_utils_1.getConfig)((0, actions_util_1.getTemporaryDirectory)(), logger);
if (config === undefined) {
throw new Error("Config file could not be found at expected location. Has the 'init' action been called?");
}
@ -75,11 +76,11 @@ async function run() {
catch (unwrappedError) {
const error = (0, util_1.wrapError)(unwrappedError);
core.setFailed(`We were unable to automatically build your code. Please replace the call to the autobuild action with your custom build steps. ${error.message}`);
await sendCompletedStatusReport(logger, startedAt, languages ?? [], currentLanguage, error);
await sendCompletedStatusReport(config, logger, startedAt, languages ?? [], currentLanguage, error);
return;
}
core.exportVariable(environment_1.EnvVar.AUTOBUILD_DID_COMPLETE_SUCCESSFULLY, "true");
await sendCompletedStatusReport(logger, startedAt, languages ?? []);
await sendCompletedStatusReport(config, logger, startedAt, languages ?? []);
}
async function runWrapper() {
try {