summaryrefslogtreecommitdiffstats
path: root/scripts/buildall-qemu
AgeCommit message (Collapse)Author
2020-04-24buildall-qemu: automate build testing for qemu MACHINEsTrevor Gamblin
buildall-qemu simplifies the process of build testing an upgraded or patched recipe by cycling through the build steps for each available qemu target, with desired LIBC specified by the user as an option (defaulting to both glibc and musl if no option is provided). While building, a log file with the name "<recipe>-buildall.log" is written, containing a PASS or FAIL line upon completion of the build for each architecture. For now, qemu targets are not selectable (i.e. the recipe is built for all qemu targets found in meta/conf/machine), but this functionality can be added in the future along with other useful options. The log file created by buildall-qemu also includes some basic system info (e.g. build start time, hostname, host OS, host kernel). Since it is not guaranteed that tools such as lsb_release will be available on the host (it isn't by default on my Fedora machine), this information is collected manually. Additionally, the previous run's log is retained for comparison by renaming it in the format <recipe>-buildall.log.old once a new set of builds is triggered for the same recipe. We've seen multiple variations of this concept in use as one-liners and as bash functions in dotfiles, so it seemed appropriate to submit it in script form to oe-core for everyone to use. Sample log output: BUILDALL-QEMU LOG FOR aspell START TIME: 2020-02-11_19:50:02 HOSTNAME: yow-tgamblin-fedora2 HOST OS: Fedora 31 (Server Edition) HOST KERNEL: 5.4.10-200.fc31.x86_64 =============== BUILD RESULTS: [glibc] PASS: qemuarmv5 PASS: qemux86 PASS: qemuppc PASS: qemumips64 PASS: qemux86-64 PASS: qemumips PASS: qemuarm PASS: qemuarm64 PASS: qemuriscv64 [musl] PASS: qemuarmv5 PASS: qemux86 PASS: qemuppc PASS: qemumips64 PASS: qemux86-64 FAIL: qemumips FAIL: qemuarm FAIL: qemuarm64 FAIL: qemuriscv64 =============== PASSED: 14 FAILED: 4 (From OE-Core rev: ee64b7db6651df4ed419e3d2649b4fb2f2faf830) Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>