Skip to content

Commit 309844f

Browse files
committed
chore(COD-6066): remove the no longer used tools parameter
1 parent e4ded87 commit 309844f

5 files changed

Lines changed: 57 additions & 71 deletions

File tree

action.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,14 @@ inputs:
1919
footer:
2020
description: 'A block of Markdown that will be appended to any PR comments posted'
2121
required: false
22-
eval-indirect-dependencies:
23-
deprecationMessage: 'Deprecated in favor of SCA configurations'
24-
description: 'Show vulnerabilities found in transitive dependencies'
25-
required: false
26-
default: false
2722
artifact-prefix:
2823
description: 'Prefix for the artifact name'
2924
required: false
3025
default: ''
26+
code-scanning-path:
27+
description: 'Path to write code scanning SARIF file'
28+
required: false
29+
default: 'code-scanning.sarif'
3130
outputs:
3231
old-completed:
3332
description: 'If running a target called old, whether the analysis for this was completed'
@@ -97,3 +96,4 @@ runs:
9796
token: '${{ inputs.token || github.token }}'
9897
footer: '${{ inputs.footer }}'
9998
artifact-prefix: '${{ inputs.artifact-prefix }}'
99+
code-scanning-path: '${{ inputs.code-scanning-path }}'

src/index.ts

