You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Some tricks can be used to enhance build times on Travis and AppVeyor.
Use caches for homebrew
Use Ninja instead of MsBuild
Justification
Currently the various continuous integration pipelines take roughly 40 minutes to to finish in ideal condition (no unfinished builds, good internet). My last push took almost 2 hours and still building. This drags out the time required to integrate pull requests.
On Travis, the installation with homebrew is finished when the build on linux configs are already almost 90% complete. This results in the mac OS build always lagging about 10-15 minutes. This can be sped up by caching homebrew folders (example here). I am not sure if it is OK to do, as I am not a mac user, but I think it is worth considering.
On AppVeyor, the two configs are not run in parallel, and each takes about 20-30 minutes to complete. This can be sped up by using Ninja (see here). As a side effect, ninja also produces more readable output, with progress indicator (so you don't have to wonder how much longer it takes to compile).
The text was updated successfully, but these errors were encountered:
We're already using Ninja in place of MSBuild (and have to in order to support ccache, which is added in that PR). Homebrew caching is added by that PR too (we had it before on CircleCI, but not in the intial GitHub Actions port). Builds are already much faster than when that issue was written (we no longer get 40 minute builds unless the vcpkg cache expires (which is again fixed by that PR) - most are under 20 minutes now), and we should be able to get them even faster soon.
Enhancement Summary
Some tricks can be used to enhance build times on Travis and AppVeyor.
Justification
The text was updated successfully, but these errors were encountered: