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
This commit is contained in:
Alex Richardson 2020-10-28 11:54:09 +00:00
parent 433f33d285
commit 6869aed2cf

View File

@ -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