Files
xen/.cirrus.yml
Andrew Cooper fb0dd88d59 CI: Refresh CirrusCI configuration (FreeBSD 14.3, 15.0)
Update to latest 14.3.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
(cherry picked from commit 331f94d0bb)

cirrus-ci: introduce FreeBSD 15.0-RELEASE as "current" version

Switch the current version to 15.0-RELEASE.  Sadly the 16 snapshot images
are not working, hence use the FREEBSD_CURRENT variable as a placeholder
for 15.0 until the issues with FreeBSD 16.0 snapshot images is solved.

Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
(cherry picked from commit cfb767759b)
2026-01-27 11:53:13 +00:00

175 lines
4.7 KiB
YAML

# https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
freebsd_versions: &FREEBSD_VERSIONS
env:
FREEBSD_LEGACY: freebsd-13-5
FREEBSD_PRODUCTION: freebsd-14-3
FREEBSD_CURRENT: freebsd-15-0-amd64-ufs
# Build jobs
freebsd_template: &FREEBSD_ENV
environment:
APPEND_LIB: /usr/local/lib
APPEND_INCLUDES: /usr/local/include
CIRRUS_CLONE_DEPTH: 1
CIRRUS_LOG_TIMESTAMP: true
freebsd_template_latest: &FREEBSD_ENV_PRODUCTION
<< : *FREEBSD_VERSIONS
freebsd_instance:
image_family: $FREEBSD_PRODUCTION
<< : *FREEBSD_ENV
freebsd_configure_artifacts: &FREEBSD_CONFIGURE_ARTIFACTS
always:
rename_script:
- cp xen/.config xen-config
config_artifacts:
path: xen-config
type: text/plain
task:
name: 'FreeBSD: full build'
# It's not possible to use the matrix keyword in YAML aliases, as they
# keyword usage is restricted to task, docker_builder or pipe. Attempting to
# use a YAML alias with the duplicated keys doesn't work either. Use an env
# variable so the version can also be appended to the task alias.
<< : *FREEBSD_VERSIONS
env:
matrix:
FREEBSD_VERSION: $FREEBSD_LEGACY
FREEBSD_VERSION: $FREEBSD_PRODUCTION
FREEBSD_VERSION: $FREEBSD_CURRENT
alias: freebsd_full_$FREEBSD_VERSION
freebsd_instance:
image_family: $FREEBSD_VERSION
<< : *FREEBSD_ENV
install_script: pkg install -y seabios gmake ninja bash
pkgconf bison perl5
yajl lzo2 pixman argp-standalone
libxml2 glib git python3
configure_script:
- cc --version
- ./configure --with-system-seabios=/usr/local/share/seabios/bios.bin
- gmake -j`sysctl -n hw.ncpu` -C xen clang=y defconfig
<< : *FREEBSD_CONFIGURE_ARTIFACTS
build_script:
- gmake -j`sysctl -n hw.ncpu` clang=y
xen_artifacts:
path: xen/xen
type: application/octet-stream
debug_artifacts:
path: xen/xen-syms
type: application/octet-stream
task:
name: 'FreeBSD: randconfig build'
# It's not possible to use the matrix keyword in YAML aliases, as they
# keyword usage is restricted to task, docker_builder or pipe. Attempting to
# use a YAML alias with the duplicated `image_family` keys doesn't work
# either. Abstract the version numbers at least.
<< : *FREEBSD_VERSIONS
freebsd_instance:
matrix:
image_family: $FREEBSD_LEGACY
image_family: $FREEBSD_PRODUCTION
image_family: $FREEBSD_CURRENT
<< : *FREEBSD_ENV
install_script: pkg install -y gmake python3 bison
configure_script:
- cc --version
- gmake -j`sysctl -n hw.ncpu` -C xen clang=y \
KCONFIG_ALLCONFIG=tools/kconfig/allrandom.config randconfig
<< : *FREEBSD_CONFIGURE_ARTIFACTS
build_script:
- gmake -j`sysctl -n hw.ncpu` build-xen clang=y
task:
name: 'FreeBSD: XTF build'
alias: xtf
<< : *FREEBSD_ENV_PRODUCTION
clone_script:
- pkg install -y git
- git clone --depth 1 https://xenbits.xen.org/git-http/xtf.git
install_script: pkg install -y gmake
build_script:
- cd xtf
- cc --version
- git rev-parse HEAD
- gmake -j`sysctl -n hw.ncpu` LLVM=y
xtf_artifacts:
path: xtf/tests/selftest/test-*-selftest
type: application/octet-stream
# Test jobs
task:
name: 'FreeBSD: XTF selftest'
<< : *FREEBSD_ENV_PRODUCTION
env:
matrix:
FREEBSD_BUILD: $FREEBSD_LEGACY
FREEBSD_BUILD: $FREEBSD_PRODUCTION
FREEBSD_BUILD: $FREEBSD_CURRENT
depends_on:
- freebsd_full_$FREEBSD_BUILD
- xtf
install_script: pkg install -y qemu-nox11 expect
env:
matrix:
XTF_ARCH: hvm32
XTF_ARCH: hvm32pae
XTF_ARCH: hvm32pse
XTF_ARCH: hvm64
XTF_ARCH: pv64
fetch_script:
- fetch https://api.cirrus-ci.com/v1/artifact/build/$CIRRUS_BUILD_ID/xtf/xtf.zip
- fetch https://api.cirrus-ci.com/v1/artifact/build/$CIRRUS_BUILD_ID/freebsd_full_$FREEBSD_BUILD/xen.zip
- unzip xtf.zip
- unzip xen.zip
test_script: |
case "$XTF_ARCH" in \
*hvm*) \
XEN_EXTRA_CMD="dom0=pvh dom0-iommu=none" \
;; \
esac
export TEST_CMD="qemu-system-x86_64 -kernel xen/xen -initrd xtf/tests/selftest/test-${XTF_ARCH}-selftest \
-append \"loglvl=all console=com1 noreboot console_timestamps=boot dom0=verbose ${XEN_EXTRA_CMD}\" \
-m 512 -nographic -monitor none -serial stdio"
export TEST_LOG="serial-${FREEBSD_BUILD}-${XTF_ARCH}.txt"
export PASSED="Test result: SUCCESS"
export TEST_TIMEOUT=120
./automation/scripts/console.exp | sed 's/\r\+$//'
always:
serial_artifacts:
path: serial-*.txt
type: text/plain