We have the following set up with TeamCity Enterprise 8.1.1:
- One git repository with three branches:
- One TC project linked to a single VCS root:
- Default branch: refs/heads/develop
- Branch specifciation: +:refs/heads/*
In my TC project, I have a VCS trigger (default options, no filters)
If I make a change and push to develop, master or release, TC detects a change in develop and builds it just as expected.
- I make a change to the develop branch
- I push that change
A build now starts for the develop branch. While this build is running:
- I run git checkout master
- I run git rebase develop
- I run git push
At this point both develop and master points at the same change set in git.
At this point, I would expect a build to start on the master branch as well, but that does not happen. The build on the develop branch finishes a few minutes later, but nothing is built for master branch.
Some problem isolation:
- When I run the above steps, after step 5 TeamCity does not show any pending changes for the master branch. I expect changes to be shown since I just merged the develop branch into master and pushed.
- I've tried running git merge develop instead of git rebase develop in step 4 but that does not help.
- If I make my change locally both in master and in develop and then push both branches at the same time, then both branches are built.
- If TeamCity is busy and the build is queued in step 2 and I push while it's queued, then a build for both branches will be queued.
- If TeamCity starts to build the develop branch in step 2 and I stop this, then the master branch is built after step 5.