Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Jenkinsfile

    rd56c05d0 r245510f  
    55//===========================================================================================================
    66//Compilation script is done here but environnement set-up and error handling is done in main loop
    7 def cfa_build(boolean full_build) {
     7def cfa_build() {
    88        build_stage 'Checkout'
    99                def install_dir = pwd tmp: true
    1010                //checkout the source code and clean the repo
    1111                checkout scm
    12 
    13                 //Clean all temporary files to make sure no artifacts of the previous build remain
    1412                sh 'git clean -fdqx'
    15 
    16                 //Reset the git repo so no local changes persist
    1713                sh 'git reset --hard'
    1814
     
    3026        build_stage 'Test'
    3127
    32                 //Run the tests from the tests directory
     28                //Run the tests from the example directory
    3329                dir ('src/tests') {
    34                         if (full_build) {
    35                                 sh 'make all-tests'
    36                         }
    37                         else {
    38                                 sh 'make'
    39                         }
     30                        sh './runTests.sh'
    4031                }
    4132
     
    4435                //do a maintainer-clean to make sure we need to remake from scratch
    4536                sh 'make maintainer-clean > /dev/null'
    46 }
    47 
    48 def make_doc() {
    49         def err = null
    50 
    51         try {
    52                 sh 'make clean > /dev/null'
    53                 sh 'make > /dev/null 2>&1'
    54         }
    55 
    56         catch (Exception caughtError) {
    57                 //rethrow error later
    58                 err = caughtError
    59 
    60                 sh 'cat *.log'
    61         }
    62 
    63         finally {
    64                 /* Must re-throw exception to propagate error */
    65                 if (err) {
    66                         throw err
    67                 }
    68         }
    69 }
    70 
    71 def doc_build() {
    72         stage 'Documentation'
    73 
    74                 status_prefix = 'Documentation'
    75 
    76                 dir ('doc/user') {
    77                         make_doc()
    78                 }
    79 
    80                 dir ('doc/refrat') {
    81                         make_doc()
    82                 }
    8337}
    8438
     
    163117        try {
    164118                //Prevent the build from exceeding 30 minutes
    165                 timeout(60) {
     119                timeout(30) {
    166120
    167121                        //Wrap build to add timestamp to command line
     
    186140                                //Compile using gcc-4.9
    187141                                currentCC = new CC_Desc('gcc-4.9', 'g++-4.9', 'gcc-4.9')
    188                                 cfa_build(doPromoteBuild2DoLang)
    189 
    190                                 //Compile latex documentation
    191                                 doc_build()
     142                                cfa_build()
     143
     144                                //Compile using gcc-5
     145                                currentCC = new CC_Desc('gcc-5', 'g++-5', 'gcc-5')
     146                                cfa_build()
     147
     148                                //Compile using gcc-4.9
     149                                currentCC = new CC_Desc('gcc-6', 'g++-6', 'gcc-6')
     150                                cfa_build()
    192151
    193152                                if( doPromoteBuild2DoLang ) {
    194                                         //Compile using gcc-5
    195                                         currentCC = new CC_Desc('gcc-5', 'g++-5', 'gcc-5')
    196                                         cfa_build(true)
    197 
    198                                         //Compile using gcc-4.9
    199                                         currentCC = new CC_Desc('gcc-6', 'g++-6', 'gcc-6')
    200                                         cfa_build(true)
    201 
    202                                         //Push latest changes to do-lang repo
    203153                                        push_build()
    204154                                }
     
    235185//===========================================================================================================
    236186def notify_result(boolean promote, Exception err, String status, boolean log) {
    237         echo 'Build completed, sending result notification'
    238187        if(promote)     {
    239188                if( err ) {
     
    275224        def project_name = (env.JOB_NAME =~ /(.+)\/.+/)[0][1].toLowerCase()
    276225
    277         def gitLog = 'Error retrieving git logs'
    278         def gitDiff = 'Error retrieving git diff'
    279 
    280         try {
    281 
    282                 sh "git rev-list --format=short ${gitRefOldValue}...${gitRefNewValue} > GIT_LOG"
    283                 gitLog = readFile('GIT_LOG')
    284 
    285                 sh "git diff --stat ${gitRefNewValue} ${gitRefOldValue} > GIT_DIFF"
    286                 gitDiff = readFile('GIT_DIFF')
    287         }
    288         catch (Exception error) {}
     226        sh "git rev-list --format=short ${gitRefOldValue}...${gitRefNewValue} > GIT_LOG"
     227        def gitLog = readFile('GIT_LOG')
     228
     229        sh "git diff --stat ${gitRefNewValue} ${gitRefOldValue} > GIT_DIFF"
     230        def gitDiff = readFile('GIT_DIFF')
    289231
    290232        def email_subject = "[${project_name} git][BUILD# ${env.BUILD_NUMBER} - ${status}] - branch ${env.BRANCH_NAME}"
Note: See TracChangeset for help on using the changeset viewer.