Lines changed: 49 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
import { error, getInput, info, setOutput, warning } from '@actions/core'
2-
import { appendFileSync, existsSync } from 'fs'
2+
import { appendFileSync, existsSync, readFileSync } from 'fs'
33
import {
44
downloadArtifact,
55
postCommentIfInPr,
66
resolveExistingCommentIfFound,
77
uploadArtifact,
88
} from './actions'
9-
import { compareResults } from './tool'
109
import {
11-
callCommand,
1210
callLaceworkCli,
1311
debug,
12+
generateUILink,
1413
getActionRef,
1514
getMsSinceStart,
1615
getOptionalEnvVariable,
@@ -21,10 +20,7 @@ import {
2120

2221
import path from 'path'
2322

24-
const scaSarifReport = 'scaReport/output.sarif'
25-
const scaReport = 'sca.sarif'
26-
const scaLWJSONReport = 'scaReport/output-lw.json'
27-
const scaDir = 'scaReport'
23+
const sarifReportPath = getInput('code-scanning-path')
2824

2925
async function runAnalysis() {
3026
const target = getInput('target')
@@ -40,23 +36,28 @@ async function runAnalysis() {
4036
}
4137

4238
info('Analyzing ' + target)
43-
telemetryCollector.addField('tools', 'sca')
4439
const toUpload: string[] = []
4540

4641
// command to print both sarif and lwjson formats
47-
var args = ['sca', 'scan', '.', '-o', scaDir, '--formats', 'sarif,lw-json', '--deployment', 'ci']
42+
var args = [
43+
'sca',
44+
'scan',
45+
'.',
46+
'--formats',
47+
'sarif',
48+
'--output',
49+
sarifReportPath,
50+
'--deployment',
51+
'ci',
52+
]
4853
if (target === 'push') {
4954
args.push('--save-results')
5055
}
5156
if (debug()) {
5257
args.push('--debug')
5358
}
5459
await callLaceworkCli(...args)
55-
// make a copy of the sarif file
56-
args = [scaSarifReport, scaReport]
57-
await callCommand('cp', ...args)
58-
59-
toUpload.push(scaReport)
60+
toUpload.push(sarifReportPath)
6061

6162
const uploadStart = Date.now()
6263
const artifactPrefix = getInput('artifact-prefix')
@@ -69,6 +70,31 @@ async function runAnalysis() {
6970
setOutput(`${target}-completed`, true)
7071
}
7172

73+
export async function compareResults(oldReport: string, newReport: string): Promise<string> {
74+
var comparisonFile = 'comparison.md'
75+
const args = [
76+
'sca',
77+
'compare',
78+
'--old',
79+
oldReport,
80+
'--new',
81+
newReport,
82+
'--markdown',
83+
comparisonFile,
84+
'--markdown-variant',
85+
'GitHub',
86+
'--deployment',
87+
'ci',
88+
]
89+
90+
const uiLink = generateUILink()
91+
if (uiLink) args.push(...['--ui-link', uiLink])
92+
93+
if (debug()) args.push('--debug')
94+
await callLaceworkCli(...args)
95+
return existsSync(comparisonFile) ? readFileSync(comparisonFile, 'utf8') : ''
96+
}
97+
7298
async function displayResults() {
7399
info('Displaying results')
74100
const downloadStart = Date.now()
@@ -78,30 +104,24 @@ async function displayResults() {
78104
'duration.download-artifacts',
79105
(Date.now() - downloadStart).toString()
80106
)
81-
const sarifFileOld = path.join(artifactOld, scaReport)
82-
const sarifFileNew = path.join(artifactNew, scaReport)
107+
const sarifFileOld = path.join(artifactOld, sarifReportPath)
108+
const sarifFileNew = path.join(artifactNew, sarifReportPath)
83109

84-
const issuesByTool: { [tool: string]: string } = {}
110+
var compareMessage: string
85111
if (existsSync(sarifFileOld) && existsSync(sarifFileNew)) {
86-
issuesByTool['sca'] = await compareResults('sca', sarifFileOld, sarifFileNew)
112+
compareMessage = await compareResults(sarifFileOld, sarifFileNew)
87113
} else {
88-
throw new Error('SARIF file not found for SCA')
114+
throw new Error('SARIF file not found')
89115
}
90116

91117
const commentStart = Date.now()
92-
if (Object.values(issuesByTool).some((x) => x.length > 0) && getInput('token').length > 0) {
118+
if (compareMessage.length > 0 && getInput('token').length > 0) {
93119
info('Posting comment to GitHub PR as there were new issues introduced:')
94-
let message = ''
95-
for (const [, issues] of Object.entries(issuesByTool)) {
96-
if (issues.length > 0) {
97-
message += issues
98-
}
99-
}
100120
if (getInput('footer') !== '') {
101-
message += '\n\n' + getInput('footer')
121+
compareMessage += '\n\n' + getInput('footer')
102122
}
103-
info(message)
104-
const commentUrl = await postCommentIfInPr(message)
123+
info(compareMessage)
124+
const commentUrl = await postCommentIfInPr(compareMessage)
105125
if (commentUrl !== undefined) {
106126
setOutput('posted-comment', commentUrl)
107127
}

src/post.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import { info, warning } from '@actions/core'
2+
import { context } from '@actions/github'
3+
import { getActionsApi } from './actions'
24
import {
35
getActionRef,
46
getMsSinceStart,
@@ -7,8 +9,6 @@ import {
79
getRunUrl,
810
telemetryCollector,
911
} from './util'
10-
import { getActionsApi } from './actions'
11-
import { context } from '@actions/github'
1212

1313
async function main() {
1414
if (getOptionalEnvVariable('LACEWORK_WROTE_TELEMETRY', 'false') !== 'true') {
@@ -32,7 +32,6 @@ async function main() {
3232
telemetryCollector.addField('repository', getRequiredEnvVariable('GITHUB_REPOSITORY'))
3333
telemetryCollector.addField('duration.total', getMsSinceStart())
3434
telemetryCollector.addField('error', 'Unknown catastrophic error')
35-
telemetryCollector.addField('tools', 'sca')
3635
await telemetryCollector.report()
3736
} else {
3837
info('Telemetry has been reported previously')

src/tool.ts

Lines changed: 0 additions & 33 deletions
This file was deleted.

src/util.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { error, getInput, info, isDebug } from '@actions/core'
22
import { context } from '@actions/github'
33
import { spawn } from 'child_process'
4-
import { TelemetryCollector } from './telemetry'
54
import { readFileSync } from 'fs'
5+
import { TelemetryCollector } from './telemetry'
66

77
export const telemetryCollector = new TelemetryCollector()
88

0 commit comments

Comments
 (0)