I actually was able to run several instances of a single matrix job concurrently. I manually modified the xml configuration file and set the flag concurrentBuild to true in the main matrix project as well as in all the projects configurations.
I then executed 2 run of the matrix project and they were executed at the same time.
Two things I noticed:
1- The concurrentBuild flag is resetted when I modify the configuration from the Jenkins UI (probably normal)
2- The workspace files are created under the main project name (missing the @2 for example). Basically means that if my project is "Test" and the matrix is Debug & Release, when more than one instance of the job starts, the main project files will be located in workspace/Test & workspace/Test@2, ... But the children job will always be under workspace/Test/, meaning workspace/Test/Debug & workspace/Test/Debug@2, etc.
I don't see any reason why not to fix both issues and have that in Jenkins.
Comments?
I have several matrix jobs set with one configuration as touch-stone build. This works very well, first the parent job starts, then the touch-stone build and then all remaining jobs. They run in parallel - if there are enough free executors available. And different matrx job also run in parallel - again depending on how much executors are available.
So I'm confused, what is the actual problem? Did you ever set up a sample configuration?