Improve summary formatting

This commit is contained in:
Justin Hutchings
2024-03-04 18:28:43 +00:00
parent 2fcc6a1c72
commit 9843156266
4 changed files with 29 additions and 27 deletions
Generated Vendored
+9 -9
View File
@@ -1317,18 +1317,18 @@ function snapshotWarningRecommendation(config, warnings) {
return 'Re-running this action after a short time may resolve the issue.';
}
function addScorecardToSummary(scorecard, config) {
var _a, _b, _c;
var _a, _b;
core.summary.addHeading('OpenSSF Scorecard', 2);
for (const dependency of scorecard.dependencies) {
core.summary.addHeading(`${dependency.ecosystem}/${dependency.packageName}`, 3);
if ((_a = dependency.depsDevData) === null || _a === void 0 ? void 0 : _a.scorecard.overallScore) {
core.summary.addRaw(`Overall score: ${(_b = dependency.depsDevData) === null || _b === void 0 ? void 0 : _b.scorecard.overallScore}`, true);
core.summary.addRaw(`<table><th><td>Dependency</td><td>Score</td><td>Details</td></th>`, true);
core.summary.addRaw(`<tr><td>${dependency.ecosystem}/${dependency.packageName}</td><td>${(_a = dependency.depsDevData) === null || _a === void 0 ? void 0 : _a.scorecard.overallScore}</td>`, false);
let detailsTable = '<table><th><td>Check</td><td>Score</td><td>Reason</td></th>';
for (const check of ((_b = dependency.depsDevData) === null || _b === void 0 ? void 0 : _b.scorecard.checks) || []) {
detailsTable += `<tr><td>${check.name}</td><td>${check.score}</td><td>${check.reason}</td></tr>`;
}
let detailsTable = '| Check | Score | Reason | \n | --- | --- | --- | \n';
for (const check of ((_c = dependency.depsDevData) === null || _c === void 0 ? void 0 : _c.scorecard.checks) || []) {
detailsTable += `| ${check.name} | ${check.score} | ${check.reason} | \n`;
}
core.summary.addDetails('Details', detailsTable);
detailsTable += `</table>`;
core.summary.addRaw(`<td><details><summary>Details</summary>${detailsTable}</details></td></tr>`, true);
core.summary.addRaw(`</table>`);
}
}
exports.addScorecardToSummary = addScorecardToSummary;
Generated Vendored
+1 -1
View File
File diff suppressed because one or more lines are too long
+3 -5
View File
@@ -117,9 +117,6 @@ async function run(): Promise<void> {
}
)
const scorecard = await getScorecardLevels(filteredChanges)
core.debug(`Scorecard: ${JSON.stringify(scorecard)}`)
core.debug(`Filtered Changes: ${JSON.stringify(filteredChanges)}`)
core.debug(`Config Deny Packages: ${JSON.stringify(config)}`)
@@ -154,8 +151,9 @@ async function run(): Promise<void> {
}
core.debug('Adding scorecard to summary')
core.debug(`Config: ${config.show_openssf_scorecard}`)
if (config.show_openssf_scorecard && scorecard !== undefined) {
summary.addScorecardToSummary(scorecard, config)
if (config.show_openssf_scorecard) {
const scorecard = await getScorecardLevels(filteredChanges)
summary.addScorecarsdToSummary(scorecard, config)
printScorecardBlock(scorecard, config)
}
+16 -12
View File
@@ -256,21 +256,25 @@ export function addScorecardToSummary(
core.summary.addHeading('OpenSSF Scorecard', 2)
for (const dependency of scorecard.dependencies) {
core.summary.addHeading(
`${dependency.ecosystem}/${dependency.packageName}`,
3
core.summary.addRaw(
`<table><th><td>Dependency</td><td>Score</td><td>Details</td></th>`,
true
)
if (dependency.depsDevData?.scorecard.overallScore) {
core.summary.addRaw(
`Overall score: ${dependency.depsDevData?.scorecard.overallScore}`,
true
)
}
let detailsTable = '| Check | Score | Reason | \n | --- | --- | --- | \n'
core.summary.addRaw(
`<tr><td>${dependency.ecosystem}/${dependency.packageName}</td><td>${dependency.depsDevData?.scorecard.overallScore}</td>`,
false
)
let detailsTable =
'<table><th><td>Check</td><td>Score</td><td>Reason</td></th>'
for (const check of dependency.depsDevData?.scorecard.checks || []) {
detailsTable += `| ${check.name} | ${check.score} | ${check.reason} | \n`
detailsTable += `<tr><td>${check.name}</td><td>${check.score}</td><td>${check.reason}</td></tr>`
}
core.summary.addDetails('Details', detailsTable)
detailsTable += `</table>`
core.summary.addRaw(
`<td><details><summary>Details</summary>${detailsTable}</details></td></tr>`,
true
)
core.summary.addRaw(`</table>`)
}
}