Changeset b2b039d for Jenkinsfile
- Timestamp:
- Jun 21, 2016, 12:11:40 PM (9 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 6bc4734
- Parents:
- f6d4204 (diff), 7ba3a25 (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. - File:
-
- 1 edited
-
Jenkinsfile (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
Jenkinsfile
rf6d4204 rb2b039d 5 5 //=========================================================================================================== 6 6 //Compilation script is done here but environnement set-up and error handling is done in main loop 7 def cfa_build( ) {7 def cfa_build(boolean full_build) { 8 8 build_stage 'Checkout' 9 9 def install_dir = pwd tmp: true 10 10 //checkout the source code and clean the repo 11 11 checkout scm 12 13 //Clean all temporary files to make sure no artifacts of the previous build remain 12 14 sh 'git clean -fdqx' 15 16 //Reset the git repo so no local changes persist 13 17 sh 'git reset --hard' 14 18 … … 26 30 build_stage 'Test' 27 31 28 //Run the tests from the exampledirectory32 //Run the tests from the tests directory 29 33 dir ('src/tests') { 30 sh './runTests.sh' 34 if (full_build) { 35 sh 'python test.py --all' 36 } 37 else { 38 sh './runTests.sh' 39 } 31 40 } 32 41 … … 35 44 //do a maintainer-clean to make sure we need to remake from scratch 36 45 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 } 37 83 } 38 84 … … 117 163 try { 118 164 //Prevent the build from exceeding 30 minutes 119 timeout( 30) {165 timeout(60) { 120 166 121 167 //Wrap build to add timestamp to command line … … 140 186 //Compile using gcc-4.9 141 187 currentCC = new CC_Desc('gcc-4.9', 'g++-4.9', 'gcc-4.9') 142 cfa_build( )188 cfa_build(doPromoteBuild2DoLang) 143 189 144 190 //Compile using gcc-5 145 191 currentCC = new CC_Desc('gcc-5', 'g++-5', 'gcc-5') 146 cfa_build( )192 cfa_build(doPromoteBuild2DoLang) 147 193 148 194 //Compile using gcc-4.9 149 195 currentCC = new CC_Desc('gcc-6', 'g++-6', 'gcc-6') 150 cfa_build() 196 cfa_build(doPromoteBuild2DoLang) 197 198 //Compile latex documentation 199 doc_build() 151 200 152 201 if( doPromoteBuild2DoLang ) { … … 185 234 //=========================================================================================================== 186 235 def notify_result(boolean promote, Exception err, String status, boolean log) { 236 echo 'Build completed, sending result notification' 187 237 if(promote) { 188 238 if( err ) { … … 224 274 def project_name = (env.JOB_NAME =~ /(.+)\/.+/)[0][1].toLowerCase() 225 275 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') 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) {} 231 288 232 289 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.