diff --git a/Jenkinsfile b/Jenkinsfile index 7dcf0d237..1eb649963 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -315,8 +315,14 @@ void checkE2EIgnoreFiles() { echo "This is the first run. Using merge base as the starting point for the diff." changedFiles = sh(script: "git diff --name-only \$(git merge-base HEAD origin/$CHANGE_TARGET)", returnStdout: true).trim().split('\n').findAll{it} } else { - echo "Processing changes since last processed commit: $lastProcessedCommitHash" - changedFiles = sh(script: "git diff --name-only $lastProcessedCommitHash HEAD", returnStdout: true).trim().split('\n').findAll{it} + def commitExists = sh(script: "git cat-file -e $lastProcessedCommitHash 2>/dev/null", returnStatus: true) == 0 + if (commitExists) { + echo "Processing changes since last processed commit: $lastProcessedCommitHash" + changedFiles = sh(script: "git diff --name-only $lastProcessedCommitHash HEAD", returnStdout: true).trim().split('\n').findAll{it} + } else { + echo "Commit hash $lastProcessedCommitHash does not exist in the current repository. Using merge base as the starting point for the diff." + changedFiles = sh(script: "git diff --name-only \$(git merge-base HEAD origin/$CHANGE_TARGET)", returnStdout: true).trim().split('\n').findAll{it} + } } echo "Excluded files: $excludedFiles"