Since I have to support a constantly/rapidly changing set of branches, each supporting a couple of platforms, I want to be able to have only one matrix per branch job to do all builds/tests per branch. To achieve this efficiently, I need to be able to configure the matrix job to
1. build main targets for all supported platforms
2. If 1 succeeds, run unit test for all supported platforms
3. If 2 succeeds, build additional test tools for more extensive tests
4. If 3 succeeds, run tests for all supported platforms
For this I need to be able to define different touchstones for each of the steps.