From 6869aed2cf712e26f1bb82be99b7d6633fccc45a Mon Sep 17 00:00:00 2001 From: Alex Richardson Date: Wed, 28 Oct 2020 11:54:09 +0000 Subject: [PATCH] Speed up Cirrus CI by using CROSS_TOOLCHAIN Installing the llvm11 package instead of bootstrapping it from the source tree reduces the build time by about 20 minutes. The last freebsd/freebsd build that was tested (r366629) took 1h 21m 22s, whereas my GitHub fork with this .cirrus.yml took 58m 6s. We could probably further reduce time by using images that have LLVM pre-installed: the pkg install step took 4 minutes 30s. Since the bootstrap toolchain is still tested by Jenkins, this should not reduce test coverage of the CI testing. Reviewed By: emaste Differential Revision: https://reviews.freebsd.org/D26747 --- .cirrus.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index c2e0c5f09169..fff87e6f6880 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -1,7 +1,9 @@ # $FreeBSD$ freebsd_instance: - image: freebsd-12-1-release-amd64 + # image: freebsd-12-1-stable-amd64 + # We need a newer image to install llvm11 + image_family: freebsd-12-1-snap cpu: 8 memory: 24G @@ -12,14 +14,14 @@ task: only_if: $CIRRUS_BRANCH != 'svn_head' timeout_in: 120m install_script: - - pkg install -y qemu-devel uefi-edk2-qemu-x86_64 + - pkg install -y qemu-devel uefi-edk2-qemu-x86_64 llvm11 setup_user_script: - pw useradd user - mkdir -p /usr/obj/$(pwd -P) - chown user:user /usr/obj/$(pwd -P) script: - - su user -c "make -j$(sysctl -n hw.ncpu) WITHOUT_TOOLCHAIN=yes buildworld buildkernel" + - su user -c "make -j$(sysctl -n hw.ncpu) CROSS_TOOLCHAIN=llvm11 WITHOUT_TOOLCHAIN=yes buildworld buildkernel" package_script: - - su user -c "make WITHOUT_TOOLCHAIN=yes PKG_FORMAT=tar packages" + - su user -c "make CROSS_TOOLCHAIN=llvm11 WITHOUT_TOOLCHAIN=yes PKG_FORMAT=tar packages" test_script: - sh tools/boot/ci-qemu-test.sh