Changeset 3d5701e for Jenkinsfile


Ignore:
Timestamp:
Feb 25, 2020, 1:17:33 PM (6 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
7dc2e015
Parents:
9fb8f01 (diff), dd9e1ca (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

resolve conflict

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Jenkinsfile

    r9fb8f01 r3d5701e  
    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 {} +'
    104109        }
    105110}
     
    155160
    156161def test() {
    157         build_stage('Test: short', !Settings.RunAllTests) {
     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"
    158180                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                 }
     181                        archiveArtifacts artifacts: "tests/crashes/**/*", fingerprint: true
     182                }
     183                throw err
    170184        }
    171185}
     
    201215
    202216                //Then publish the results
    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)')
     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)')
    211225        }
    212226}
     
    215229//Routine responsible of sending the email notification once the build is completed
    216230//===========================================================================================================
     231@NonCPS
     232def SplitLines(String text) {
     233        def list = []
     234
     235        text.eachLine {
     236                list += it
     237        }
     238
     239        return list
     240}
     241
    217242def GitLogMessage() {
    218243        if (!Settings || !Settings.GitOldRef || !Settings.GitNewRef) return "\nERROR retrieveing git information!\n"
    219244
    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")
     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>')
    225267
    226268        return """
     
    321363        BuildSettings(java.util.Collections$UnmodifiableMap param, String branch) {
    322364                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
    323374                        case 'gcc-6':
    324375                                this.Compiler = new CC_Desc('gcc-6', 'g++-6', 'gcc-6')
     
    331382                        break
    332383                        case 'clang':
    333                                 this.Compiler = new CC_Desc('clang', 'clang++', 'gcc-6')
     384                                this.Compiler = new CC_Desc('clang', 'clang++-6.0', 'gcc-6')
    334385                        break
    335386                        default :
     
    393444                                        description: 'Which compiler to use',                                   \
    394445                                        name: 'Compiler',                                                                       \
    395                                         choices: 'gcc-6\ngcc-5\ngcc-4.9\nclang',                                        \
    396                                         defaultValue: 'gcc-6',                                                          \
     446                                        choices: 'gcc-9\ngcc-8\ngcc-7\ngcc-6\ngcc-5\ngcc-4.9\nclang',                                   \
     447                                        defaultValue: 'gcc-8',                                                          \
    397448                                ],                                                                                              \
    398449                                [$class: 'ChoiceParameterDefinition',                                           \
Note: See TracChangeset for help on using the changeset viewer.