diff --git a/Jenkinsfile b/Jenkinsfile index 5b10ef9..d86810f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -89,64 +89,62 @@ def canaryShouldRun = true node { timestamps { - ansiColor('xterm') { - try { - stage('Checkout') { - checkout scm + try { + stage('Checkout') { + checkout scm + } + + stage('Check Canary Divergence') { + def pinnedCommit = resolveImageCommit(params.SIMULATOR_IMAGE_PINNED) + def latestCommit = resolveImageCommit(params.SIMULATOR_IMAGE_LATEST) + + if (!pinnedCommit) { + error "Missing git-commit label on ${params.SIMULATOR_IMAGE_PINNED}" + } + if (!latestCommit) { + error "Missing git-commit label on ${params.SIMULATOR_IMAGE_LATEST}" } - stage('Check Canary Divergence') { - def pinnedCommit = resolveImageCommit(params.SIMULATOR_IMAGE_PINNED) - def latestCommit = resolveImageCommit(params.SIMULATOR_IMAGE_LATEST) + canaryShouldRun = (pinnedCommit != latestCommit) - if (!pinnedCommit) { - error "Missing git-commit label on ${params.SIMULATOR_IMAGE_PINNED}" - } - if (!latestCommit) { - error "Missing git-commit label on ${params.SIMULATOR_IMAGE_LATEST}" - } - - canaryShouldRun = (pinnedCommit != latestCommit) - - if (canaryShouldRun) { - echo "Canary enabled: ${params.SIMULATOR_IMAGE_LATEST} (${latestCommit}) diverges from ${params.SIMULATOR_IMAGE_PINNED} (${pinnedCommit})" - } else { - echo "Canary skipped: ${params.SIMULATOR_IMAGE_LATEST} and ${params.SIMULATOR_IMAGE_PINNED} both use git-commit ${pinnedCommit}" - } + if (canaryShouldRun) { + echo "Canary enabled: ${params.SIMULATOR_IMAGE_LATEST} (${latestCommit}) diverges from ${params.SIMULATOR_IMAGE_PINNED} (${pinnedCommit})" + } else { + echo "Canary skipped: ${params.SIMULATOR_IMAGE_LATEST} and ${params.SIMULATOR_IMAGE_PINNED} both use git-commit ${pinnedCommit}" } + } - stage('Stable Regression') { - runRegressionLane(params.SIMULATOR_IMAGE_PINNED, params.THREADX_TEST_SIMULATOR, false) - } + stage('Stable Regression') { + runRegressionLane(params.SIMULATOR_IMAGE_PINNED, params.THREADX_TEST_SIMULATOR, false) + } - stage('Simulator Canary') { - if (canaryShouldRun) { - runRegressionLane(params.SIMULATOR_IMAGE_LATEST, params.THREADX_TEST_SIMULATOR, true) - } else { - echo 'Skipping canary lane because latest and pinned images are identical.' - } + stage('Simulator Canary') { + if (canaryShouldRun) { + runRegressionLane(params.SIMULATOR_IMAGE_LATEST, params.THREADX_TEST_SIMULATOR, true) + } else { + echo 'Skipping canary lane because latest and pinned images are identical.' } - } catch (err) { - currentBuild.result = 'FAILURE' - throw err - } finally { - junit allowEmptyResults: true, testResults: 'build/*/test/*/ctest-results.xml' - archiveArtifacts artifacts: 'build/*/test/*/*.map,build/*/test/*/*.dis,build/*/test/*/Testing/**', allowEmptyArchive: true + } + } catch (err) { + currentBuild.result = 'FAILURE' + throw err + } finally { + junit allowEmptyResults: true, testResults: 'build/*/test/*/ctest-results.xml' + archiveArtifacts artifacts: 'build/*/test/*/*.map,build/*/test/*/*.dis,build/*/test/*/Testing/**', allowEmptyArchive: true - if (currentBuild.currentResult == 'SUCCESS') { - rocketSend ":thumbsup: ThreadX regression run passed, results at ${env.RUN_DISPLAY_URL} " - } else if (currentBuild.currentResult == 'UNSTABLE') { - rocketSend ":warning: ThreadX canary regression is unstable on ${params.SIMULATOR_IMAGE_LATEST}, please check ${env.RUN_DISPLAY_URL} " - } else if (currentBuild.currentResult == 'FAILURE') { - archiveArtifacts artifacts: 'failed_seeds_*.txt', followSymlinks: false, onlyIfSuccessful: false - rocketSend ":thumbsdown: ThreadX regression failed, please check ${env.RUN_DISPLAY_URL} " - emailext recipientProviders: [culprits(), requestor()], - subject: "ThreadX Pipeline Failed: ${currentBuild.fullDisplayName}", - body: """ -
Build Status: ${currentBuild.currentResult}
-Check logs at Build Console Logs or at Overview
- """ - } + if (currentBuild.currentResult == 'SUCCESS') { + rocketSend ":thumbsup: ThreadX regression run passed, results at ${env.RUN_DISPLAY_URL} " + } else if (currentBuild.currentResult == 'UNSTABLE') { + rocketSend ":warning: ThreadX canary regression is unstable on ${params.SIMULATOR_IMAGE_LATEST}, please check ${env.RUN_DISPLAY_URL} " + } else if (currentBuild.currentResult == 'FAILURE') { + archiveArtifacts artifacts: 'failed_seeds_*.txt', followSymlinks: false, onlyIfSuccessful: false + rocketSend ":thumbsdown: ThreadX regression failed, please check ${env.RUN_DISPLAY_URL} " + emailext recipientProviders: [culprits(), requestor()], + subject: "ThreadX Pipeline Failed: ${currentBuild.fullDisplayName}", + body: """ +Build Status: ${currentBuild.currentResult}
+Check logs at Build Console Logs or at Overview
+ """ } } }