- Timestamp:
- Jun 15, 2021, 12:28:48 PM (5 years ago)
- Branches:
- ADT, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- b51e389c
- Parents:
- 4aba055 (diff), 4f1b8f3f (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. - Location:
- Jenkins
- Files:
-
- 1 added
- 3 edited
-
Distribute (modified) (2 diffs)
-
FullBuild (modified) (3 diffs)
-
Promote (added)
-
tools.groovy (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
Jenkins/Distribute
r4aba055 r2f19e03 2 2 3 3 import groovy.transform.Field 4 5 // For skipping stages6 import org.jenkinsci.plugins.pipeline.modeldefinition.Utils7 4 8 5 //=========================================================================================================== … … 10 7 //=========================================================================================================== 11 8 12 node('master') { 13 // Globals 14 BuildDir = pwd tmp: true 15 SrcDir = pwd tmp: false 16 Settings = null 17 Version = '' 9 // Globals 10 BuildDir = null 11 SrcDir = null 12 Settings = null 13 Version = '' 18 14 19 // Local variables20 def err = null21 def log_needed = false15 // Local variables 16 def err = null 17 def log_needed = false 22 18 23 currentBuild.result = "SUCCESS" 19 currentBuild.result = "SUCCESS" 20 21 final commit, build 22 node { 24 23 25 24 //Wrap build to add timestamp to command line 26 25 wrap([$class: 'TimestamperBuildWrapper']) { 26 (commit, build) = prepare_build() 27 } 28 } 27 29 28 final commit, build 29 (commit, build) = prepare_build() 30 31 node('x64') { 32 BuildDir = pwd tmp: true 33 SrcDir = pwd tmp: false 34 35 Tools.Clean() 36 37 Tools.Checkout( commit ) 38 39 Version = GetVersion( build ) 40 41 Configure() 42 43 Package() 44 45 Test() 46 47 Archive() 48 } 49 50 // Update the build directories when exiting the node 30 node('x64') { 31 //Wrap build to add timestamp to command line 32 wrap([$class: 'TimestamperBuildWrapper']) { 51 33 BuildDir = pwd tmp: true 52 34 SrcDir = pwd tmp: false 35 36 Tools.Clean() 37 38 Tools.Checkout( commit ) 39 40 Version = GetVersion( build ) 41 42 Configure() 43 44 Package() 45 46 Test() 47 48 Archive() 53 49 } 54 55 50 } 56 51 -
Jenkins/FullBuild
r4aba055 r2f19e03 5 5 //=========================================================================================================== 6 6 7 node ('master'){7 node { 8 8 def err = null 9 9 … … 106 106 107 107 if(result.result != 'SUCCESS') { 108 sh("wget -q -O - http ://localhost:8084/jenkins/job/Cforall/job/master/${result.number}/consoleText")108 sh("wget -q -O - https://cforall.uwaterloo.ca/jenkins/job/Cforall/job/master/${result.number}/consoleText") 109 109 error(result.result) 110 110 } … … 144 144 //Email notification on a full build failure 145 145 def promote_email(boolean success) { 146 echo('notifying users') 146 node { 147 echo('notifying users') 147 148 148 def result = success ? "PROMOTE - SUCCESS" : "PROMOTE - FAILURE"149 def result = success ? "PROMOTE - SUCCESS" : "PROMOTE - FAILURE" 149 150 150 //Since tokenizer doesn't work, figure stuff out from the environnement variables and command line151 //Configurations for email format152 def email_subject = "[cforall git][${result}]"153 def email_body = """<p>This is an automated email from the Jenkins build machine. It was154 generated following the result of the C\u2200 nightly build.</p>151 //Since tokenizer doesn't work, figure stuff out from the environnement variables and command line 152 //Configurations for email format 153 def email_subject = "[cforall git][${result}]" 154 def email_body = """<p>This is an automated email from the Jenkins build machine. It was 155 generated following the result of the C\u2200 nightly build.</p> 155 156 156 <p>Check console output at ${env.BUILD_URL} to view the results.</p>157 <p>Check console output at ${env.BUILD_URL} to view the results.</p> 157 158 158 <p>- Status --------------------------------------------------------------</p>159 <p>- Status --------------------------------------------------------------</p> 159 160 160 <p>${result}</p>161 <p>${result}</p> 161 162 162 <p>- Performance ---------------------------------------------------------</p>163 <p>- Performance ---------------------------------------------------------</p> 163 164 164 <img src="https://cforall.uwaterloo.ca/jenkins/job/Cforall/job/master/plot/Compilation/getPlot?index=0" >165 <img src="https://cforall.uwaterloo.ca/jenkins/job/Cforall/job/master/plot/Compilation/getPlot?index=1" >165 <img src="https://cforall.uwaterloo.ca/jenkins/job/Cforall/job/master/plot/Compilation/getPlot?index=0" > 166 <img src="https://cforall.uwaterloo.ca/jenkins/job/Cforall/job/master/plot/Compilation/getPlot?index=1" > 166 167 167 <p>- Logs ----------------------------------------------------------------</p>168 """168 <p>- Logs ----------------------------------------------------------------</p> 169 """ 169 170 170 def email_to = "cforall@lists.uwaterloo.ca"171 def email_to = "cforall@lists.uwaterloo.ca" 171 172 172 //send email notification 173 emailext body: email_body, subject: email_subject, to: email_to, attachLog: !success 173 //send email notification 174 emailext body: email_body, subject: email_subject, to: email_to, attachLog: !success 175 } 174 176 } -
Jenkins/tools.groovy
r4aba055 r2f19e03 61 61 } 62 62 63 PrevGitOldRef = '' 64 PrevGitNewRef = '' 65 def GitLogMessage(String oldRef = '', String newRef = '') { 66 if (!oldRef) { if(!PrevGitOldRef) { return "\nERROR retrieveing current git information!\n" } else { oldRef = PrevGitOldRef } } 67 if (!newRef) { if(!PrevGitNewRef) { return "\nERROR retrieveing previous git information!\n" } else { newRef = PrevGitNewRef } } 68 63 def ConstructGitLogMessage(String oldRef, String newRef) { 69 64 def revText = sh(returnStdout: true, script: "git rev-list ${oldRef}..${newRef}").trim() 70 65 def revList = SplitLines( revText ) … … 87 82 gitDiff = gitDiff.replace('[m', '</span>') 88 83 89 PrevGitOldRef = oldRef90 PrevGitNewRef = newRef 84 return """ 85 <p>- Changes -------------------------------------------------------------</p> 91 86 92 return """93 87 <pre> 94 88 The branch ${env.BRANCH_NAME} has been updated. 95 89 ${gitUpdate} 96 90 </pre> 97 98 <p>Check console output at ${env.BUILD_URL} to view the results.</p>99 100 <p>- Status --------------------------------------------------------------</p>101 102 <p>BUILD# ${env.BUILD_NUMBER} - ${currentBuild.result}</p>103 91 104 92 <p>- Log -----------------------------------------------------------------</p> … … 116 104 } 117 105 106 EmailMessage = '' 107 def GitLogMessage(String oldRef = '', String newRef = '') { 108 if(!EmailMessage) { 109 if (!oldRef) { return "\nERROR retrieveing current git information!\n" } 110 if (!newRef) { return "\nERROR retrieveing previous git information!\n" } 111 112 echo "Constructing new git message" 113 114 EmailMessage = ConstructGitLogMessage(oldRef, newRef) 115 } 116 else { 117 echo "Reusing previously constructed message" 118 } 119 return EmailMessage; 120 } 121 118 122 return this;
Note:
See TracChangeset
for help on using the changeset viewer.