Changes in / [82c6072:ad486c5b]
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
Jenkins/FullBuild
r82c6072 rad486c5b 87 87 88 88 if(result.result != 'SUCCESS') { 89 sh("wget -q -O - http://localhost:8084/job/Cforall/job/master/${result.number}/consoleText")89 sh("wget -q -O - ${result.absoluteUrl}/consoleText") 90 90 error(result.result) 91 91 } -
Jenkinsfile
r82c6072 rad486c5b 22 22 do_sendemail = true 23 23 24 builddir = pwd tmp: true25 srcdir = pwd tmp: false26 27 24 currentBuild.result = "SUCCESS" 28 25 … … 35 32 prepare_build() 36 33 34 checkout() 35 36 notify_server(0) 37 38 build() 39 40 test() 41 42 benchmark() 43 37 44 clean() 38 39 checkout()40 41 notify_server(0)42 43 build()44 45 test()46 47 benchmark()48 45 49 46 build_doc() … … 70 67 finally { 71 68 //Send email with final results if this is not a full build 72 if( do_sendemail ) {69 if( do_sendemail && !bIsSandbox ) { 73 70 echo 'Notifying users of result' 74 email(currentBuild.result, log_needed , bIsSandbox)71 email(currentBuild.result, log_needed) 75 72 } 76 73 … … 158 155 do_sendemail = ! (pSilent == 'true') 159 156 160 collect_git_info()161 162 def full = do_alltests ? " (Full)" : ""163 currentBuild.description = "Cforall ${gitRefName} ${compiler.cc_name}:${arch_name}${full}"164 165 157 echo """Compiler : ${compiler.cc_name} (${compiler.cpp_cc}/${compiler.cfa_cc}) 166 158 Architecture : ${arch_name} … … 172 164 Silent : ${ pSilent.toString() } 173 165 """ 166 167 collect_git_info() 174 168 } 175 169 … … 247 241 // Main compilation routines 248 242 //=========================================================================================================== 249 def clean() {250 build_stage('Cleanup') {251 // clean the build by wipping the build directory252 dir(builddir) {253 deleteDir()254 }255 256 //Clean all temporary files to make sure no artifacts of the previous build remain257 sh 'git clean -fdqx'258 259 //Reset the git repo so no local changes persist260 sh 'git reset --hard'261 }262 }263 264 243 //Compilation script is done here but environnement set-up and error handling is done in main loop 265 244 def checkout() { … … 267 246 //checkout the source code and clean the repo 268 247 checkout scm 248 249 //Clean all temporary files to make sure no artifacts of the previous build remain 250 sh 'git clean -fdqx' 251 252 //Reset the git repo so no local changes persist 253 sh 'git reset --hard' 269 254 } 270 255 } … … 272 257 def build() { 273 258 build_stage('Build') { 259 260 def install_dir = pwd tmp: true 261 274 262 // Build outside of the src tree to ease cleaning 275 dir (builddir) { 263 sh "mkdir -p build" 264 dir ('build') { 276 265 //Configure the conpilation (Output is not relevant) 277 266 //Use the current directory as the installation target so nothing escapes the sandbox 278 267 //Also specify the compiler by hand 279 sh " ${srcdir}/configure CXX=${compiler.cpp_cc} ${architecture} --with-backend-compiler=${compiler.cfa_cc} --enable-silent-rules --quiet"268 sh "../configure CXX=${compiler.cpp_cc} ${architecture} --with-backend-compiler=${compiler.cfa_cc} --prefix=${install_dir} --enable-silent-rules --quiet" 280 269 281 270 //Compile the project … … 288 277 build_stage('Test') { 289 278 290 dir (builddir) { 291 //Run the tests from the tests directory 292 if ( do_alltests ) { 293 sh 'make --no-print-directory -C src/tests all-tests debug=yes' 294 sh 'make --no-print-directory -C src/tests all-tests debug=no ' 295 } 296 else { 297 sh 'make --no-print-directory -C src/tests' 298 } 279 //Run the tests from the tests directory 280 if ( do_alltests ) { 281 sh 'make -C build/src/tests all-tests debug=yes --no-print-directory' 282 sh 'make -C build/src/tests all-tests debug=no --no-print-directory' 283 } 284 else { 285 sh 'make -C build/src/tests --no-print-directory' 299 286 } 300 287 } … … 306 293 if( !do_benchmark ) return 307 294 308 dir (builddir) { 309 //Append bench results 310 sh "make --no-print-directory -C src/benchmark jenkins githash=${gitRefNewValue} arch=${arch_name} | tee ${srcdir}/bench.json" 311 } 295 //Append bench results 296 sh 'make -C build/src/benchmark --no-print-directory jenkins githash=' + gitRefNewValue + ' arch=' + arch_name + ' | tee bench.json' 297 } 298 } 299 300 def clean() { 301 build_stage('Cleanup') { 302 // clean the build by wipping the build directory 303 sh 'rm -rf build' 312 304 } 313 305 } … … 342 334 //=========================================================================================================== 343 335 //Standard build email notification 344 def email(String status, boolean log , boolean bIsSandbox) {336 def email(String status, boolean log) { 345 337 //Since tokenizer doesn't work, figure stuff out from the environnement variables and command line 346 338 //Configurations for email format … … 385 377 def email_to = "cforall@lists.uwaterloo.ca" 386 378 387 if( !bIsSandbox ) { 388 //send email notification 389 emailext body: email_body, subject: email_subject, to: email_to, attachLog: log 390 } else { 391 echo "Would send email to: ${email_to}" 392 echo "With title: ${email_subject}" 393 echo "Content: \n${email_body}" 394 } 395 } 379 //send email notification 380 emailext body: email_body, subject: email_subject, to: email_to, attachLog: log 381 } -
src/tests/pybin/tools.py
r82c6072 rad486c5b 48 48 return False 49 49 50 return match.group(1) .startswith("ASCII text")50 return match.group(1) == "ASCII text" 51 51 52 52 # Remove 1 or more files silently
Note: See TracChangeset
for help on using the changeset viewer.