Right now all the ci-runner jobs are run against the development branch "as is".
If such development branch has not been rebased recently against upstream branches, everything can look correct, with jobs passing.
And only when the issue is integrated is when the problems are discovered:
- conflicts on merge.
- tests using old stuff.
- grunt generated stuff needing to be amended.
- other failures caused by changes in upstream branches.
- ...
So the idea is to:
- Add a new optional env variable to control when the the jobs must be run with candidate branches (default, current behavior) or with the candidate branches rebased against their corresponding upstream branches.
- Decide which jobs will run each type of run. For example, surely all the "post" (after integration) jobs, don't need this feature, they are already "upstream". But all the "pre" jobs (before integration) surely will benefit from this enormously, detecting conflicts, missing grunt stuff and other failures in advance.
That's the idea, so far, ciao :-)