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 +}