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

Update buildroot to 2019.02.3 LTS #187

Closed martell closed 5 years ago

martell commented 5 years ago

RISCV needs a newer buildroot #70 This is probably a good chance to put this change in it's own PR and ensure there are no ci regressions. I kept it in line continuing to use the LTS version. See how the tests go. :)

tpimh commented 5 years ago

Nice! I wanted to update buildroot, but was to lazy to build all images with it. RISC-V support is a good reason for an update. Hopefully, there are no regressions.

nathanchance commented 5 years ago

This script is not run as part of our CI. The rebuild.sh script is run locally, which I can do later if you want. To test for regressions, use the build-all.sh script locally if you don't want to wait for Travis.

nathanchance commented 5 years ago

I am going to rebuild and test the images locally now, I'll either report back later tonight or first thing tomorrow morning.

nickdesaulniers commented 5 years ago

interesting, seems there's also some kind of 2019.05.01 builds, too. Wonder how they do their versioning...

nathanchance commented 5 years ago

Tentatively, the ARMv5 and ARMv6 builds regressed with this update: https://gist.github.com/088f6057f3bc032acdfad530ef7990eb

I am doing a full before/after right now though.

nathanchance commented 5 years ago

Before rebuild:

Running 'ARCH=arm32_v5 ./driver.sh'... Successful in 0m 57s
Running 'ARCH=arm32_v6 ./driver.sh'... Successful in 1m 6s
Running 'ARCH=arm32_v7 LD=ld.lld ./driver.sh'... Successful in 0m 55s
Running 'ARCH=arm64 LD=ld.lld ./driver.sh'... Successful in 1m 18s
Running 'ARCH=ppc32 ./driver.sh'... Successful in 0m 37s
Running 'ARCH=ppc64le ./driver.sh'... Successful in 1m 2s
Running 'ARCH=x86_64 LD=ld.lld ./driver.sh'... Successful in 0m 46s
Running 'ARCH=arm32_v5 REPO=linux-next ./driver.sh'... Successful in 0m 55s
Running 'ARCH=arm32_v6 REPO=linux-next ./driver.sh'... Successful in 0m 55s
Running 'ARCH=arm32_v7 LD=ld.lld REPO=linux-next ./driver.sh'... Successful in 0m 55s
Running 'ARCH=arm64 LD=ld.lld REPO=linux-next ./driver.sh'... Successful in 1m 20s
Running 'ARCH=ppc32 REPO=linux-next ./driver.sh'... Failed in 2m 20s
Running 'ARCH=ppc64le REPO=linux-next ./driver.sh'... Successful in 1m 1s
Running 'ARCH=x86_64 LD=ld.lld REPO=linux-next ./driver.sh'... Successful in 0m 46s
Running 'ARCH=arm32_v7 REPO=4.19 ./driver.sh'... Successful in 1m 26s
Running 'ARCH=arm64 REPO=4.19 ./driver.sh'... Successful in 1m 33s
Running 'ARCH=ppc64le REPO=4.19 ./driver.sh'... Successful in 1m 0s
Running 'ARCH=x86_64 LD=ld.lld REPO=4.19 ./driver.sh'... Successful in 0m 45s
Running 'ARCH=arm32_v7 REPO=4.14 ./driver.sh'... Successful in 1m 19s
Running 'ARCH=arm64 REPO=4.14 ./driver.sh'... Successful in 1m 11s
Running 'ARCH=ppc64le REPO=4.14 ./driver.sh'... Successful in 1m 46s
Running 'ARCH=x86_64 LD=ld.lld REPO=4.14 ./driver.sh'... Successful in 1m 47s
Running 'ARCH=arm32_v7 REPO=4.9 ./driver.sh'... Successful in 2m 5s
Running 'ARCH=arm64 REPO=4.9 ./driver.sh'... Successful in 1m 46s
Running 'ARCH=x86_64 LD=ld.lld REPO=4.9 ./driver.sh'... Successful in 1m 24s
Running 'ARCH=arm64 REPO=4.4 ./driver.sh'... Successful in 1m 46s
Running 'ARCH=x86_64 LD=ld.lld REPO=4.4 ./driver.sh'... Successful in 1m 18s
Running 'ARCH=arm64 REPO=common-4.9 ./driver.sh'... Successful in 2m 8s
Running 'ARCH=arm64 REPO=common-4.14 ./driver.sh'... Successful in 3m 2s
Running 'ARCH=arm64 REPO=common-4.19 ./driver.sh'... Successful in 3m 11s
Running 'ARCH=x86_64 LD=ld.lld REPO=common-4.9 ./driver.sh'... Successful in 1m 59s
Running 'ARCH=x86_64 LD=ld.lld REPO=common-4.14 ./driver.sh'... Successful in 2m 50s
Running 'ARCH=x86_64 LD=ld.lld REPO=common-4.19 ./driver.sh'... Successful in 3m 8s

After rebuild:

