This post just to inform about our internal processes.
We using Jenkins - continuous integration tool more of 2 years now. We use it to
- compile commits in GITs as only they made
- Run Valentina DB tests on each OS, 32 and 64 bit
- Run client-server tests of each OS, 32 and 64 bit
- Run Valentina Studio tests on each OS.
- Run ADK Examples tests
- BUILD all our products for 4 OS and upload them to FTP.
All Valentina products for each release this is 98 archives today, with total size 1.8 Gb!
To build them we need to run different compilers on each OS: Xcode, netbeans, visual. We need run different installer-makers, etc.
Especial challenge is V4RB -- because this plugin contains inside 8 different DLLs from different OS. So we need at first build that DLLs, then copy them to single machine, build plugin, then use it on different OS to produce final archives of V4RB.
Up to now we did this BUILD job on the same physical computer -- Mac Mini Server, which runs yet 2 VirtualBox for Win and Linux machines. This have take 6-7 hours in average.
During last 3 weeks we have improve this. Now we can do builds on different physical computers parallel. So we have go less of 2 hours using 6 physical computers, that run 16 virtual machines in total.