1- import * as core from '@actions/core'
1+ import * as core from '@actions/core' ;
22import {
33 checkFileExists ,
44 colorizePercentageByThreshold ,
@@ -7,106 +7,106 @@ import {
77 parseCoverage ,
88 roundPercentage ,
99 uploadArtifacts
10- } from './utils'
10+ } from './utils' ;
1111import {
1212 Coverage ,
1313 HandlebarContext ,
1414 HandlebarContextCoverage
15- } from './interfaces'
16- import { writeFile } from 'fs/promises'
17- import path from 'path'
18- import Handlebars from 'handlebars'
19- import { readFile } from 'node:fs/promises'
15+ } from './interfaces' ;
16+ import { writeFile } from 'fs/promises' ;
17+ import path from 'path' ;
18+ import Handlebars from 'handlebars' ;
19+ import { readFile } from 'node:fs/promises' ;
2020
2121export async function run ( ) : Promise < void > {
2222 try {
23- const filename = core . getInput ( 'filename' )
23+ const filename = core . getInput ( 'filename' ) ;
2424
2525 if ( ! ( await checkFileExists ( filename ) ) ) {
26- core . setFailed ( `Unable to access ${ filename } ` )
27- return
26+ core . setFailed ( `Unable to access ${ filename } ` ) ;
27+ return ;
2828 }
2929
30- core . debug ( `filename: ${ filename } ` )
30+ core . debug ( `filename: ${ filename } ` ) ;
3131
3232 switch ( process . env . GITHUB_EVENT_NAME ) {
3333 case 'pull_request' :
3434 case 'pull_request_target' : {
35- const { GITHUB_BASE_REF = '' } = process . env
36- core . debug ( `GITHUB_BASE_REF: ${ GITHUB_BASE_REF } ` )
37- const artifactPath = await downloadArtifacts ( GITHUB_BASE_REF )
38- core . debug ( `artifactPath: ${ artifactPath } ` )
35+ const { GITHUB_BASE_REF = '' } = process . env ;
36+ core . debug ( `GITHUB_BASE_REF: ${ GITHUB_BASE_REF } ` ) ;
37+ const artifactPath = await downloadArtifacts ( GITHUB_BASE_REF ) ;
38+ core . debug ( `artifactPath: ${ artifactPath } ` ) ;
3939 const baseCoverage =
4040 artifactPath !== null
4141 ? await parseCoverage ( path . join ( artifactPath , filename ) )
42- : null
42+ : null ;
4343
44- core . info ( `Parsing coverage file: ${ filename } ...` )
45- const headCoverage = await parseCoverage ( filename )
44+ core . info ( `Parsing coverage file: ${ filename } ...` ) ;
45+ const headCoverage = await parseCoverage ( filename ) ;
4646
4747 if ( headCoverage === null ) {
48- core . setFailed ( `Unable to process ${ filename } ` )
49- return
48+ core . setFailed ( `Unable to process ${ filename } ` ) ;
49+ return ;
5050 }
5151
52- core . info ( `Complete` )
52+ core . info ( `Complete` ) ;
5353
5454 //Base doesn't have an artifact
5555 if ( baseCoverage === null ) {
5656 core . warning (
5757 `${ GITHUB_BASE_REF } is missing ${ filename } . See documentation on how to add this`
58- )
58+ ) ;
5959
60- core . info ( `Generating markdown from ${ headCoverage . basePath } ...` )
61- await generateMarkdown ( headCoverage )
62- core . info ( `Complete` )
60+ core . info ( `Generating markdown from ${ headCoverage . basePath } ...` ) ;
61+ await generateMarkdown ( headCoverage ) ;
62+ core . info ( `Complete` ) ;
6363
64- return
64+ return ;
6565 }
6666
6767 core . info (
6868 `Generating markdown between ${ headCoverage . basePath } and ${ baseCoverage . basePath } ...`
69- )
70- await generateMarkdown ( headCoverage , baseCoverage )
71- core . info ( `Complete` )
72- break
69+ ) ;
70+ await generateMarkdown ( headCoverage , baseCoverage ) ;
71+ core . info ( `Complete` ) ;
72+ break ;
7373 }
7474 case 'push' :
7575 case 'schedule' :
7676 case 'workflow_dispatch' :
7777 {
78- const { GITHUB_REF_NAME = '' } = process . env
79- core . info ( `Uploading ${ filename } ...` )
80- await uploadArtifacts ( [ filename ] , GITHUB_REF_NAME )
78+ const { GITHUB_REF_NAME = '' } = process . env ;
79+ core . info ( `Uploading ${ filename } ...` ) ;
80+ await uploadArtifacts ( [ filename ] , GITHUB_REF_NAME ) ;
8181 core . debug (
8282 `GITHUB_REF_NAME: ${ GITHUB_REF_NAME } , filename: ${ filename } `
83- )
84- core . info ( `Complete` )
83+ ) ;
84+ core . info ( `Complete` ) ;
8585
86- core . info ( `Parsing coverage file: ${ filename } ...` )
87- const headCoverage = await parseCoverage ( filename )
88- core . info ( `Complete` )
86+ core . info ( `Parsing coverage file: ${ filename } ...` ) ;
87+ const headCoverage = await parseCoverage ( filename ) ;
88+ core . info ( `Complete` ) ;
8989
9090 if ( headCoverage != null ) {
91- core . info ( `Generating markdown from ${ headCoverage . basePath } ...` )
92- await generateMarkdown ( headCoverage )
93- core . info ( `Complete` )
91+ core . info ( `Generating markdown from ${ headCoverage . basePath } ...` ) ;
92+ await generateMarkdown ( headCoverage ) ;
93+ core . info ( `Complete` ) ;
9494 }
9595 }
96- break
96+ break ;
9797 default :
9898 //TODO: return something here
9999 }
100100 } catch ( err : any ) {
101- core . setFailed ( err . message )
101+ core . setFailed ( err . message ) ;
102102 }
103103}
104104
105105export async function generateMarkdown (
106106 headCoverage : Coverage ,
107107 baseCoverage : Coverage | null = null
108108) : Promise < void > {
109- const inputs = getInputs ( )
109+ const inputs = getInputs ( ) ;
110110 const {
111111 overallCoverageFailThreshold,
112112 failOnNegativeDifference,
@@ -120,15 +120,15 @@ export async function generateMarkdown(
120120 negativeDifferenceThreshold,
121121 onlyListChangedFiles,
122122 skipPackageCoverage
123- } = inputs
123+ } = inputs ;
124124 const overallDifferencePercentage = baseCoverage
125125 ? roundPercentage ( headCoverage . coverage - baseCoverage . coverage )
126- : null
126+ : null ;
127127
128- core . debug ( `headCoverage: ${ headCoverage . coverage } ` )
129- core . debug ( `baseCoverage: ${ baseCoverage ?. coverage } ` )
130- core . debug ( `overallDifferencePercentage: ${ overallDifferencePercentage } ` )
131- core . debug ( `negativeDifferenceThreshold: ${ negativeDifferenceThreshold } ` )
128+ core . debug ( `headCoverage: ${ headCoverage . coverage } ` ) ;
129+ core . debug ( `baseCoverage: ${ baseCoverage ?. coverage } ` ) ;
130+ core . debug ( `overallDifferencePercentage: ${ overallDifferencePercentage } ` ) ;
131+ core . debug ( `negativeDifferenceThreshold: ${ negativeDifferenceThreshold } ` ) ;
132132
133133 if (
134134 failOnNegativeDifference &&
@@ -140,41 +140,41 @@ export async function generateMarkdown(
140140 ) {
141141 core . setFailed (
142142 `FAIL: Overall coverage of dropped ${ overallDifferencePercentage } %, from ${ baseCoverage . coverage } % to ${ headCoverage . coverage } % which is below minimum threshold of ${ negativeDifferenceThreshold } %`
143- )
143+ ) ;
144144 }
145145
146146 if ( overallCoverageFailThreshold > headCoverage . coverage ) {
147147 core . setFailed (
148148 `FAIL: Overall coverage of ${ headCoverage . coverage . toString ( ) } % below minimum threshold of ${ overallCoverageFailThreshold . toString ( ) } %.`
149- )
149+ ) ;
150150 }
151151
152- let color = 'grey'
152+ let color = 'grey' ;
153153 if ( headCoverage . coverage < fileCoverageErrorMin ) {
154- color = 'red'
154+ color = 'red' ;
155155 } else if (
156156 headCoverage . coverage > fileCoverageErrorMin &&
157157 headCoverage . coverage < fileCoverageWarningMax
158158 ) {
159- color = 'orange'
159+ color = 'orange' ;
160160 } else if ( headCoverage . coverage > fileCoverageWarningMax ) {
161- color = 'green'
161+ color = 'green' ;
162162 }
163163
164164 const templatePath =
165165 baseCoverage === null
166166 ? withoutBaseCoverageTemplate
167- : withBaseCoverageTemplate
167+ : withBaseCoverageTemplate ;
168168
169169 if ( ! ( await checkFileExists ( templatePath ) ) ) {
170- core . setFailed ( `Unable to access template ${ templatePath } ` )
171- return
170+ core . setFailed ( `Unable to access template ${ templatePath } ` ) ;
171+ return ;
172172 }
173173
174174 const contents = await readFile ( templatePath , {
175175 encoding : 'utf8'
176- } )
177- const compiledTemplate = Handlebars . compile ( contents )
176+ } ) ;
177+ const compiledTemplate = Handlebars . compile ( contents ) ;
178178
179179 const context : HandlebarContext = {
180180 minimum_allowed_coverage : `${ overallCoverageFailThreshold } %` ,
@@ -184,22 +184,22 @@ export async function generateMarkdown(
184184 : Object . entries ( headCoverage . files )
185185 . filter ( ( [ hash , file ] ) => {
186186 if ( baseCoverage === null ) {
187- return ! onlyListChangedFiles
187+ return ! onlyListChangedFiles ;
188188 }
189189
190190 const baseCoveragePercentage = baseCoverage . files [ hash ]
191191 ? baseCoverage . files [ hash ] . coverage
192- : 0
192+ : 0 ;
193193
194194 const differencePercentage = baseCoveragePercentage
195195 ? roundPercentage ( file . coverage - baseCoveragePercentage )
196- : roundPercentage ( file . coverage )
196+ : roundPercentage ( file . coverage ) ;
197197
198198 if ( onlyListChangedFiles && differencePercentage === 0 ) {
199- return false
199+ return false ;
200200 }
201201
202- return true
202+ return true ;
203203 } )
204204 . map ( ( [ hash , file ] ) => {
205205 if ( baseCoverage === null ) {
@@ -210,16 +210,16 @@ export async function generateMarkdown(
210210 fileCoverageWarningMax ,
211211 fileCoverageErrorMin
212212 ) } `
213- }
213+ } ;
214214 }
215215
216216 const baseCoveragePercentage = baseCoverage . files [ hash ]
217217 ? baseCoverage . files [ hash ] . coverage
218- : 0
218+ : 0 ;
219219
220220 const differencePercentage = baseCoveragePercentage
221221 ? roundPercentage ( file . coverage - baseCoveragePercentage )
222- : roundPercentage ( file . coverage )
222+ : roundPercentage ( file . coverage ) ;
223223
224224 if (
225225 failOnNegativeDifference &&
@@ -230,7 +230,7 @@ export async function generateMarkdown(
230230 ) {
231231 core . setFailed (
232232 `${ headCoverage . files [ hash ] . relative } coverage difference was ${ differencePercentage } % which is below threshold of ${ negativeDifferenceThreshold } %`
233- )
233+ ) ;
234234 }
235235
236236 return {
@@ -246,35 +246,35 @@ export async function generateMarkdown(
246246 fileCoverageErrorMin
247247 ) } `,
248248 difference : colorizePercentageByThreshold ( differencePercentage )
249- }
249+ } ;
250250 } )
251251 . sort ( ( a , b ) =>
252252 a . package < b . package ? - 1 : a . package > b . package ? 1 : 0
253253 ) ,
254254 overall_coverage : addOverallRow ( headCoverage , baseCoverage ) ,
255255 inputs
256- }
256+ } ;
257257
258- context . show_package_coverage = ! skipPackageCoverage
258+ context . show_package_coverage = ! skipPackageCoverage ;
259259
260260 if ( badge ) {
261261 context . coverage_badge = `https://img.shields.io/badge/${ encodeURIComponent (
262262 `Code Coverage-${ headCoverage . coverage } %-${ color } `
263- ) } ?style=for-the-badge`
263+ ) } ?style=for-the-badge`;
264264 }
265265
266- const markdown = compiledTemplate ( context )
266+ const markdown = compiledTemplate ( context ) ;
267267
268- const summary = core . summary . addRaw ( markdown )
268+ const summary = core . summary . addRaw ( markdown ) ;
269269
270270 //If this is run after write the buffer is empty
271- core . info ( `Writing results to ${ markdownFilename } .md` )
272- await writeFile ( `${ markdownFilename } .md` , summary . stringify ( ) )
273- core . setOutput ( 'file' , `${ markdownFilename } .md` )
274- core . setOutput ( 'coverage' , headCoverage . coverage )
271+ core . info ( `Writing results to ${ markdownFilename } .md` ) ;
272+ await writeFile ( `${ markdownFilename } .md` , summary . stringify ( ) ) ;
273+ core . setOutput ( 'file' , `${ markdownFilename } .md` ) ;
274+ core . setOutput ( 'coverage' , headCoverage . coverage ) ;
275275
276- core . info ( `Writing job summary` )
277- await summary . write ( )
276+ core . info ( `Writing job summary` ) ;
277+ await summary . write ( ) ;
278278}
279279
280280/**
@@ -284,11 +284,11 @@ export function addOverallRow(
284284 headCoverage : Coverage ,
285285 baseCoverage : Coverage | null = null
286286) : HandlebarContextCoverage {
287- const { overallCoverageFailThreshold} = getInputs ( )
287+ const { overallCoverageFailThreshold } = getInputs ( ) ;
288288
289289 const overallDifferencePercentage = baseCoverage
290290 ? roundPercentage ( headCoverage . coverage - baseCoverage . coverage )
291- : null
291+ : null ;
292292
293293 if ( baseCoverage === null ) {
294294 return {
@@ -298,7 +298,7 @@ export function addOverallRow(
298298 0 ,
299299 overallCoverageFailThreshold
300300 ) } `
301- }
301+ } ;
302302 }
303303
304304 return {
@@ -314,5 +314,5 @@ export function addOverallRow(
314314 overallCoverageFailThreshold
315315 ) } `,
316316 difference : `${ colorizePercentageByThreshold ( overallDifferencePercentage ) } `
317- }
317+ } ;
318318}
0 commit comments