Changes in Jenkins/FullBuild [a74554af:e39647e]
- File:
-
- 1 edited
-
Jenkins/FullBuild (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
Jenkins/FullBuild
ra74554af re39647e 17 17 18 18 parallel ( 19 gcc_6_x64: { trigger_build( 'gcc-6', 'x64' ) }, 20 gcc_6_x86: { trigger_build( 'gcc-6', 'x86' ) }, 21 gcc_5_x64: { trigger_build( 'gcc-5', 'x64' ) }, 22 gcc_5_x86: { trigger_build( 'gcc-5', 'x86' ) }, 23 clang_x64: { trigger_build( 'clang', 'x64' ) }, 24 clang_x86: { trigger_build( 'clang', 'x86' ) }, 19 gcc_6_x64: { trigger_build( 'gcc-6', 'x64', true ) }, 20 gcc_6_x86: { trigger_build( 'gcc-6', 'x86', true ) }, 21 gcc_5_x64: { trigger_build( 'gcc-5', 'x64', false ) }, 22 gcc_5_x86: { trigger_build( 'gcc-5', 'x86', false ) }, 23 gcc_4_x64: { trigger_build( 'gcc-4.9', 'x64', false ) }, 24 gcc_4_x86: { trigger_build( 'gcc-4.9', 'x86', false ) }, 25 clang_x64: { trigger_build( 'clang', 'x64', false ) }, 26 clang_x86: { trigger_build( 'clang', 'x86', false ) }, 25 27 ) 26 28 } 29 30 //Push latest changes to do-lang repo 31 push_build() 27 32 } 28 29 promote_email(true)30 33 } 31 34 … … 42 45 43 46 //Send email to notify the failure 44 promote_ email(false)47 promote_failure_email() 45 48 } 46 49 … … 56 59 //=========================================================================================================== 57 60 58 def trigger_build(String cc, String arch ) {61 def trigger_build(String cc, String arch, Boolean publish) { 59 62 def result = build job: 'Cforall/master', \ 60 63 parameters: [ \ 61 64 [$class: 'StringParameterValue', \ 62 name: ' Compiler', \65 name: 'pCompiler', \ 63 66 value: cc], \ 64 67 [$class: 'StringParameterValue', \ 65 name: ' Architecture', \68 name: 'pArchitecture', \ 66 69 value: arch], \ 67 70 [$class: 'BooleanParameterValue', \ 68 name: ' RunAllTests',\71 name: 'pRunAllTests', \ 69 72 value: true], \ 70 73 [$class: 'BooleanParameterValue', \ 71 name: ' RunBenchmark', \74 name: 'pRunBenchmark', \ 72 75 value: true], \ 73 76 [$class: 'BooleanParameterValue', \ 74 name: ' BuildDocumentation', \77 name: 'pBuildDocumentation', \ 75 78 value: true], \ 76 79 [$class: 'BooleanParameterValue', \ 77 name: ' Publish', \78 value: true],\80 name: 'pPublish', \ 81 value: publish], \ 79 82 [$class: 'BooleanParameterValue', \ 80 name: ' Silent', \83 name: 'pSilent', \ 81 84 value: true], \ 82 85 ], \ … … 86 89 87 90 if(result.result != 'SUCCESS') { 88 sh("wget -q -O - http://localhost:8084/jenkins/job/Cforall/job/master/${result.number}/consoleText")91 sh("wget -q -O - ${result.absoluteUrl}/consoleText") 89 92 error(result.result) 93 } 94 } 95 96 def push_build() { 97 //Don't use the build_stage function which outputs the compiler 98 stage('Push') { 99 100 status_prefix = 'Push' 101 102 def out_dir = pwd tmp: true 103 sh "mkdir -p ${out_dir}" 104 105 //checkout the code to make sure this is a valid git repo 106 checkout scm 107 108 collect_git_info() 109 110 //parse git logs to find what changed 111 sh "git remote > ${out_dir}/GIT_REMOTE" 112 git_remote = readFile("${out_dir}/GIT_REMOTE") 113 remoteDoLangExists = git_remote.contains("DoLang") 114 115 if( !remoteDoLangExists ) { 116 sh 'git remote add DoLang git@gitlab.do-lang.org:internal/cfa-cc.git' 117 } 118 119 //sh "GIT_SSH_COMMAND=\"ssh -v\" git push DoLang ${gitRefNewValue}:master" 120 echo('BUILD NOT PUSH SINCE DO-LANG SERVER WAS DOWN') 90 121 } 91 122 } … … 112 143 113 144 //Email notification on a full build failure 114 def promote_ email(boolean success) {145 def promote_failure_email() { 115 146 echo('notifying users') 116 117 def result = success ? "PROMOTE - SUCCESS" : "PROMOTE - FAILURE"118 147 119 148 //Since tokenizer doesn't work, figure stuff out from the environnement variables and command line 120 149 //Configurations for email format 121 def email_subject = "[cforall git][${result}]" 122 def email_body = """<p>This is an automated email from the Jenkins build machine. It was 123 generated following the result of the C\u2200 nightly build.</p> 150 def email_subject = "[cforall git][PROMOTE - FAILURE]" 151 def email_body = """This is an automated email from the Jenkins build machine. It was 152 generated because of a git hooks/post-receive script following 153 a ref change was pushed to the repository containing 154 the project "UNNAMED PROJECT". 124 155 125 <p>Check console output at ${env.BUILD_URL} to view the results.</p> 156 Check console output at ${env.BUILD_URL} to view the results. 126 157 127 <p>- Status --------------------------------------------------------------</p> 158 - Status -------------------------------------------------------------- 128 159 129 <p>${result}</p> 130 131 <p>- Performance ---------------------------------------------------------</p> 132 133 <img src="https://cforall.uwaterloo.ca/jenkins/job/Cforall/job/master/plot/Compilation/getPlot?index=0" > 134 <img src="https://cforall.uwaterloo.ca/jenkins/job/Cforall/job/master/plot/Compilation/getPlot?index=1" > 135 136 <p>- Logs ----------------------------------------------------------------</p> 160 PROMOTE FAILURE 137 161 """ 138 162 … … 140 164 141 165 //send email notification 142 emailext body: email_body, subject: email_subject, to: email_to, attachLog: !success166 emailext body: email_body, subject: email_subject, to: email_to, attachLog: true 143 167 }
Note:
See TracChangeset
for help on using the changeset viewer.