We are trying to use TC but we have some difficulties to transfer our workflow from our in-house build system to TC. Please consider following scenario. We have three builds to run to complete the cycle, Win32, Win64 and Linux 64. They are pretty same, so I will focus on Win32.
Win32 build consists of following operations:
-Checkout files (git)
-Build VS main solution (using incredibuild)
-Build VS testers solution (using incredibuild)
-Run all testers
-Create installation package (installshield)
-Instal above package
-Run all tests again on installed product
-Copy to network location
These are main steps, we have more than 100 steps in our build. My difficulty created by lack of knowledge of TC procedures and best practices. We want to be able to do following:
1) Create a configuration (?) for all testers, adding testers as build steps. AFAIK, this will prevent me from re-running failed tester. Correct? So, what I have to do? Add each tester as new configuration?
2) I want to run some testers concurrently on local machine, but some tests depend on results of previous testers so they have to run sequentially. How do I arrange that?
3) First step in build gets input from user, which branch to checkout, if build fails and I re-run it, since this configuration depends on check-out config it will ask for branches once again. Can I prevent it?
4) And the last but not least, I want to run all above builds (Win32/64/Lin64) in parallel on three different machines, but each build step should be executed locally on build dedicated machine. How do I achieve that?
Thanks in advance!