Skip to content

Commit

Permalink
Introduce back slacking of failed hw tests
Browse files Browse the repository at this point in the history
Signed-off-by: mnokka-unikie <[email protected]>
  • Loading branch information
mnokka-unikie committed Dec 3, 2024
1 parent 06c341c commit a04f9f9
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 9 deletions.
14 changes: 11 additions & 3 deletions ghaf-main-pipeline.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ properties([

// Record failed target(s)
def failedTargets = []

def failedHWTests = []
def target_jobs = [:]

////////////////////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -114,7 +114,7 @@ pipeline {
dir(WORKDIR) {
script {
utils.nix_eval_jobs(targets)
target_jobs = utils.create_parallel_stages(targets,false,failedTargets)
target_jobs = utils.create_parallel_stages(targets,false,failedTargets,failedHWTests)
}
}
}
Expand All @@ -136,10 +136,16 @@ pipeline {
servername = sh(script: 'uname -n', returnStdout: true).trim()
echo "Server name:$servername"
def formattedFailedMessage = ""
def formattedHWFailedTests = ""
def line5=""
def line6=""
if (failedTargets) {
formattedFailedMessage = failedTargets.collect { "- ${it.trim()}" }.join("\n")
} else {
formattedFailedMessage = "No failed build targets"
formattedHWFailedMessage = failedHWTests.collect { "- ${it.trim()}" }.join("\n")
line5="\n*Failed HW test targets:*".stripIndent()
line6="\n${formattedHWFailedMessage}".stripIndent()
}
if (servername=="ghaf-jenkins-controller-prod") {
serverchannel="ghaf-build" // prod main build failures channel
Expand All @@ -152,7 +158,9 @@ pipeline {
${line1}
${line2}
${line3}
${line4}""".stripIndent()
${line4}
${line5}
${line6}""".stripIndent()
slackSend (
channel: "$serverchannel",
color: "danger",
Expand Down
20 changes: 14 additions & 6 deletions utils.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,8 @@ def ghaf_hw_test(String flakeref, String device_config, String testset='_boot_')
// Add a link to failed test job(s) on the calling pipeline
def test_href = "<a href=\"${job.absoluteUrl}\">⛔ ${flakeref_trimmed}</a>"
currentBuild.description = "${currentBuild.description}<br>${test_href}"
return
return (flakeref)

}
// Copy test results from agent to controller to 'test-results' directory
copyArtifacts(
Expand All @@ -243,6 +244,7 @@ def ghaf_hw_test(String flakeref, String device_config, String testset='_boot_')
)
// Archive the test results
archive_artifacts("ghaf-hw-test", flakeref_trimmed)
return null
}

def nix_eval_jobs(List<Map> targets) {
Expand Down Expand Up @@ -301,9 +303,7 @@ def nix_eval_hydrajobs(List<Map> targets) {
}
}


// , List failedTargets = []
def create_parallel_stages(List<Map> targets, Boolean skip_hw_test=false, List failedTargets = null) {
def create_parallel_stages(List<Map> targets, Boolean skip_hw_test=false, List failedTargets = null, List failedHWTests =null) {
def target_jobs = [:]
targets.each {
def timestampBegin = ""
Expand All @@ -323,7 +323,7 @@ def create_parallel_stages(List<Map> targets, Boolean skip_hw_test=false, List f
try {
if (it.error) {
error("Error in evaluation! ${it.error}")
}
}
timestampBegin = sh(script: "date +%s", returnStdout: true).trim()
sh "nix build -L ${it.drvPath}\\^* ${opts}"
timestampEnd = sh(script: "date +%s", returnStdout: true).trim()
Expand Down Expand Up @@ -422,7 +422,15 @@ def create_parallel_stages(List<Map> targets, Boolean skip_hw_test=false, List f
if (!skip_hw_test && it.hwtest_device != null) {
stage("Test ${displayName}") {
script {
ghaf_hw_test(targetAttr, it.hwtest_device, '_boot_bat_perf_')
errorstatus=ghaf_hw_test(targetAttr, it.hwtest_device, '_boot_bat_perf_')
println ("Test creation and execution done")
if (errorstatus==null) {
println("Test was OK")
}
else {
failedHWTests.add(errorstatus)
println ("ERROR FOUND, target: ${errorstatus}")
}
}
}
}
Expand Down

0 comments on commit a04f9f9

Please sign in to comment.