Topic: Upgrade Semaphore CI instance to 4x boxes
Proposal type: Hardware [ ] , Software [ ] , Other [ X ] : CI services
Description: The current state of the CI tools is incredibly painful. For a developer feedback perspective the lag times on getting results is incredibly slow. At the time of writing Travis is running 5 hours behind activity. This has spill over affects into other ArduPilot associated repos like ArduPilot/mavlink which while a very fast task is stuck behind all other scheduled Travis builds.
I’d like to see us shift more work on to Semaphore CI as it is much faster at a given task then Travis is. Semaphore CI is completing 3 Linux board builds in 8 minutes, while Travis takes 14 minutes to do 3 Linux board builds.
At the moment we only have 2 boxes from Semaphore CI on the free plan. I’d like to propose moving this to 4 boxes, (which per Semaphore docs would only cost us the price of 2 boxes as an open source project). This would allow us to offload more work onto Seamphore from Travis to bring the entire CI time frame back down to a more reasonable value.
The other alternative that doesn’t require money would be to look into CircleCI which offers 4x instances to open source projects. Circle CI used to be much slower then Semaphore, but has apparently sped up with their 2.0 release. My inclination is to stick with Semaphore given the known build times and easier setup to increase the number of builds, and having 3 CI tools starts to add a fundamental overhead.
Planned amount $$ (USD): $747 $996 annually EDIT: Updated total to reflect NFP status.
Estimated time for completion: 1 day