Urbancode has announced that version 3.6 of its AnthillPro introduces Developer Pre-flight Builds. Pre-flight Builds let developers run a "test build" of their changes without committing the changes to source. At the push of a button, Pre-flight Builds integrate the developer's changes with a snapshot of the latest source code, and then run a build in the build environment -- not on the developer's machine. If a Pre-flight Build fails, the developer is immediately notified and the changes are not committed to source.
Because Pre-flight Builds run in the actual build environment, the individual developer gains access to software and hardware that would otherwise be inaccessible when running builds on their individual machines. Pre-flighted builds enable developers to parallelize test runs to reduce the time it takes to run the tests. This allows for greater assurance that the build will pass once the developer's changes are integrated.
While Pre-flight Builds do reduce the risk associated with broken builds, they are by no means a panacea. "The reality is that Pre-flight Builds can actually mask problems," said Urbancode President Maciej Zawadzki. "Heavy reliance on the Pre-flight Build to reduce broken builds can mask inappropriate workflows; hide integration problems; create longer and monolithic builds; and introduce bad development practices. Because of these factors, the Pre-flight Build is not a replacement for Continuous Integration as has been suggested among the vendor community."
AnthillPro 3.6 includes a wide range of new features, incliuding:
- Detailed Review of historical Test Results. AnthillPro allows a user to review the history of builds over a time range and then generate detailed reports. These trending and drill-down test reports allow product managers quick views into which areas of the application are having troubles and which areas are stabilizing and adding tests.
- Flexible Resource locking. In addition to existing named locks that can restrict access to certain shared resources, 3.6 introduces dynamic locks that can be created based on runtime workflow characteristics. This allows more fine-grained control over resource management.
- Mercurial integration. Users can create AnthillPro projects to use a Mercurial repository. The integration allows users to check out code, build, tag, and more.