Skip to content

Commit 1688522

Browse files
Yakov Feldmanyakov-feldman
authored andcommitted
DEVO-242: Run regressions and release 5.2.7
1 parent f218a81 commit 1688522

File tree

1 file changed

+53
-54
lines changed

1 file changed

+53
-54
lines changed

Jenkinsfile

Lines changed: 53 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,58 @@ void sanityTests(String type,String mlVersion){
101101
//jiraAddComment comment: 'Jenkins Sanity Test Results For PR Available', idOrKey: JIRA_ID, site: 'JIRA'
102102
}
103103

104+
void PR_merge(){
105+
withCredentials([usernameColonPassword(credentialsId: '550650ab-ee92-4d31-a3f4-91a11d5388a3', variable: 'Credentials')]) {
106+
props = readProperties file:'data-hub/pipeline.properties';
107+
JIRA_ID=env.CHANGE_TITLE.split(':')[0]
108+
def response = sh (returnStdout: true, script:'''curl -u $Credentials --header "application/vnd.github.merge-info-preview+json" "'''+githubAPIUrl+'''/pulls/$CHANGE_ID" | grep '"mergeable_state":' | cut -d ':' -f2 | cut -d ',' -f1 | tr -d '"' ''')
109+
response=response.trim();
110+
println(response)
111+
if(response.equals("clean")){
112+
println("merging can be done")
113+
sh "curl -o - -s -w \"\n%{http_code}\n\" -X PUT -d '{\"commit_title\": \"$JIRA_ID: merging PR\", \"merge_method\": \"rebase\"}' -u $Credentials "+ githubAPIUrl+"/pulls/$CHANGE_ID/merge | tail -2 > mergeResult.txt"
114+
def mergeResult = readFile('mergeResult.txt').trim()
115+
if(mergeResult=="200"){
116+
println("Merge successful")
117+
}else{
118+
println("Merge Failed")
119+
sh 'exit 1'
120+
}
121+
}else if(response.equals("blocked")){
122+
println("retry blocked");
123+
withCredentials([usernameColonPassword(credentialsId: '550650ab-ee92-4d31-a3f4-91a11d5388a3', variable: 'Credentials')]) {
124+
def reviewersList = sh (returnStdout: true, script:'''
125+
curl -u $Credentials -X GET '''+githubAPIUrl+'''/pulls/$CHANGE_ID/requested_reviewers
126+
''')
127+
def slurper = new JsonSlurperClassic().parseText(reviewersList.toString().trim())
128+
def emailList="";
129+
for(def user:slurper.users){
130+
email=getEmailFromGITUser user.login;
131+
emailList+=email+',';
132+
}
133+
sendMail emailList,'Check the Pipeline View Here: ${JENKINS_URL}/blue/organizations/jenkins/Datahub_CI/detail/$JOB_BASE_NAME/$BUILD_ID \n\n\n Check Console Output Here: ${BUILD_URL}/console \n\n\n $BRANCH_NAME is waiting for the code-review to complete. Please click on proceed button if all the reviewers approved the code here. \n\n ${BUILD_URL}input ',false,'Waiting for code review $BRANCH_NAME '
134+
135+
}
136+
sleep time: 30, unit: 'MINUTES'
137+
throw new Exception("Waiting for all the status checks to pass");
138+
}else if(response.equals("unstable")){
139+
println("retry unstable")
140+
sh "curl -o - -s -w \"\n%{http_code}\n\" -X PUT -d '{\"commit_title\": \"$JIRA_ID: merging PR\", \"merge_method\": \"rebase\"}' -u $Credentials "+githubAPIUrl+"/pulls/$CHANGE_ID/merge | tail -2 > mergeResult.txt"
141+
def mergeResult = readFile('mergeResult.txt').trim()
142+
if(mergeResult=="200"){
143+
println("Merge successful")
144+
}else{
145+
println("Merge Failed")
146+
sh 'exit 1'
147+
}
148+
println("Result is"+ mergeResult)
149+
}else{
150+
println("merging not possible")
151+
currentBuild.result = "FAILURE"
152+
sh 'exit 1';
153+
}
154+
}}
155+
104156
pipeline{
105157
agent none;
106158
options {
@@ -277,60 +329,7 @@ pipeline{
277329
}
278330
agent {label 'dhmaster'};
279331
steps{
280-
retry(5){
281-
withCredentials([usernameColonPassword(credentialsId: '550650ab-ee92-4d31-a3f4-91a11d5388a3', variable: 'Credentials')]) {
282-
script{
283-
props = readProperties file:'data-hub/pipeline.properties';
284-
JIRA_ID=env.CHANGE_TITLE.split(':')[0]
285-
def response = sh (returnStdout: true, script:'''curl -u $Credentials --header "application/vnd.github.merge-info-preview+json" "'''+githubAPIUrl+'''/pulls/$CHANGE_ID" | grep '"mergeable_state":' | cut -d ':' -f2 | cut -d ',' -f1 | tr -d '"' ''')
286-
response=response.trim();
287-
println(response)
288-
if(response.equals("clean")){
289-
println("merging can be done")
290-
sh "curl -o - -s -w \"\n%{http_code}\n\" -X PUT -d '{\"commit_title\": \"$JIRA_ID: merging PR\", \"merge_method\": \"rebase\"}' -u $Credentials "+ githubAPIUrl+"/pulls/$CHANGE_ID/merge | tail -2 > mergeResult.txt"
291-
def mergeResult = readFile('mergeResult.txt').trim()
292-
if(mergeResult=="200"){
293-
println("Merge successful")
294-
}else{
295-
println("Merge Failed")
296-
sh 'exit 1'
297-
}
298-
}else if(response.equals("blocked")){
299-
println("retry blocked");
300-
withCredentials([usernameColonPassword(credentialsId: '550650ab-ee92-4d31-a3f4-91a11d5388a3', variable: 'Credentials')]) {
301-
def reviewersList = sh (returnStdout: true, script:'''
302-
curl -u $Credentials -X GET '''+githubAPIUrl+'''/pulls/$CHANGE_ID/requested_reviewers
303-
''')
304-
def slurper = new JsonSlurperClassic().parseText(reviewersList.toString().trim())
305-
def emailList="";
306-
for(def user:slurper.users){
307-
email=getEmailFromGITUser user.login;
308-
emailList+=email+',';
309-
}
310-
sendMail emailList,'Check the Pipeline View Here: ${JENKINS_URL}/blue/organizations/jenkins/Datahub_CI/detail/$JOB_BASE_NAME/$BUILD_ID \n\n\n Check Console Output Here: ${BUILD_URL}/console \n\n\n $BRANCH_NAME is waiting for the code-review to complete. Please click on proceed button if all the reviewers approved the code here. \n\n ${BUILD_URL}input ',false,'Waiting for code review $BRANCH_NAME '
311-
312-
}
313-
sleep time: 30, unit: 'MINUTES'
314-
throw new Exception("Waiting for all the status checks to pass");
315-
}else if(response.equals("unstable")){
316-
println("retry unstable")
317-
sh "curl -o - -s -w \"\n%{http_code}\n\" -X PUT -d '{\"commit_title\": \"$JIRA_ID: merging PR\", \"merge_method\": \"rebase\"}' -u $Credentials "+githubAPIUrl+"/pulls/$CHANGE_ID/merge | tail -2 > mergeResult.txt"
318-
def mergeResult = readFile('mergeResult.txt').trim()
319-
if(mergeResult=="200"){
320-
println("Merge successful")
321-
}else{
322-
println("Merge Failed")
323-
sh 'exit 1'
324-
}
325-
println("Result is"+ mergeResult)
326-
}else{
327-
println("merging not possible")
328-
currentBuild.result = "FAILURE"
329-
sh 'exit 1';
330-
}
331-
}
332-
}
333-
}
332+
retry(5){PR_merge()}
334333
}
335334
post{
336335
success {

0 commit comments

Comments
 (0)