Several times in my career, I have worked in a software group that determined that
a) We needed a build/test system
b) We should write our own
c) We can have a
Adam,
I noticed the Anthill response, and as an Anthiller, I have to say he was right. One of the things that Anthill does real well is let you define dependencies between projects. The open source version is Java focused, while the commercial tool is language agnostic despite the name.
It would allow you to define dependencies between projects (or parts of projects) based on criteria like status (latest successful build, or latest build approved by QA or...) and/or build number or branch. It something we're pretty proud of. At build time, build artifacts are shuttled around between servers, caches are kept for performance help, and all that good stuff.
As for the other criteria:
2) Anthill (like most build automation tools) will run your existing build scripts, usually without modification.
3) Tests (again your existing technologies) can be run at build time, or against an existing build.
4) Results are shown on the web (again typical of build automation tools)
5) Email is easy
6) We have over a dozens SCM integrations, and use SVN internally so that integration is naturally one of our best.
cheers,
eric