Chained builds timing question


I have a question about timing of chained builds, and how the source snapshots would be used in a particular situation.

Say I have 2 agents, and a chained build process made up of a container build (basically an empty ant task, takes <1 sec), which is dependent on:
- a unit test target,
- an integration test target.
The two testing builds can run parallel.

If I had 3 commits, as indicated below, which triggered the container build, and essentially results in this diagram:

Agent 1 (unit):   |1-----||2-----||3-----|

Agent 2 (integ):  |1----------||2----------|
Commit Triggers: 1^   2^   3^

...would the 3rd chained build make use of the 2nd integration build on agent 2? Assume that they all completed successfully.

At the point the second integration build runs, it already includes changes from the third commit, so it seems reasonable that teamcity wouldn't need to re-run the same build. Am I correct in my understanding?

1 comment
Comment actions Permalink


Option "Do not run new build if there is a suitable one" of a snapshot dependency regulates whether the builds can be "reused" from already built/running ones or not.

BTW, if only the "container" configuration is triggered, TeamCity will ensure both unit and integ builds form the same chain will have the same sources snapshot, so change 3 will not be included in to the build integ#2.

Best regards,

Yegor Yarko
Project Manager (TeamCity)
JetBrains, Inc
"Develop with pleasure!"


Please sign in to leave a comment.