some background information first: we build from a single code base many different variants, let's say 30. For each variant, we have a specific build configuration: B1..B30. Since developers typically test on a single variant when they fix a bug, we have pre-merge checks to verify that didn't break another variant before a change is merged in the mainline ("master" in git). We call these "Pre-merge builds". We cannot afford to have all builds started as pre-merge, so we start only a subset, let's say B1..B4.
For that, we have a dedicated build configuration called "Pre-merge builds". It's triggered for changes on "review/*" branches. It has as snapshot dependencies: B1..B4.
We have also another build configuration called "All supported builds". It's triggered for changes on "master".
So the workflow is:
- developer creates a commit and pushes it to review/...
- "Pre-merge builds" is triggered automatically on this commit, which in turns triggers automatically B1..B4 on the review/* branch
- the developer waits for feedback
- when the commit is approved, the commit is merged into "master"
- the "All supported builds" build configuration is triggered automatically, and triggers in turn B1..B30 on the "master" branch
The problem is that the "Changes" list of "Pre-merge builds" is not what I need. I would like to see there only changes between "master" and the "review" branch.
At first, I defined the same VCS roots in "Pre-merge builds" as in B1..B30, but then the list of changes was very long. I am not sure how it is calculated.
Then I tried to use the option "Triggers a build on changes in snapshot dependencies" in the trigger of the "Pre-merge builds", and therefore removed all VCS roots from it. But then the list of changes was empty.
It's not only a cosmetic issue, it causes concrete issues:
- VCS trigger rules in "Pre-Merge Builds" cannot work, for instance to exclude directories known to have no impact on the builds
- Email notifications are sent either to too many people, or noone, instead of the author of the one commit
Any help would be appreciated.