diff --git a/src/buildSummary.ts b/src/buildSummary.ts index c78df21..63aae1c 100644 --- a/src/buildSummary.ts +++ b/src/buildSummary.ts @@ -36,9 +36,9 @@ export function getBuildSummaryTable(tasks: Task[]): string[][] { } export function writeSummary(taskSummaryTableRows: string[][]) { - core.summary - .addTable(taskSummaryTableRows) - .write(); + core.summary + .addTable(taskSummaryTableRows) + .write(); } export function processAndDisplayBuildSummary() { @@ -46,19 +46,14 @@ export function processAndDisplayBuildSummary() { const runnerTemp = process.env.RUNNER_TEMP; let filePath: string; - try { - - if (!runId) { - filePath = join(runnerTemp as string, `buildSummary_.json`); - } else { - filePath = join(runnerTemp as string, `buildSummary_${runId as string}.json`); - } - - const data =JSON.parse(readFileSync(filePath, { encoding: 'utf8' })); - const taskSummaryTableRows = getBuildSummaryTable(data); - writeSummary(taskSummaryTableRows); - } catch (error) { - console.error('An error occurred while reading the build summary file or adding the build summary table:', error); + if (!runId) { + filePath = join(runnerTemp as string, `buildSummary_.json`); + } else { + filePath = join(runnerTemp as string, `buildSummary_${runId as string}.json`); } + + const data = JSON.parse(readFileSync(filePath, { encoding: 'utf8' })); + const taskSummaryTableRows = getBuildSummaryTable(data); + writeSummary(taskSummaryTableRows); } diff --git a/src/index.ts b/src/index.ts index 6f3c351..c7c1a24 100644 --- a/src/index.ts +++ b/src/index.ts @@ -10,35 +10,52 @@ import * as buildSummary from "./buildSummary"; * Gather action inputs and then run action. */ async function run() { - const platform = process.platform; - const architecture = process.arch; - const workspaceDir = process.cwd(); - - const options: buildtool.RunBuildOptions = { - Tasks: core.getInput("tasks"), - BuildOptions: core.getInput("build-options"), - }; - - const command = buildtool.generateCommand(options); - const startupOptions = core.getInput("startup-options").split(" "); - - const helperScript = await matlab.generateScript(workspaceDir, command); - const execOptions = { env: { - ...process.env, - "MW_MATLAB_BUILDTOOL_DEFAULT_PLUGINS_FCN_OVERRIDE":"ciplugins.github.getDefaultPlugins", - }}; - - await matlab.runCommand( - helperScript, - platform, - architecture, - (cmd,args)=>exec.exec(cmd,args,execOptions), - startupOptions - ); - buildSummary.processAndDisplayBuildSummary(); + try { + + const platform = process.platform; + const architecture = process.arch; + const workspaceDir = process.cwd(); + + const options: buildtool.RunBuildOptions = { + Tasks: core.getInput("tasks"), + BuildOptions: core.getInput("build-options"), + }; + + const command = buildtool.generateCommand(options); + const startupOptions = core.getInput("startup-options").split(" "); + + const helperScript = await matlab.generateScript(workspaceDir, command); + const execOptions = { + env: { + ...process.env, + "MW_MATLAB_BUILDTOOL_DEFAULT_PLUGINS_FCN_OVERRIDE": "ciplugins.github.getDefaultPlugins", + } + }; + + await matlab.runCommand( + helperScript, + platform, + architecture, + (cmd, args) => exec.exec(cmd, args, execOptions), + startupOptions + ); + + buildSummary.processAndDisplayBuildSummary(); + + } catch (e) { + try { + buildSummary.processAndDisplayBuildSummary(); + } catch (summaryError) { + console.error('An error occurred while reading the build summary file or adding the build summary table:', summaryError); + } + if (e instanceof Error || typeof e === "string") { + core.setFailed(e); + } else { + core.setFailed("An unknown error occurred while runing MATLAB build."); + } + + } + } -run().catch((e) => { - buildSummary.processAndDisplayBuildSummary(); - core.setFailed(e); -}); +run(); \ No newline at end of file