As with any time machine, there are some tricky issues:
- a greater build number does not mean more recent changes.
- the last build in the history may not depict the state of the latest sources.
Caution: the builds in the history are sorted by the start time, not changes.
It allows you to ensure that a build will start only after the one it depends from is run and finished. Moreover, TeamCity ensures the builds use sources corresponding to the same moment.
Here is how it works:
- on triggering a build (either manual or by one of the triggers), the whole graph of builds linked with "sources dependencies" is retrieved, all the builds are put into the queue;
- when the first build within the graph is ready to start, all the VCS roots of builds in the graph are checked for changes, found VCS revisions are set to the builds;
- the builds are started. Each build can only start if all the builds it depends upon are finished.
This same-sources dependency is configured in the "Dependencies" section of the Build Configuration settings under "Dependencies by Sources".
- display the depend-upon builds in the build results, in the build queue
- do not trigger a build when it has no pending changes (optionally)
- deal with failing depend-upon build (suggestions?)
Improved Change Log
Recently Failed Tests
3.x release searched builds only by project, build configuration name, agent, tags and build numbers
Now builds also can be found by build status text, change committer and comment, VCS label, name of the triggerer. In addition you can use wildcards (?, *) and more. The search is powered by Lucene now.
- in the Run Custom Build dialog you can now add or redefine any build property. The modified properties will be shown on "Build Parameters" tab of the build results;
- on pinning/unpinning a build you can now leave a comment;
- plugin packaged under .BuildServer can not have agent part that will be automatically transferred to agents. Packaging documentation;
- the requirement on synchronized clocks between TeamCity and Subversion servers has been lessened: now it only applies to the servers hosting externals-connected repositories.