Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Jenkinsfile

    rfa234ef 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 'python test.py --all'
    36                         }
    37                         else {
    38                                 sh './runTests.sh'
    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)
     142                                cfa_build()
    189143
    190144                                //Compile using gcc-5
    191145                                currentCC = new CC_Desc('gcc-5', 'g++-5', 'gcc-5')
    192                                 cfa_build(doPromoteBuild2DoLang)
     146                                cfa_build()
    193147
    194148                                //Compile using gcc-4.9
    195149                                currentCC = new CC_Desc('gcc-6', 'g++-6', 'gcc-6')
    196                                 cfa_build(doPromoteBuild2DoLang)
    197 
    198                                 //Compile latex documentation
    199                                 doc_build()
     150                                cfa_build()
    200151
    201152                                if( doPromoteBuild2DoLang ) {
     
    234185//===========================================================================================================
    235186def notify_result(boolean promote, Exception err, String status, boolean log) {
    236         echo 'Build completed, sending result notification'
    237187        if(promote)     {
    238188                if( err ) {
     
    274224        def project_name = (env.JOB_NAME =~ /(.+)\/.+/)[0][1].toLowerCase()
    275225
    276         def gitLog = 'Error retrieving git logs'
    277         def gitDiff = 'Error retrieving git diff'
    278 
    279         try {
    280 
    281                 sh "git rev-list --format=short ${gitRefOldValue}...${gitRefNewValue} > GIT_LOG"
    282                 gitLog = readFile('GIT_LOG')
    283 
    284                 sh "git diff --stat ${gitRefNewValue} ${gitRefOldValue} > GIT_DIFF"
    285                 gitDiff = readFile('GIT_DIFF')
    286         }
    287         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')
    288231
    289232        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.