Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I wouldn't get too caught up in what a CI system is supposed to do or not do. Instead I would focus on the problem you are trying to solve. It sounds like that problem is to facilitate development on multiple platforms. You can use the concept of Continuous Integration and add to it successfully address the issue. I know, because I've done it in the past.</p> <p>I implemented a build system for code that needed to compile and test successfully on 4 different platforms <em>(nt, wince, linux-arm, linux-x86)</em>. The CI server would:</p> <ul> <li>Used a linux and winnt build server compilation <em>(and cross compilation)</em></li> <li>The compiled tests and supporting libs would then be copied to the appropriate devices and an automated test run executed.</li> <li>After the test suite was completed the log would be copied back, <em>(or it was written to a network mounted fs)</em></li> <li>If the test suite was successful we would tag the source, and package the libs and executables.</li> </ul> <p>This same platform was reused for developer verification before commits. Developers would run a partial build and test <em>(only updated source would be recompiled and those tests rerun)</em>. The CI would execute a full build <em>(from scratch)</em>.</p> <p>Our build were pretty fast because we had a proper DAG for build dependencies. This allowed for concurrent compilation within a platform build. Each platform build was also concurrent. As a result partial builds took a few seconds, full builds took ~30 minutes. Our build servers were quite beefy <em>(optimized for fast compiles)</em> and the codebase was of moderate size <em>(I don't remember the stats)</em>.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload