Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Jenkinsfile

    r13d2dac r3221a2b  
    102102
    103103                echo GitLogMessage()
    104 
    105                 // This is a complete hack but it solves problems with automake thinking it needs to regenerate makefiles
    106                 // We fudged automake/missing to handle that but automake stills bakes prints inside the makefiles
    107                 // and these cause more problems.
    108                 sh 'find . -name Makefile.in -exec touch {} +'
    109104        }
    110105}
     
    160155
    161156def test() {
    162         try {
    163                 build_stage('Test: short', !Settings.RunAllTests) {
    164                         dir (BuildDir) {
    165                                 //Run the tests from the tests directory
    166                                 sh "make --no-print-directory -C tests archiveerrors=${BuildDir}/tests/crashes/short"
    167                         }
    168                 }
    169 
    170                 build_stage('Test: full', Settings.RunAllTests) {
    171                         dir (BuildDir) {
    172                                         //Run the tests from the tests directory
    173                                         sh """make --no-print-directory -C tests timeouts="--timeout=600 --global-timeout=14400" all-tests debug=yes archiveerrors=${BuildDir}/tests/crashes/full-debug"""
    174                                         sh """make --no-print-directory -C tests timeouts="--timeout=600 --global-timeout=14400" all-tests debug=no  archiveerrors=${BuildDir}/tests/crashes/full-nodebug"""
    175                         }
    176                 }
    177         }
    178         catch (Exception err) {
    179                 echo "Archiving core dumps"
    180                 dir (BuildDir) {
    181                         archiveArtifacts artifacts: "tests/crashes/**/*", fingerprint: true
    182                 }
    183                 throw err
     157        build_stage('Test: short', !Settings.RunAllTests) {
     158                dir (BuildDir) {
     159                        //Run the tests from the tests directory
     160                        sh 'make --no-print-directory -C tests'
     161                }
     162        }
     163
     164        build_stage('Test: full', Settings.RunAllTests) {
     165                dir (BuildDir) {
     166                        //Run the tests from the tests directory
     167                        sh 'make --no-print-directory -C tests timeouts="--timeout=600 --global-timeout=14400" all-tests debug=yes'
     168                        sh 'make --no-print-directory -C tests timeouts="--timeout=600 --global-timeout=14400" all-tests debug=no '
     169                }
    184170        }
    185171}
     
    215201
    216202                //Then publish the results
    217                 do_plot(Settings.RunBenchmark && Settings.Publish, 'compile'        , groupCompile    , false, 'Compilation')
    218                 do_plot(Settings.RunBenchmark && Settings.Publish, 'compile.diff'   , groupCompile    , true , 'Compilation (relative)')
    219                 do_plot(Settings.RunBenchmark && Settings.Publish, 'ctxswitch'      , groupConcurrency, false, 'Context Switching')
    220                 do_plot(Settings.RunBenchmark && Settings.Publish, 'ctxswitch.diff' , groupConcurrency, true , 'Context Switching (relative)')
    221                 do_plot(Settings.RunBenchmark && Settings.Publish, 'mutex'          , groupConcurrency, false, 'Mutual Exclusion')
    222                 do_plot(Settings.RunBenchmark && Settings.Publish, 'mutex.diff'     , groupConcurrency, true , 'Mutual Exclusion (relative)')
    223                 do_plot(Settings.RunBenchmark && Settings.Publish, 'scheduling'     , groupConcurrency, false, 'Internal and External Scheduling')
    224                 do_plot(Settings.RunBenchmark && Settings.Publish, 'scheduling.diff', groupConcurrency, true , 'Internal and External Scheduling (relative)')
     203                do_plot(Settings.RunBenchmark && Settings.Publish, 'compile'       , groupCompile    , false, 'Compilation')
     204                do_plot(Settings.RunBenchmark && Settings.Publish, 'compile.diff'  , groupCompile    , true , 'Compilation (relative)')
     205                do_plot(Settings.RunBenchmark && Settings.Publish, 'ctxswitch'     , groupConcurrency, false, 'Context Switching')
     206                do_plot(Settings.RunBenchmark && Settings.Publish, 'ctxswitch.diff', groupConcurrency, true , 'Context Switching (relative)')
     207                do_plot(Settings.RunBenchmark && Settings.Publish, 'mutex'         , groupConcurrency, false, 'Mutual Exclusion')
     208                do_plot(Settings.RunBenchmark && Settings.Publish, 'mutex.diff'    , groupConcurrency, true , 'Mutual Exclusion (relative)')
     209                do_plot(Settings.RunBenchmark && Settings.Publish, 'signal'        , groupConcurrency, false, 'Internal and External Scheduling')
     210                do_plot(Settings.RunBenchmark && Settings.Publish, 'signal.diff'   , groupConcurrency, true , 'Internal and External Scheduling (relative)')
    225211        }
    226212}
     
    229215//Routine responsible of sending the email notification once the build is completed
    230216//===========================================================================================================
    231 @NonCPS
    232 def SplitLines(String text) {
    233         def list = []
    234 
    235         text.eachLine {
    236                 list += it
    237         }
    238 
    239         return list
    240 }
    241 
    242217def GitLogMessage() {
    243218        if (!Settings || !Settings.GitOldRef || !Settings.GitNewRef) return "\nERROR retrieveing git information!\n"
    244219
    245         def oldRef = Settings.GitOldRef
    246         def newRef = Settings.GitNewRef
    247 
    248         def revText = sh(returnStdout: true, script: "git rev-list ${oldRef}..${newRef}").trim()
    249         def revList = SplitLines( revText )
    250 
    251         def gitUpdate = ""
    252         revList.each { rev ->
    253                 def type = sh(returnStdout: true, script: "git cat-file -t ${rev}").trim()
    254                 gitUpdate = gitUpdate + "       via  ${rev} (${type})"
    255         }
    256 
    257         def rev = oldRef
    258         def type = sh(returnStdout: true, script: "git cat-file -t ${rev}").trim()
    259         gitUpdate = gitUpdate + "      from  ${rev} (${type})"
    260 
    261         def gitLog    = sh(returnStdout: true, script: "git rev-list --format=short ${oldRef}...${newRef}").trim()
    262 
    263         def gitDiff   = sh(returnStdout: true, script: "git diff --stat --color ${newRef} ${oldRef}").trim()
    264         gitDiff = gitDiff.replace('[32m', '<span style="color: #00AA00;">')
    265         gitDiff = gitDiff.replace('[31m', '<span style="color: #AA0000;">')
    266         gitDiff = gitDiff.replace('[m', '</span>')
     220        sh "${SrcDir}/tools/PrettyGitLogs.sh ${SrcDir} ${BuildDir} ${Settings.GitOldRef} ${Settings.GitNewRef}"
     221
     222        def gitUpdate = readFile("${BuildDir}/GIT_UPDATE")
     223        def gitLog    = readFile("${BuildDir}/GIT_LOG")
     224        def gitDiff   = readFile("${BuildDir}/GIT_DIFF")
    267225
    268226        return """
     
    363321        BuildSettings(java.util.Collections$UnmodifiableMap param, String branch) {
    364322                switch( param.Compiler ) {
    365                         case 'gcc-9':
    366                                 this.Compiler = new CC_Desc('gcc-9', 'g++-9', 'gcc-9')
    367                         break
    368                         case 'gcc-8':
    369                                 this.Compiler = new CC_Desc('gcc-8', 'g++-8', 'gcc-8')
    370                         break
    371                         case 'gcc-7':
    372                                 this.Compiler = new CC_Desc('gcc-7', 'g++-7', 'gcc-7')
    373                         break
    374323                        case 'gcc-6':
    375324                                this.Compiler = new CC_Desc('gcc-6', 'g++-6', 'gcc-6')
     
    382331                        break
    383332                        case 'clang':
    384                                 this.Compiler = new CC_Desc('clang', 'clang++-6.0', 'gcc-6')
     333                                this.Compiler = new CC_Desc('clang', 'clang++', 'gcc-6')
    385334                        break
    386335                        default :
     
    444393                                        description: 'Which compiler to use',                                   \
    445394                                        name: 'Compiler',                                                                       \
    446                                         choices: 'gcc-9\ngcc-8\ngcc-7\ngcc-6\ngcc-5\ngcc-4.9\nclang',                                   \
    447                                         defaultValue: 'gcc-8',                                                          \
     395                                        choices: 'gcc-6\ngcc-5\ngcc-4.9\nclang',                                        \
     396                                        defaultValue: 'gcc-6',                                                          \
    448397                                ],                                                                                              \
    449398                                [$class: 'ChoiceParameterDefinition',                                           \
Note: See TracChangeset for help on using the changeset viewer.