From 86d243938e878abe134bf174f32a7816bb5ccef0 Mon Sep 17 00:00:00 2001 From: Jinank Jain Date: Mon, 6 Jun 2022 10:14:14 +0000 Subject: [PATCH] Jenkinsfile: Bypass running CI for fuzzer Cargo file changes In order to conserve resources it is better to not run CI, whenever there are changes only in fuzz/Cargo.toml or fuzz/Cargo.lock. Fixes #4148 Signed-off-by: Jinank Jain --- Jenkinsfile | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index 5ddaffe79..897dee23c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -23,6 +23,19 @@ pipeline{ } } } + stage ('Check for fuzzer cargo files only changes') { + when { + expression { + return fuzzCargoFileOnly() + } + } + steps { + script { + runWorkers = false + echo "Fuzzer cargo files only changes, no need to run the CI" + } + } + } stage ('Check for RFC/WIP builds') { when { changeRequest comparator: 'REGEXP', title: '.*(rfc|RFC|wip|WIP).*' @@ -287,3 +300,14 @@ def boolean docsFileOnly() { script: "git diff --name-only origin/${env.CHANGE_TARGET}... | grep -v '\\.md'" ) != 0 } + +def boolean fuzzCargoFileOnly() { + if (env.CHANGE_TARGET == null) { + return false; + } + + return sh( + returnStatus: true, + script: "git diff --name-only origin/${env.CHANGE_TARGET}... | grep -v -E 'fuzz\/Cargo.(toml|lock)'" + ) != 0 +}