Changes in / [ec5d599:7c1144b]
- Files:
-
- 4 added
- 8 deleted
- 6 edited
-
Jenkins/Distribute (modified) (5 diffs)
-
Jenkins/tools.groovy (modified) (3 diffs)
-
Jenkinsfile (modified) (7 diffs)
-
tests/.expect/KRfunctions.nast.x86.txt (deleted)
-
tests/.expect/KRfunctions.oast.x86.txt (deleted)
-
tests/.expect/KRfunctions.x86.txt (added)
-
tests/.expect/attributes.nast.x86.txt (deleted)
-
tests/.expect/attributes.oast.x86.txt (deleted)
-
tests/.expect/attributes.x86.txt (added)
-
tests/.expect/functions.nast.x86.txt (deleted)
-
tests/.expect/functions.oast.x86.txt (deleted)
-
tests/.expect/functions.x86.txt (added)
-
tests/.expect/manipulatorsOutput2.arm64.txt (modified) (1 diff)
-
tests/errors/.expect/completeType.nast.x86.txt (deleted)
-
tests/errors/.expect/completeType.oast.x86.txt (deleted)
-
tests/errors/.expect/completeType.x86.txt (added)
-
tests/meta/.expect/archVast.nast.x86.txt (modified) (2 diffs)
-
tests/meta/.expect/archVast.oast.x86.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
Jenkins/Distribute
rec5d599 r7c1144b 26 26 wrap([$class: 'TimestamperBuildWrapper']) { 27 27 28 final commit, build 29 (commit, build) = prepare_build() 28 final commit = prepare_build() 30 29 31 30 node('x64') { … … 36 35 37 36 Tools.Checkout( commit ) 38 39 final version = GetVersion( build )40 37 } 41 38 … … 77 74 // Main compilation routines 78 75 //=========================================================================================================== 79 def GetVersion(build) {80 final pver = sh(81 returnStdout: true,82 script: "sed 's/AC_INIT(\\[cfa-cc\\],\\[\\(.*\\)\\],\\[cforall@plg.uwaterloo.ca\\])/\\1/;t;d' ${SrcDir}/configure.ac"83 ).trim()84 76 85 final version = "${pver}.${build}"86 77 87 echo "Package Version: ${pver}" 88 echo "Build Version: ${build}" 89 echo "Long Version: ${version}" 78 //Compilation script is done here but environnement set-up and error handling is done in main loop 79 // def checkout() { 80 // build_stage('Checkout', true) { 81 // //checkout the source code and clean the repo 82 // final scmVars = checkout scm 83 // Settings.GitNewRef = scmVars.GIT_COMMIT 84 // Settings.GitOldRef = scmVars.GIT_PREVIOUS_COMMIT 90 85 91 return version 92 }93 86 // echo GitLogMessage() 87 // } 88 // } 94 89 95 90 //=========================================================================================================== … … 112 107 defaultValue: '', \ 113 108 ], \ 114 [$class: 'StringParameterDefinition', \115 description: 'Build Number to put into the version', \116 name: 'Build', \117 defaultValue: '0', \118 ], \119 109 ], 120 110 ]]) … … 131 121 echo "Distributing git commit ${ref}" 132 122 133 return [params.GitRef, params.Build]123 return params.GitRef 134 124 } 135 125 -
Jenkins/tools.groovy
rec5d599 r7c1144b 37 37 //checkout the source code and clean the repo 38 38 if(commitHash) { 39 echo "Checking out commit <${commitHash}>" 40 final scmVars = checkout([$class: 'GitSCM', branches: [[name: commitHash ]], 41 userRemoteConfigs: [[ 42 url: 'cforall@plg.uwaterloo.ca:software/cfa/cfa-cc', 43 credentialsId: 'git_key_aug20']] 44 ]) 39 final scmVars = checkout([$class: 'GitSCM', branches: [[name: commitHash ]]]) 45 40 echo GitLogMessage(scmVars.GIT_COMMIT, scmVars.GIT_PREVIOUS_COMMIT) 46 41 } else { 42 47 43 final scmVars = checkout scm 48 44 echo GitLogMessage(scmVars.GIT_COMMIT, scmVars.GIT_PREVIOUS_COMMIT) … … 65 61 } 66 62 67 PrevGitOldRef = '' 68 PrevGitNewRef = '' 69 def GitLogMessage(String oldRef = '', String newRef = '') { 70 if (!oldRef) { if(!PrevGitOldRef) { return "\nERROR retrieveing current git information!\n" } else { oldRef = PrevGitOldRef } } 71 if (!newRef) { if(!PrevGitNewRef) { return "\nERROR retrieveing previous git information!\n" } else { newRef = PrevGitNewRef } } 72 63 def GitLogMessage(String oldRef, String newRef) { 73 64 def revText = sh(returnStdout: true, script: "git rev-list ${oldRef}..${newRef}").trim() 74 65 def revList = SplitLines( revText ) … … 90 81 gitDiff = gitDiff.replace('[31m', '<span style="color: #AA0000;">') 91 82 gitDiff = gitDiff.replace('[m', '</span>') 92 93 PrevGitOldRef = oldRef94 PrevGitNewRef = newRef95 83 96 84 return """ -
Jenkinsfile
rec5d599 r7c1144b 30 30 SrcDir = pwd tmp: false 31 31 32 Tools.Clean()33 34 Tools.Checkout()32 clean() 33 34 checkout() 35 35 36 36 build() … … 81 81 // Main compilation routines 82 82 //=========================================================================================================== 83 def clean() { 84 Tools.BuildStage('Cleanup', true) { 85 // clean the build by wipping the build directory 86 dir(BuildDir) { 87 deleteDir() 88 } 89 } 90 } 91 92 //Compilation script is done here but environnement set-up and error handling is done in main loop 93 def checkout() { 94 Tools.BuildStage('Checkout', true) { 95 //checkout the source code and clean the repo 96 final scmVars = checkout scm 97 Settings.GitNewRef = scmVars.GIT_COMMIT 98 Settings.GitOldRef = scmVars.GIT_PREVIOUS_COMMIT 99 100 echo GitLogMessage() 101 } 102 } 103 83 104 def build() { 84 105 debug = true … … 215 236 //Routine responsible of sending the email notification once the build is completed 216 237 //=========================================================================================================== 238 @NonCPS 239 def SplitLines(String text) { 240 def list = [] 241 242 text.eachLine { 243 list += it 244 } 245 246 return list 247 } 248 249 def GitLogMessage() { 250 if (!Settings || !Settings.GitOldRef || !Settings.GitNewRef) return "\nERROR retrieveing git information!\n" 251 252 def oldRef = Settings.GitOldRef 253 def newRef = Settings.GitNewRef 254 255 def revText = sh(returnStdout: true, script: "git rev-list ${oldRef}..${newRef}").trim() 256 def revList = SplitLines( revText ) 257 258 def gitUpdate = "" 259 revList.each { rev -> 260 def type = sh(returnStdout: true, script: "git cat-file -t ${rev}").trim() 261 gitUpdate = gitUpdate + " via ${rev} (${type})" 262 } 263 264 def rev = oldRef 265 def type = sh(returnStdout: true, script: "git cat-file -t ${rev}").trim() 266 gitUpdate = gitUpdate + " from ${rev} (${type})" 267 268 def gitLog = sh(returnStdout: true, script: "git rev-list --format=short ${oldRef}...${newRef}").trim() 269 270 def gitDiff = sh(returnStdout: true, script: "git diff --stat --color ${newRef} ${oldRef}").trim() 271 gitDiff = gitDiff.replace('[32m', '<span style="color: #00AA00;">') 272 gitDiff = gitDiff.replace('[31m', '<span style="color: #AA0000;">') 273 gitDiff = gitDiff.replace('[m', '</span>') 274 275 return """ 276 <pre> 277 The branch ${env.BRANCH_NAME} has been updated. 278 ${gitUpdate} 279 </pre> 280 281 <p>Check console output at ${env.BUILD_URL} to view the results.</p> 282 283 <p>- Status --------------------------------------------------------------</p> 284 285 <p>BUILD# ${env.BUILD_NUMBER} - ${currentBuild.result}</p> 286 287 <p>- Log -----------------------------------------------------------------</p> 288 289 <pre> 290 ${gitLog} 291 </pre> 292 293 <p>-----------------------------------------------------------------------</p> 294 <pre> 295 Summary of changes: 296 ${gitDiff} 297 </pre> 298 """ 299 } 300 217 301 //Standard build email notification 218 302 def email(boolean log) { … … 226 310 generated because of a git hooks/post-receive script following 227 311 a ref change which was pushed to the C\u2200 repository.</p> 228 """ + Tools.GitLogMessage()312 """ + GitLogMessage() 229 313 230 314 def email_to = !Settings.IsSandbox ? "cforall@lists.uwaterloo.ca" : "tdelisle@uwaterloo.ca" … … 336 420 this.DescShort = "${ this.Compiler.name }:${ this.Architecture.name }${full}" 337 421 338 final ast = this.NewAST ? "New AST" : "Old AST"339 422 this.DescLong = """Compiler : ${ this.Compiler.name } (${ this.Compiler.CXX }/${ this.Compiler.CC }) 340 AST Version : ${ ast.toString() }341 423 Architecture : ${ this.Architecture.name } 342 424 Arc Flags : ${ this.Architecture.flags } … … 391 473 description: 'If true, build compiler using new AST', \ 392 474 name: 'NewAST', \ 393 defaultValue: true, \475 defaultValue: false, \ 394 476 ], \ 395 477 [$class: 'BooleanParameterDefinition', \ … … 397 479 name: 'RunAllTests', \ 398 480 defaultValue: false, \ 399 ], \481 ], 400 482 [$class: 'BooleanParameterDefinition', \ 401 483 description: 'If true, jenkins also runs benchmarks', \ -
tests/.expect/manipulatorsOutput2.arm64.txt
rec5d599 r7c1144b 1 1 2 2 0b0 0b11011 0b11011 0b11011 0b11011 3 0b11100101 0b1111111111100101 0b11111111111111111111111111100101 0b111111111111111111111111111 11111111111111111111111111111111001013 0b11100101 0b1111111111100101 0b11111111111111111111111111100101 0b11111111111111111111111111100101 4 4 0 033 033 033 033 5 0345 0177745 037777777745 0 17777777777777777777455 0345 0177745 037777777745 037777777745 6 6 0 0x1b 0x1b 0x1b 0x1b 7 0xe5 0xffe5 0xffffffe5 0xffffff ffffffffe58 0x0p+0. 0x1.b8p+4 0x1.b8p+4 0x 1.b8p+49 -0x1.b8p+4 -0x1.b8p+4 -0x 1.b8p+47 0xe5 0xffe5 0xffffffe5 0xffffffe5 8 0x0p+0. 0x1.b8p+4 0x1.b8p+4 0xd.cp+1 9 -0x1.b8p+4 -0x1.b8p+4 -0xd.cp+1 10 10 0.000000e+00 2.750000e+01 -2.750000e+01 11 11 0B11011 0X1B 2.75E-09 0X1.B8P+4 -
tests/meta/.expect/archVast.nast.x86.txt
rec5d599 r7c1144b 7 7 char Alternatives are: 8 8 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 9 Variable Expression: FX86: double9 Variable Expression: FX86: signed int 10 10 ... with resolved type: 11 double11 signed int 12 12 ... to: 13 13 char … … 39 39 40 40 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 41 Variable Expression: FX86: signed int41 Variable Expression: FX86: double 42 42 ... with resolved type: 43 signed int43 double 44 44 ... to: 45 45 char -
tests/meta/.expect/archVast.oast.x86.txt
rec5d599 r7c1144b 7 7 char Alternatives are: 8 8 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 9 Variable Expression: FX86: double 9 Variable Expression: FX86: function 10 accepting unspecified arguments 11 ... returning nothing 12 10 13 with resolved type: 11 double 14 pointer to function 15 accepting unspecified arguments 16 ... returning nothing 17 12 18 ... to: 13 19 char … … 20 26 21 27 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 22 Variable Expression: FX86: function 23 accepting unspecified arguments 24 ... returning nothing 25 28 Variable Expression: FX86: double 26 29 with resolved type: 27 pointer to function 28 accepting unspecified arguments 29 ... returning nothing 30 30 double 31 31 ... to: 32 32 char
Note:
See TracChangeset
for help on using the changeset viewer.