This also perfectly demonstrates our new "continuous stability" policy - now we really can publish a bugfix release on the next day.
Why next day? Currently each night is spent on thorough testing of "stable" branch:
- Default test sequence conststs of 1020 storage-independent tests (Core, etc.) + 1550 storage-dependent ones on 10 different database engines (so efficiently there are 1020 + 10 * 1550 tests) running on each commit. This sequence exposes about 95-99% of issues immediately.
- Nightly test sequence is running all storage-dependent tests in 6 different configurations (overriding default mappings with 3 different inheritance mapping strategies and 2 different TypeId mapping policies, details are here), so efficiently there are 1020 + 60 * 1550 = 94K tests. And they really take several hours to run on our testing farm consisting of 4 dedicated, but moderate PCs. A joke around this: when a PC gets old, it is plugged into matrix as an Agent (our testing PCs are named AgentSmith, AgentJohnson, AgentThompson, etc.).
Viva Mercurial! Viva TeamCity!
It looks like a professional solution!
ReplyDelete