At my company, we're currently deploying a continuous integration based build system called AnthillPro, and we're having some disagreement as to best practices.
With our old build process, when we wanted to release, we first created a tag using 'cvs rtag'. We then checked that tag out, built it, tested it, and (optionally) shipped it. However, Anthill has no built in support for this process, so to do it that way will require more work. The way Anthill works is it periodically checks for changes in the CVS repository, and if it detects one, it does a fresh checkout and rebuilds the system from scratch. If the build succeeds, it creates a tag using 'cvs tag' and a generated build number, and publishes all of the build artifacts (the documentation, the installer, etc...) to an internal website for testing. If the testing goes well, we can ship it. The big point of contention right now is whether or not it's ok to create the build artifacts before creating the tag. Some developers contend that all releases should be built from an existing tag. They argue that we should retag the tag that Anthill creates using 'cvs rtag', and rebuild the product using that rtag to ensure that what we ship is exactly what we tagged. If that means we have to do a little extra work, then so be it. On the other hand, some developers say that since Anthill is doing a fresh checkout, all of the files that it checks out will have revisions in CVS. Therefore, if Anthill creates a tag from it's working directory using 'cvs tag', the build artifacts created from the build can be perfectly reproduced by checking out that tag. The debate is getting pretty heated (over what seems to be a minor detail). Any opinion or guidance on this issue would be much appreciated. Thanks, Ben Rady _______________________________________________ info-cvs mailing list info-cvs@nongnu.org http://lists.nongnu.org/mailman/listinfo/info-cvs