Running 'ARCH=arm32_v5 ./driver.sh'... Failed in 2m 55s
Running 'ARCH=arm32_v6 ./driver.sh'... Failed in 2m 29s
Running 'ARCH=arm32_v7 LD=ld.lld ./driver.sh'... Successful in 0m 56s
Running 'ARCH=arm64 LD=ld.lld ./driver.sh'... Successful in 1m 19s
Running 'ARCH=ppc32 ./driver.sh'... Successful in 0m 37s
Running 'ARCH=ppc64le ./driver.sh'... Successful in 1m 3s
Running 'ARCH=x86_64 LD=ld.lld ./driver.sh'... Successful in 0m 47s
Running 'ARCH=arm32_v5 REPO=linux-next ./driver.sh'... Failed in 2m 34s
Running 'ARCH=arm32_v6 REPO=linux-next ./driver.sh'... Failed in 2m 29s
Running 'ARCH=arm32_v7 LD=ld.lld REPO=linux-next ./driver.sh'... Successful in 0m 55s
Running 'ARCH=arm64 LD=ld.lld REPO=linux-next ./driver.sh'... Successful in 1m 20s
Running 'ARCH=ppc32 REPO=linux-next ./driver.sh'... Failed in 2m 20s
Running 'ARCH=ppc64le REPO=linux-next ./driver.sh'... Successful in 1m 1s
Running 'ARCH=x86_64 LD=ld.lld REPO=linux-next ./driver.sh'... Successful in 0m 46s
Running 'ARCH=arm32_v7 REPO=4.19 ./driver.sh'... Successful in 1m 24s
Running 'ARCH=arm64 REPO=4.19 ./driver.sh'... Successful in 1m 32s
Running 'ARCH=ppc64le REPO=4.19 ./driver.sh'... Successful in 0m 59s
Running 'ARCH=x86_64 LD=ld.lld REPO=4.19 ./driver.sh'... Successful in 0m 45s
Running 'ARCH=arm32_v7 REPO=4.14 ./driver.sh'... Successful in 1m 17s
Running 'ARCH=arm64 REPO=4.14 ./driver.sh'... Successful in 1m 12s
Running 'ARCH=ppc64le REPO=4.14 ./driver.sh'... Successful in 0m 57s
Running 'ARCH=x86_64 LD=ld.lld REPO=4.14 ./driver.sh'... Successful in 0m 48s
Running 'ARCH=arm32_v7 REPO=4.9 ./driver.sh'... Successful in 1m 6s
Running 'ARCH=arm64 REPO=4.9 ./driver.sh'... Successful in 0m 47s
Running 'ARCH=x86_64 LD=ld.lld REPO=4.9 ./driver.sh'... Successful in 0m 29s
Running 'ARCH=arm64 REPO=4.4 ./driver.sh'... Successful in 1m 6s
Running 'ARCH=x86_64 LD=ld.lld REPO=4.4 ./driver.sh'... Successful in 0m 28s
Running 'ARCH=arm64 REPO=common-4.9 ./driver.sh'... Successful in 1m 13s
Running 'ARCH=arm64 REPO=common-4.14 ./driver.sh'... Successful in 2m 2s
Running 'ARCH=arm64 REPO=common-4.19 ./driver.sh'... Successful in 2m 4s
Running 'ARCH=x86_64 LD=ld.lld REPO=common-4.9 ./driver.sh'... Successful in 0m 48s
Running 'ARCH=x86_64 LD=ld.lld REPO=common-4.14 ./driver.sh'... Successful in 1m 40s
Running 'ARCH=x86_64 LD=ld.lld REPO=common-4.19 ./driver.sh'... Successful in 1m 29s

Just the ARMv5 and ARMv6 builds regressed (I am bisecting the ppc32 failure on -next, it is new as of next-20190708).

I'll test the latest Buildroot stable release as well as the current master LTS branch to see if this will be fixed then.

nathanchance commented 5 years ago

Sigh, this is a problem that has existed since #101 because of https://github.com/ClangBuiltLinux/continuous-integration/pull/101#issuecomment-447205229 :(

diff --git a/buildroot/arm.config b/buildroot/arm.config
index b1d2a22..be6ee29 100644
--- a/buildroot/arm.config
+++ b/buildroot/arm.config
@@ -5,7 +5,7 @@ BR2_BINUTILS_VERSION_2_31_X=y
 BR2_GCC_VERSION_8_X=y
 BR2_TARGET_GENERIC_ROOT_PASSWD="root"
 BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
-BR2_ROOTFS_OVERLAY="../overlay-poweroff"
+BR2_ROOTFS_OVERLAY="../overlay-reboot"
 BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
 BR2_PACKAGE_BASH=y
 BR2_TARGET_ROOTFS_CPIO=y

This resolves it. I'll rebuild all of the images, do another set of tests, then push it so the rebuild can be merged as part of this.

nathanchance commented 5 years ago

https://github.com/nathanchance/continuous-integration/commits/update-buildroot

Everything works fine now.

nathanchance commented 5 years ago

@martell let me know if you want me to push my branch as a new pull or if you want to push it here.

Once that is done, I think this should be good to go if nobody objects.

nickdesaulniers commented 5 years ago

@nathanchance thanks for the additional fixes. Just issue a new PR carrying @martell 's commit plus yours on top, and close this on in favor of that.

nathanchance commented 5 years ago

Done: #189