ClangBuiltLinux / continuous-integration

Continuous integration of latest Linux kernel with daily build of Clang & LLVM tools
https://travis-ci.com/ClangBuiltLinux/continuous-integration
Apache License 2.0
44 stars 18 forks source link

continuous-integration: Add allyesconfig #143

Closed tapaswenipathak closed 4 years ago

tapaswenipathak commented 5 years ago

I mailed Travis about increasing the limit.

tl;dr this should close https://github.com/ClangBuiltLinux/continuous-integration/issues/27.

nathanchance commented 5 years ago

allyesconfig is a build target, it should be called by mako_reactor allyesconfig here: https://github.com/ClangBuiltLinux/continuous-integration/blob/ded712131712186b766273eea1761ff18495217e/driver.sh#L250

arm64 (and maybe x86_64) on linux-next will be the only targets that build successfully with it though.

tpimh commented 4 years ago

Any progress on this one? There has been changes to the build system, this should be rebased.

nathanchance commented 4 years ago

I still do not believe this will be a good addition to our matrix. Our latest build took almost 9 hours to complete because more and more files get built with each kernel release. Adding allyesconfig to this will make it take significantly longer because we can only have three builds going at a time. For that matter, we only get 180 minutes maximum per job and an x86 allyesconfig build on a four core machine (Packet's t1.small.x86) with LLVM 10 on Ubuntu 18.04 takes around 5 hours and requires at least 8GB of disk space for the kernel source and resulting files (we only get two cores and 18GB of disk space). I don't think Travis will be able to handle this.

tpimh commented 4 years ago

Maybe changes should be made only to driver.sh and not affect our travis matrix. I would suggest introducing CONFIG variable which can be specified like REPO. If unspecified, the same old set of defconfigs is used, if set to "allyesconfig", builds allyesconfig. So it would be extremely easy to test locally by just running ./driver.sh CONFIG=allyesconfig and waiting for a while.

nathanchance commented 4 years ago

Yes that would be okay. We could also come up with a list of common configs that tend to stress issues in LLVM/Clang and build with those (some immediate ones are CONFIG_RANDOMIZE_BASE and CONFIG_KASAN).