Skip to content

Commit

Permalink
add skip reason
Browse files Browse the repository at this point in the history
  • Loading branch information
mw-kapilg committed Aug 19, 2024
1 parent 868e7f6 commit 33aeed2
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 22 deletions.
51 changes: 37 additions & 14 deletions plugins/+ciplugins/+github/BuildSummaryPlugin.m
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,50 @@

% Copyright 2024 The MathWorks, Inc.

properties
fID
taskDetails = [];
end

methods (Access=protected)

function runTaskGraph(plugin, pluginData)
[plugin.fID, msg] = fopen(fullfile(getenv("RUNNER_TEMP") ,"buildSummary" + getenv("GITHUB_RUN_ID") + ".json"), "w");

runTaskGraph@matlab.buildtool.plugins.BuildRunnerPlugin(plugin, pluginData);
[fID, msg] = fopen(fullfile(getenv("RUNNER_TEMP") ,"buildSummary" + getenv("GITHUB_RUN_ID") + ".json"), "w");

if fID == -1
if plugin.fID == -1
warning("ciplugins:github:BuildSummaryPlugin:UnableToOpenFile","Unable to open a file required to create the MATLAB build summary table: %s", msg);
else
closeFile = onCleanup(@()fclose(fID));
taskDetails = struct();
for idx = 1:numel(pluginData.TaskResults)
taskDetails(idx).name = pluginData.TaskResults(idx).Name;
taskDetails(idx).description = pluginData.TaskGraph.Tasks(idx).Description;
taskDetails(idx).failed = pluginData.TaskResults(idx).Failed;
taskDetails(idx).skipped = pluginData.TaskResults(idx).Skipped;
taskDetails(idx).duration = string(pluginData.TaskResults(idx).Duration);
end
s = jsonencode(taskDetails);
fprintf(fID, "%s",s);
closeFile = onCleanup(@()fclose(plugin.fID));
s = jsonencode(plugin.taskDetails);
fprintf(plugin.fID, "%s",s);
end
end

function runTask(plugin, pluginData)
runTask@matlab.buildtool.plugins.BuildRunnerPlugin(plugin, pluginData);

taskDetail = plugin.getCommonTaskData(pluginData);
plugin.taskDetails = [plugin.taskDetails, taskDetail];
end

function skipTask(plugin, pluginData)
skipTask@matlab.buildtool.plugins.BuildRunnerPlugin(plugin, pluginData);

taskDetail = plugin.getCommonTaskData(pluginData);
taskDetail.skipReason = pluginData.SkipReason;
plugin.taskDetails = [plugin.taskDetails, taskDetail];
end
end

methods(Static, Access=private)
function taskDetail = getCommonTaskData(pluginData)
taskDetail = struct();
taskDetail.name = pluginData.TaskResults.Name;
taskDetail.description = pluginData.TaskGraph.Tasks.Description;
taskDetail.failed = pluginData.TaskResults.Failed;
taskDetail.skipped = pluginData.TaskResults.Skipped;
taskDetail.duration = string(pluginData.TaskResults.Duration);
end
end
end
30 changes: 22 additions & 8 deletions src/buildSummary.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@ import * as core from "@actions/core";
import { join } from 'path';
import { readFileSync, unlinkSync, existsSync } from 'fs';

export interface Task {
name: string;
description: string;
failed: boolean;
skipped: boolean;
duration: string;
}
// export interface Task {
// name: string;
// description: string;
// failed: boolean;
// skipped: boolean;
// skipReason: string;
// duration: string;
// }

export function writeSummary(taskSummaryTableRows: string[][]) {
try {
Expand All @@ -26,14 +27,27 @@ export function getSummaryRows(buildSummary: string): any[] {
if (t.failed) {
return [t.name, '🔴 Failed', t.description, t.duration.toString()];
} else if (t.skipped) {
return [t.name, '🔵 Skipped', t.description, t.duration.toString()];
return [t.name, '🔵 Skipped' + ' (' + interpretSkipReason(t.skipReason) + ')', t.description, t.duration.toString()];
} else {
return [t.name, '🟢 Success', t.description, t.duration.toString()];
}
});
return rows;
}

export function interpretSkipReason(skipReason: string){
switch(skipReason) {
case "UpToDate":
return "Up-To-Date";
case "UserSpecified":
return "User Specified";
case "DependencyFailed":
return "Dependency Failed";
default:
return skipReason;
}
}

export function processAndDisplayBuildSummary() {
const runId = process.env.GITHUB_RUN_ID || '';
const runnerTemp = process.env.RUNNER_TEMP || '';
Expand Down

0 comments on commit 33aeed2

Please sign in to comment.