We have a multibranch pipeline configured with polling filters configured. The branches come for the Helix Branch depot paths.
To prevent builds on the service account as well as version files that are updated post build.
A sample looks as follows:
// Filter to prevent infinite loop of builds filter: [ userFilter('p4_service_account'), pathFilter("${PERFORCE_PATH}/${env.version_file}"), pathFilter("${PERFORCE_PATH}/${JENKINSFILE_NAME}") ],
The env.version_file comes from a shared library, while PERFORCE_PATH is defined in the stage that identifies the branch.
We have many branches and versions that are updated multiple times a day. We see this infrequently, <5% of the time.
Now, the change that triggers this build is submitted by the service account and is mapped to the version_file, so neither of the filters is actually working
p4 describe 123
Change 123 by p4_service_account@BUILD_XYZ on 2021/05/25 13:23:29 Jenkins changed version to buildxyx-1.2.3.4
See https://jenkinsurl/job/1.2.3.4/8/ for detailsAffected files ...... //.../version_file#6 editDifferences ...
< 1.2.3.3---
> 1.2.3.4
Jenkins polling log confirms the above as does the change log.
It seems most prevalent when a new branch is created and after a failing build occurs, but my inability to reproduce this is such that I can't narrow down the steps.