@@ -2033,13 +2033,18 @@ function run() {
2033
2033
const commandToRun = core . getInput ( 'runCommand' ) ;
2034
2034
const commandAfterSwitch = core . getInput ( 'afterSwitchCommand' ) ;
2035
2035
const delta = Number ( core . getInput ( 'delta' ) ) ;
2036
+ const rawTotalDelta = core . getInput ( 'total_delta' ) ;
2036
2037
const githubClient = github . getOctokit ( githubToken ) ;
2037
2038
const prNumber = github . context . issue . number ;
2038
2039
const branchNameBase = ( _a = github . context . payload . pull_request ) === null || _a === void 0 ? void 0 : _a . base . ref ;
2039
2040
const branchNameHead = ( _b = github . context . payload . pull_request ) === null || _b === void 0 ? void 0 : _b . head . ref ;
2040
2041
const useSameComment = JSON . parse ( core . getInput ( 'useSameComment' ) ) ;
2041
2042
const commentIdentifier = `<!-- codeCoverageDiffComment -->` ;
2042
2043
const deltaCommentIdentifier = `<!-- codeCoverageDeltaComment -->` ;
2044
+ let totalDelta = null ;
2045
+ if ( rawTotalDelta !== null ) {
2046
+ totalDelta = Number ( rawTotalDelta ) ;
2047
+ }
2043
2048
let commentId = null ;
2044
2049
child_process_1 . execSync ( commandToRun ) ;
2045
2050
const codeCoverageNew = ( JSON . parse ( fs_1 . default . readFileSync ( 'coverage-summary.json' ) . toString ( ) ) ) ;
@@ -2073,7 +2078,7 @@ function run() {
2073
2078
}
2074
2079
yield createOrUpdateComment ( commentId , githubClient , repoOwner , repoName , messageToPost , prNumber ) ;
2075
2080
// check if the test coverage is falling below delta/tolerance.
2076
- if ( diffChecker . checkIfTestCoverageFallsBelowDelta ( delta ) ) {
2081
+ if ( diffChecker . checkIfTestCoverageFallsBelowDelta ( delta , totalDelta ) ) {
2077
2082
if ( useSameComment ) {
2078
2083
commentId = yield findComment ( githubClient , repoName , repoOwner , prNumber , deltaCommentIdentifier ) ;
2079
2084
}
@@ -6713,12 +6718,32 @@ module.exports = isPlainObject;
6713
6718
/***/ } ) ,
6714
6719
6715
6720
/***/ 563 :
6716
- /***/ ( function ( __unusedmodule , exports ) {
6721
+ /***/ ( function ( __unusedmodule , exports , __webpack_require__ ) {
6717
6722
6718
6723
"use strict" ;
6719
6724
6725
+ var __createBinding = ( this && this . __createBinding ) || ( Object . create ? ( function ( o , m , k , k2 ) {
6726
+ if ( k2 === undefined ) k2 = k ;
6727
+ Object . defineProperty ( o , k2 , { enumerable : true , get : function ( ) { return m [ k ] ; } } ) ;
6728
+ } ) : ( function ( o , m , k , k2 ) {
6729
+ if ( k2 === undefined ) k2 = k ;
6730
+ o [ k2 ] = m [ k ] ;
6731
+ } ) ) ;
6732
+ var __setModuleDefault = ( this && this . __setModuleDefault ) || ( Object . create ? ( function ( o , v ) {
6733
+ Object . defineProperty ( o , "default" , { enumerable : true , value : v } ) ;
6734
+ } ) : function ( o , v ) {
6735
+ o [ "default" ] = v ;
6736
+ } ) ;
6737
+ var __importStar = ( this && this . __importStar ) || function ( mod ) {
6738
+ if ( mod && mod . __esModule ) return mod ;
6739
+ var result = { } ;
6740
+ if ( mod != null ) for ( var k in mod ) if ( k !== "default" && Object . hasOwnProperty . call ( mod , k ) ) __createBinding ( result , mod , k ) ;
6741
+ __setModuleDefault ( result , mod ) ;
6742
+ return result ;
6743
+ } ;
6720
6744
Object . defineProperty ( exports , "__esModule" , { value : true } ) ;
6721
6745
exports . DiffChecker = void 0 ;
6746
+ const core = __importStar ( __webpack_require__ ( 470 ) ) ;
6722
6747
const increasedCoverageIcon = ':green_circle:' ;
6723
6748
const decreasedCoverageIcon = ':red_circle:' ;
6724
6749
const newCoverageIcon = ':sparkles: :new:' ;
@@ -6766,20 +6791,24 @@ class DiffChecker {
6766
6791
}
6767
6792
return returnStrings ;
6768
6793
}
6769
- checkIfTestCoverageFallsBelowDelta ( delta ) {
6770
- const keys = Object . keys ( this . diffCoverageReport ) ;
6771
- for ( const key of keys ) {
6772
- const diffCoverageData = this . diffCoverageReport [ key ] ;
6794
+ checkIfTestCoverageFallsBelowDelta ( delta , totalDelta ) {
6795
+ const files = Object . keys ( this . diffCoverageReport ) ;
6796
+ for ( const file of files ) {
6797
+ const diffCoverageData = this . diffCoverageReport [ file ] ;
6773
6798
const keys = Object . keys ( diffCoverageData ) ;
6774
6799
// No new coverage found so that means we deleted a file coverage
6775
6800
const fileRemovedCoverage = Object . values ( diffCoverageData ) . every ( coverageData => coverageData . newPct === 0 ) ;
6776
6801
if ( fileRemovedCoverage ) {
6802
+ core . info ( `${ file } : deleted or renamed and is not considered for coverage diff.` ) ;
6777
6803
// since the file is deleted don't include in delta calculation
6778
6804
continue ;
6779
6805
}
6780
6806
for ( const key of keys ) {
6781
6807
if ( diffCoverageData [ key ] . oldPct !== diffCoverageData [ key ] . newPct ) {
6782
- if ( - this . getPercentageDiff ( diffCoverageData [ key ] ) > delta ) {
6808
+ const deltaToCompareWith = file === 'total' && totalDelta !== null ? totalDelta : delta ;
6809
+ if ( - this . getPercentageDiff ( diffCoverageData [ key ] ) > deltaToCompareWith ) {
6810
+ const percentageDiff = this . getPercentageDiff ( diffCoverageData [ key ] ) ;
6811
+ core . info ( `percentage Diff: ${ percentageDiff } is greater than delta for ${ file } ` ) ;
6783
6812
return true ;
6784
6813
}
6785
6814
}
0 commit comments