Cuberite Forum
Split the CI work between Travis and CircleCI more equally? - Printable Version

+- Cuberite Forum (https://forum.cuberite.org)
+-- Forum: Cuberite (https://forum.cuberite.org/forum-4.html)
+--- Forum: Development (https://forum.cuberite.org/forum-13.html)
+--- Thread: Split the CI work between Travis and CircleCI more equally? (/thread-2566.html)



Split the CI work between Travis and CircleCI more equally? - xoft - 10-26-2016

Both Travis and CircleCI allow us to run CI tests. Currently CircleCI is used only for the stylecheck, while Travis does 4 builds for each commit. If we split the work better, we could have better CI roundtrip times. Say we move the gcc builds over to CircleCI, and let only the Travis' clang builds check the LuaAPI documentation status, then both CIs will run more or less the same amount of time. On the other hand, we would lose the ability to detect style issues very early, the entire CircleCI build will need to finish before the style violations would get reported back to Github. Would it still be worth the change?

To sum up, these are the checks currently done on Linux:
- BasicStyleCheck
- Build gcc and clang, debug and release
- Check LuaAPI documentation status (must build before checking)

Alternatively, perhaps there's yet another CI provider where we could offload some of the checks?


RE: Split the CI work between Travis and CircleCI more equally? - NiLSPACE - 10-26-2016

I thought the builds were run in parallel. Will it improve the buildtime by that much?


RE: Split the CI work between Travis and CircleCI more equally? - xoft - 10-26-2016

Travis does build in parallel, but from what I've heard, only "1.5" parallelism is used (whatever that means). Whenever I checked a running CI test, only one, occasionally two builds were running at parallel, the others were waiting. So I do assume splitting the builds would reduce the CI test time.
I've looked at GitHub's CI offer page, there are other providers, so perhaps we could use those for some of the builds.


RE: Split the CI work between Travis and CircleCI more equally? - NiLSPACE - 10-26-2016

Another CI would indeed be the perfect solution for this.


RE: Split the CI work between Travis and CircleCI more equally? - yangm97 - 11-08-2016

Take a look at GitLab CI https://about.gitlab.com/gitlab-ci/


RE: Split the CI work between Travis and CircleCI more equally? - xoft - 11-08-2016

GitLab CI only works with GitLab, we don't use that platform at all and I don't think it would work with GitHub.


RE: Split the CI work between Travis and CircleCI more equally? - yangm97 - 11-09-2016

We could mirror the github repo to a gitlab.com repo (or the other way around, don't quite remember). They offer free CI runners but you can also add your own servers to the mix to speed things up.

Regardless of the CI system, I could gladly offer some of my server resources for the cuberite project. It currently has spare CPU and RAM laying around.

Also, talking about builds, I see you guys dropped the macOS binaries. I have two macs somewhat 24/7 idling, if anyone has interest in mac builds just let me know.