Skip to content

Commit

Permalink
automation/cirrus-ci: introduce FreeBSD randconfig builds
Browse files Browse the repository at this point in the history
Add a new randconfig job for each FreeBSD version.  This requires some
rework of the template so common parts can be shared between the full and
the randconfig builds.  Such randconfig builds are relevant because FreeBSD
is the only tested system that has a full non-GNU toolchain.

While there replace the usage of the python311 package with python3, which is
already using 3.11, and remove the install of the plain python package for full
builds.

Signed-off-by: Roger Pau Monné <[email protected]>
Reviewed-by: Andrew Cooper <[email protected]>
Release-Acked-by: Oleksii Kurochko<[email protected]>
  • Loading branch information
royger committed Jan 17, 2025
1 parent 850a263 commit c3f5d1b
Showing 1 changed file with 51 additions and 16 deletions.
67 changes: 51 additions & 16 deletions .cirrus.yml
Original file line number Diff line number Diff line change
@@ -1,34 +1,69 @@
# https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
freebsd_template: &FREEBSD_TEMPLATE
freebsd_13: &FREEBSD_13
freebsd_instance:
image_family: freebsd-13-4
freebsd_14: &FREEBSD_14
freebsd_instance:
image_family: freebsd-14-2
freebsd_15: &FREEBSD_15
freebsd_instance:
image_family: freebsd-15-0-snap

freebsd_template: &FREEBSD_ENV
environment:
APPEND_LIB: /usr/local/lib
APPEND_INCLUDES: /usr/local/include

freebsd_full_build_template: &FREEBSD_FULL_BUILD_TEMPLATE
<< : *FREEBSD_ENV

install_script: pkg install -y seabios gmake ninja bash
pkgconf python bison perl5
pkgconf bison perl5
yajl lzo2 pixman argp-standalone
libxml2 glib git python311
libxml2 glib git python3

build_script:
- cc --version
- export PYTHON=/usr/local/bin/python3.11
- ./configure --with-system-seabios=/usr/local/share/seabios/bios.bin
- gmake -j`sysctl -n hw.ncpu` clang=y

freebsd_randconfig_template: &FREEBSD_RANDCONFIG_TEMPLATE
<< : *FREEBSD_ENV

install_script: pkg install -y gmake python3 bison

build_script:
- cc --version
- gmake -j`sysctl -n hw.ncpu` -C xen clang=y \
KCONFIG_ALLCONFIG=tools/kconfig/allrandom.config randconfig
- gmake -j`sysctl -n hw.ncpu` build-xen clang=y

task:
name: 'FreeBSD 13'
freebsd_instance:
image_family: freebsd-13-4
<< : *FREEBSD_TEMPLATE
name: 'FreeBSD 13: full build'
<< : *FREEBSD_13
<< : *FREEBSD_FULL_BUILD_TEMPLATE

task:
name: 'FreeBSD 14'
freebsd_instance:
image_family: freebsd-14-2
<< : *FREEBSD_TEMPLATE
name: 'FreeBSD 14: full build'
<< : *FREEBSD_14
<< : *FREEBSD_FULL_BUILD_TEMPLATE

task:
name: 'FreeBSD 15'
freebsd_instance:
image_family: freebsd-15-0-snap
<< : *FREEBSD_TEMPLATE
name: 'FreeBSD 15: full build'
<< : *FREEBSD_15
<< : *FREEBSD_FULL_BUILD_TEMPLATE

task:
name: 'FreeBSD 13: randconfig'
<< : *FREEBSD_13
<< : *FREEBSD_RANDCONFIG_TEMPLATE

task:
name: 'FreeBSD 14: randconfig'
<< : *FREEBSD_14
<< : *FREEBSD_RANDCONFIG_TEMPLATE

task:
name: 'FreeBSD 15: randconfig'
<< : *FREEBSD_15
<< : *FREEBSD_RANDCONFIG_TEMPLATE

0 comments on commit c3f5d1b

Please sign in to comment.