From 309d082d5fcd8e0ca430a85f46fab5c39796a31b Mon Sep 17 00:00:00 2001 From: Adrien Pessu <7055334+adrienpessu@users.noreply.github.com> Date: Wed, 2 Aug 2023 15:48:28 +0200 Subject: [PATCH] initial commit --- src/config.ts | 2 ++ src/main.ts | 7 +++++++ src/schemas.ts | 1 + src/summary.ts | 3 +++ 4 files changed, 13 insertions(+) diff --git a/src/config.ts b/src/config.ts index e627ae8..3444523 100644 --- a/src/config.ts +++ b/src/config.ts @@ -33,6 +33,7 @@ function readInlineConfig(): ConfigurationOptionsPartial { const allow_dependencies_licenses = parseList( getOptionalInput('allow-dependencies-licenses') ) + const deny_list = parseList(getOptionalInput('deny-dependencies')) const allow_ghsas = parseList(getOptionalInput('allow-ghsas')) const license_check = getOptionalBoolean('license-check') const vulnerability_check = getOptionalBoolean('vulnerability-check') @@ -49,6 +50,7 @@ function readInlineConfig(): ConfigurationOptionsPartial { fail_on_scopes, allow_licenses, deny_licenses, + deny_list, allow_dependencies_licenses, allow_ghsas, license_check, diff --git a/src/main.ts b/src/main.ts index 156e4d5..8556440 100644 --- a/src/main.ts +++ b/src/main.ts @@ -16,6 +16,7 @@ import {getRefs} from './git-refs' import {groupDependenciesByManifest} from './utils' import {commentPr} from './comment-pr' +import {getDeniedChanges} from './denylist' async function run(): Promise { try { @@ -63,9 +64,15 @@ async function run(): Promise { } ) + const deniedChanges = await getDeniedChanges( + filteredChanges, + config.deny_list + ) + summary.addSummaryToSummary( vulnerableChanges, invalidLicenseChanges, + deniedChanges, config ) diff --git a/src/schemas.ts b/src/schemas.ts index b4ebfa7..cacf739 100644 --- a/src/schemas.ts +++ b/src/schemas.ts @@ -42,6 +42,7 @@ export const ConfigurationOptionsSchema = z deny_licenses: z.array(z.string()).optional(), allow_dependencies_licenses: z.array(z.string()).optional(), allow_ghsas: z.array(z.string()).default([]), + deny_list: z.array(z.string()).default([]), license_check: z.boolean().default(true), vulnerability_check: z.boolean().default(true), config_file: z.string().optional(), diff --git a/src/summary.ts b/src/summary.ts index 4ba3bc6..d798df5 100644 --- a/src/summary.ts +++ b/src/summary.ts @@ -13,6 +13,7 @@ const icons = { export function addSummaryToSummary( vulnerableChanges: Changes, invalidLicenseChanges: InvalidLicenseChanges, + deniedChanges: Changes, config: ConfigurationOptions ): void { core.summary.addHeading('Dependency Review', 1) @@ -34,6 +35,8 @@ export function addSummaryToSummary( return } + core.summary.addList(deniedChanges.map(change => `${change.name} is denied`)) + core.summary .addRaw('The following issues were found:') .addList([