Files
xen/.cirrus.yml
T
Andrew Cooper 1223375d8b CI: Fix builds following qemu-xen update
A recent update to qemu-xen has bumped the build requirements, with Python 3.8
being the new baseline but also needing the 'ensurepip' and 'tomllib/tomli'
packages.

 * Ubuntu/Debian package 'ensurepip' separately, but it can be obtained by
   installing the python3-venv package.

 * 'tomllib' was added to the python standard library in Python 3.11, but
   previously it was a separate package named 'tomli'.

In terms of changes required to build QEMU:

 * Ubuntu 24.04 (Noble) has Python 3.12 so only needs python3-venv

 * Ubuntu 22.04 (Jammy) has Python 3.10 but does have a python3-tomli package
   that QEMU is happy with.

 * FreeBSD has Python 3.9, but Python 3.11 is available.

In terms of exclusions:

 * Ubuntu 20.04 (Focal) has Python 3.8, but lacks any kind of tomli package.

 * Fedora 29 (Python 3.7), OpenSUSE Leap 15.6 (Python 3.6), and Ubuntu
   18.04/Bionic (Python 3.6) are now too old.

Detecting tomllib/tomli is more than can fit in build's one-liner, so break it
out into a proper script.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
Acked-by: Roger Pau Monné <roger.pau@citrix.com>
2024-10-04 19:27:40 +01:00

35 lines
965 B
YAML

# https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
freebsd_template: &FREEBSD_TEMPLATE
environment:
APPEND_LIB: /usr/local/lib
APPEND_INCLUDES: /usr/local/include
install_script: pkg install -y seabios gmake ninja bash
pkgconf python bison perl5
yajl lzo2 pixman argp-standalone
libxml2 glib git python311
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
task:
name: 'FreeBSD 13'
freebsd_instance:
image_family: freebsd-13-3
<< : *FREEBSD_TEMPLATE
task:
name: 'FreeBSD 14'
freebsd_instance:
image_family: freebsd-14-1
<< : *FREEBSD_TEMPLATE
task:
name: 'FreeBSD 15'
freebsd_instance:
image_family: freebsd-15-0-snap
<< : *FREEBSD_TEMPLATE