mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
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>
176 lines
4.8 KiB
YAML
176 lines
4.8 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
|
|
json-c lzo2 pixman argp-standalone
|
|
libxml2 glib git python3 libinotify
|
|
|
|
configure_script:
|
|
- cc --version
|
|
- ./configure --with-system-seabios=/usr/local/share/seabios/bios.bin
|
|
--with-extra-qemuu-configure-args="--extra-ldflags=-L${APPEND_LIB} --extra-cflags=-I${APPEND_INCLUDES}"
|
|
- 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 2>&1 | sed 's/\r\+$//'
|
|
|
|
always:
|
|
serial_artifacts:
|
|
path: serial-*.txt
|
|
type: text/plain
|