in jenkins-pipeline-shared-libraries/vars/githubscm.groovy [647:674]
def updateGithubCommitStatusFromBuildResult(String checkName) {
println "[INFO] Update commit status for check ${checkName} from build result"
String buildResult = currentBuild.currentResult
println "[DEBUG] Got build result ${buildResult}"
def testResults = util.retrieveTestResults()
println "[DEBUG] Got test results ${testResults}"
String testsInfo = testResults ? "${testResults.passCount + testResults.skipCount + testResults.failCount} tests run, ${testResults.failCount} failed, ${testResults.skipCount} skipped." : 'No test results found.'
int jobDuration = util.getJobDurationInSeconds()
println "[DEBUG] Got job duration ${jobDuration} seconds"
String timeInfo = util.displayDurationFromSeconds(jobDuration)
switch (buildResult) {
case 'SUCCESS':
updateGithubCommitStatus(checkName, 'SUCCESS', "(${timeInfo}) Check is successful. ${testsInfo}".trim())
break
case 'UNSTABLE':
updateGithubCommitStatus(checkName, 'FAILURE', "(${timeInfo}) Test failures occurred. ${testsInfo}".trim())
break
case 'ABORTED':
updateGithubCommitStatus(checkName, 'ERROR', "(${timeInfo}) Job aborted. ${testsInfo}".trim())
break
default:
updateGithubCommitStatus(checkName, 'ERROR', "(${timeInfo}) Issue in pipeline. ${testsInfo}".trim())
break
}
}