Stub out summary implementation for scorecards

This commit is contained in:
Justin Hutchings
2024-03-04 17:52:17 +00:00
parent 2bc3ecb19b
commit 7d2e20d06d
6 changed files with 59 additions and 7 deletions
+4 -2
View File
@@ -152,8 +152,10 @@ async function run(): Promise<void> {
summary.addDeniedToSummary(deniedChanges)
printDeniedDependencies(deniedChanges, config)
}
//summary.addScorecardToSummary(scorecard, config)
printScorecardBlock(scorecard, config)
if (config.show_openssf_scorecard && scorecard !== undefined) {
summary.addScorecardToSummary(scorecard, config)
printScorecardBlock(scorecard, config)
}
summary.addScannedDependencies(changes)
printScannedDependencies(changes)
+1
View File
@@ -51,6 +51,7 @@ export const ConfigurationOptionsSchema = z
head_ref: z.string().optional(),
retry_on_snapshot_warnings: z.boolean().default(false),
retry_on_snapshot_warnings_timeout: z.number().default(120),
show_openssf_scorecard: z.boolean().optional(),
comment_summary_in_pr: z
.union([
z.preprocess(
+26 -1
View File
@@ -1,5 +1,5 @@
import * as core from '@actions/core'
import {ConfigurationOptions, Changes, Change} from './schemas'
import {ConfigurationOptions, Changes, Change, Scorecard} from './schemas'
import {SummaryTableRow} from '@actions/core/lib/summary'
import {InvalidLicenseChanges, InvalidLicenseChangeTypes} from './licenses'
import {groupDependenciesByManifest, getManifestsSet, renderUrl} from './utils'
@@ -249,6 +249,31 @@ function snapshotWarningRecommendation(
return 'Re-running this action after a short time may resolve the issue.'
}
export function addScorecardToSummary(
scorecard: Scorecard,
config: ConfigurationOptions
): void {
core.summary.addHeading('OpenSSF Scorecard', 2)
for (const dependency of scorecard.dependencies) {
core.summary.addHeading(
`${dependency.ecosystem}/${dependency.packageName}`,
3
)
if (dependency.depsDevData?.scorecard.overallScore) {
core.summary.addRaw(
`Overall score: ${dependency.depsDevData?.scorecard.overallScore}`,
true
)
}
let detailsTable = '| Check | Score | Reason | \n | --- | --- | --- | \n'
for (const check of dependency.depsDevData?.scorecard.checks || []) {
detailsTable += `| ${check.name} | ${check.score} | ${check.reason} | \n`
}
core.summary.addDetails('Details', detailsTable)
}
}
export function addSnapshotWarnings(
config: ConfigurationOptions,
warnings: string