From 4085785d739c61afe73f04b3c9435a93a8f9c1ea Mon Sep 17 00:00:00 2001 From: Rafal Blaczkowski Date: Tue, 3 Nov 2020 10:54:31 +0100 Subject: [PATCH] Abort previous builds on PR update (#2877) --- .ci/openvino-onnx/Jenkinsfile | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.ci/openvino-onnx/Jenkinsfile b/.ci/openvino-onnx/Jenkinsfile index 62721999d00..813c6242781 100644 --- a/.ci/openvino-onnx/Jenkinsfile +++ b/.ci/openvino-onnx/Jenkinsfile @@ -4,6 +4,25 @@ DOCKER_CONTAINER_NAME= "openvino-onnx-ci-container" DOCKER_IMAGE_TAG = "openvino-onnx-ci-image" +// workaround for aborting previous builds on PR update +@NonCPS + def stopPreviousRunningBuilds() { + def jobname = env.JOB_NAME + if (jobname.startsWith("onnx/openvino_ci/PR")){ + def buildnum = env.BUILD_NUMBER.toInteger() + def job = Jenkins.instance.getItemByFullName(jobname) + def job_newest = job.builds.first() + for (build in job.builds.reverse()[0..<-1]) { + if (build.isBuilding()){ + echo "Stop task = ${build} because newest #${job_newest} is on the way" + build.doStop(); + continue; + } + } + } + + } + def getGitPrInfo(String project) { def gitPrInfo = [ prAuthorEmail : "", @@ -90,6 +109,7 @@ pipeline { stages { stage("Clone repository") { steps{ + stopPreviousRunningBuilds() dir("${WORKDIR}") { checkout scm }