Added old test killing to salt formulas test pipeline
Change-Id: I93ea0b0c2f0223ff90b095b8ad94debe2e2c4658
diff --git a/test-salt-formulas-pipeline.groovy b/test-salt-formulas-pipeline.groovy
index 920e791..0e860a6 100644
--- a/test-salt-formulas-pipeline.groovy
+++ b/test-salt-formulas-pipeline.groovy
@@ -7,6 +7,7 @@
def common = new com.mirantis.mk.Common()
def gerrit = new com.mirantis.mk.Gerrit()
def ruby = new com.mirantis.mk.Ruby()
+def jenkinsUtils = new com.mirantis.mk.JenkinsUtils()
def gerritRef
try {
@@ -28,6 +29,14 @@
node("python&&docker") {
try{
+ stage("stop old tests"){
+ if (gerritRef) {
+ def runningTestBuildNums = _getRunningTriggeredTestsBuildNumbers(env["JOB_NAME"], GERRIT_CHANGE_NUMBER, GERRIT_PATCHET_NUMBER)
+ for(int i=0; i<runningTestBuildNums.size(); i++){
+ Jenkins.instance.getItemByFullName(env["JOB_NAME"]).getBuildByNumber(runningTestBuildNums[i]).finish(hudson.model.Result.ABORTED, new java.io.IOException("Aborting build"));
+ }
+ }
+ }
stage("checkout") {
if (gerritRef) {
// job is triggered by Gerrit
@@ -72,4 +81,10 @@
}
common.sendNotification(currentBuild.result,"",["slack"])
}
+}
+
+@NonCPS
+def _getRunningTriggeredTestsBuildNumbers(jobName, gerritChangeNumber, excludePatchsetNumber){
+ return gerrit.getGerritTriggeredBuilds(jenkins.getJobRunningBuilds(jobName), gerritChangeNumber, excludePatchsetNumber)
+ .stream().map{it -> it.number}.collect(java.util.stream.Collectors.toList())
}
\ No newline at end of file