Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Speed up CI builds #5622

Closed
uthidata opened this issue Aug 11, 2020 · 1 comment
Closed

Speed up CI builds #5622

uthidata opened this issue Aug 11, 2020 · 1 comment
Labels
CI Issues/pull requests regarding continuous integration(CI) system enhancement

Comments

@uthidata
Copy link
Contributor

Enhancement Summary

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).
@PhysSong PhysSong added the CI Issues/pull requests regarding continuous integration(CI) system label Oct 31, 2020
@sakertooth sakertooth linked a pull request Sep 19, 2023 that will close this issue
@sakertooth sakertooth removed a link to a pull request Sep 19, 2023
@sakertooth
Copy link
Contributor

Closing. From @DomClark:

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Issues/pull requests regarding continuous integration(CI) system enhancement
Projects
None yet
Development

No branches or pull requests

3 participants