Files
xen/automation/gitlab-ci/test.yaml
T
Andrew Cooper 2ff6d17bc3 CI: Use a debug build of Xen for the Xilinx HW tests
... like the other hardware tests.  This gets more value out of the testing.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
2024-05-31 22:03:30 +01:00

436 lines
11 KiB
YAML

.test-jobs-common:
stage: test
image: registry.gitlab.com/xen-project/xen/${CONTAINER}
.arm64-test-needs: &arm64-test-needs
- alpine-3.18-arm64-rootfs-export
- kernel-5.19-arm64-export
- qemu-system-aarch64-6.0.0-arm64-export
.arm32-test-needs: &arm32-test-needs
- qemu-system-aarch64-6.0.0-arm32-export
.x86-64-test-needs: &x86-64-test-needs
- alpine-3.18-rootfs-export
- kernel-6.1.19-export
.qemu-arm64:
extends: .test-jobs-common
variables:
CONTAINER: debian:bookworm-arm64v8
LOGFILE: qemu-smoke-arm64.log
artifacts:
paths:
- smoke.serial
- '*.log'
when: always
tags:
- arm64
.qemu-arm32:
extends: .test-jobs-common
variables:
CONTAINER: debian:bookworm-arm64v8
LOGFILE: qemu-smoke-arm32.log
artifacts:
paths:
- smoke.serial
- '*.log'
when: always
tags:
- arm64
.qemu-x86-64:
extends: .test-jobs-common
variables:
CONTAINER: debian:bookworm
LOGFILE: qemu-smoke-x86-64.log
artifacts:
paths:
- smoke.serial
- '*.log'
when: always
tags:
- x86_64
.qemu-riscv64:
extends: .test-jobs-common
variables:
CONTAINER: archlinux:current-riscv64
LOGFILE: qemu-smoke-riscv64.log
artifacts:
paths:
- smoke.serial
- '*.log'
when: always
tags:
- x86_64
.qemu-ppc64le:
extends: .test-jobs-common
variables:
CONTAINER: debian:bullseye-ppc64le
LOGFILE: qemu-smoke-ppc64le.log
artifacts:
paths:
- smoke.serial
- '*.log'
when: always
tags:
- x86_64
.xilinx-arm64:
extends: .test-jobs-common
variables:
CONTAINER: ubuntu:xenial-xilinx
LOGFILE: qemu-smoke-xilinx.log
artifacts:
paths:
- smoke.serial
- '*.log'
- '*.dtb'
when: always
only:
variables:
- $XILINX_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
tags:
- xilinx
.adl-x86-64:
extends: .test-jobs-common
variables:
# the test controller runs on RPi4
CONTAINER: alpine:3.18-arm64v8
LOGFILE: smoke-test.log
PCIDEV: "03:00.0"
PCIDEV_INTR: "MSI-X"
CONSOLE_OPTS: "console=com1 com1=115200,8n1"
artifacts:
paths:
- smoke.serial
- '*.log'
when: always
only:
variables:
- $QUBES_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
tags:
- qubes-hw2
.zen3p-x86-64:
# it's really similar to the above
extends: .adl-x86-64
variables:
PCIDEV: "01:00.0"
PCIDEV_INTR: "MSI-X"
CONSOLE_OPTS: "console=com1 com1=115200,8n1,pci,msi"
tags:
- qubes-hw11
# Test jobs
build-each-commit-gcc:
extends: .test-jobs-common
variables:
CONTAINER: debian:bookworm
XEN_TARGET_ARCH: x86_64
CC: gcc
script:
- BASE=${BASE_SHA:-${CI_COMMIT_BEFORE_SHA}} TIP=${TIP_SHA:-${CI_COMMIT_SHA}} ./automation/gitlab-ci/build-each-commit.sh 2>&1 | tee build-each-commit-gcc.log
artifacts:
paths:
- '*.log'
when: always
needs: []
tags:
- x86_64
xilinx-smoke-dom0less-arm64-gcc-debug:
extends: .xilinx-arm64
script:
- ./automation/scripts/xilinx-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
needs:
- *arm64-test-needs
- alpine-3.18-gcc-debug-arm64
xilinx-smoke-dom0less-arm64-gcc-debug-gem-passthrough:
extends: .xilinx-arm64
script:
- ./automation/scripts/xilinx-smoke-dom0less-arm64.sh gem-passthrough 2>&1 | tee ${LOGFILE}
needs:
- *arm64-test-needs
- alpine-3.18-gcc-debug-arm64
adl-smoke-x86-64-gcc-debug:
extends: .adl-x86-64
script:
- ./automation/scripts/qubes-x86-64.sh 2>&1 | tee ${LOGFILE}
needs:
- *x86-64-test-needs
- alpine-3.18-gcc-debug
adl-smoke-x86-64-dom0pvh-gcc-debug:
extends: .adl-x86-64
script:
- ./automation/scripts/qubes-x86-64.sh dom0pvh 2>&1 | tee ${LOGFILE}
needs:
- *x86-64-test-needs
- alpine-3.18-gcc-debug
adl-suspend-x86-64-gcc-debug:
extends: .adl-x86-64
script:
- ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
needs:
- *x86-64-test-needs
- alpine-3.18-gcc-debug
adl-pci-pv-x86-64-gcc-debug:
extends: .adl-x86-64
script:
- ./automation/scripts/qubes-x86-64.sh pci-pv 2>&1 | tee ${LOGFILE}
needs:
- *x86-64-test-needs
- alpine-3.18-gcc-debug
adl-pci-hvm-x86-64-gcc-debug:
extends: .adl-x86-64
script:
- ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
needs:
- *x86-64-test-needs
- alpine-3.18-gcc-debug
zen3p-smoke-x86-64-gcc-debug:
extends: .zen3p-x86-64
script:
- ./automation/scripts/qubes-x86-64.sh 2>&1 | tee ${LOGFILE}
needs:
- *x86-64-test-needs
- alpine-3.18-gcc-debug
zen3p-smoke-x86-64-dom0pvh-gcc-debug:
extends: .zen3p-x86-64
script:
- ./automation/scripts/qubes-x86-64.sh dom0pvh 2>&1 | tee ${LOGFILE}
needs:
- *x86-64-test-needs
- alpine-3.18-gcc-debug
zen3p-pci-hvm-x86-64-gcc-debug:
extends: .zen3p-x86-64
script:
- ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
needs:
- *x86-64-test-needs
- alpine-3.18-gcc-debug
qemu-smoke-dom0-arm64-gcc:
extends: .qemu-arm64
script:
- ./automation/scripts/qemu-smoke-dom0-arm64.sh 2>&1 | tee ${LOGFILE}
needs:
- *arm64-test-needs
- alpine-3.18-gcc-arm64
qemu-smoke-dom0-arm64-gcc-debug:
extends: .qemu-arm64
script:
- ./automation/scripts/qemu-smoke-dom0-arm64.sh 2>&1 | tee ${LOGFILE}
needs:
- *arm64-test-needs
- alpine-3.18-gcc-debug-arm64
qemu-smoke-dom0less-arm64-gcc:
extends: .qemu-arm64
script:
- ./automation/scripts/qemu-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
needs:
- *arm64-test-needs
- alpine-3.18-gcc-arm64
qemu-smoke-dom0less-arm64-gcc-debug:
extends: .qemu-arm64
script:
- ./automation/scripts/qemu-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
needs:
- *arm64-test-needs
- alpine-3.18-gcc-debug-arm64
qemu-smoke-dom0less-arm64-gcc-debug-gicv3:
extends: .qemu-arm64
script:
- ./automation/scripts/qemu-smoke-dom0less-arm64.sh gicv3 2>&1 | tee ${LOGFILE}
needs:
- *arm64-test-needs
- alpine-3.18-gcc-debug-arm64
qemu-smoke-dom0less-arm64-gcc-debug-staticmem:
extends: .qemu-arm64
script:
- ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-mem 2>&1 | tee ${LOGFILE}
needs:
- *arm64-test-needs
- alpine-3.18-gcc-debug-arm64-staticmem
qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
extends: .qemu-arm64
script:
- ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE}
needs:
- *arm64-test-needs
- alpine-3.18-gcc-debug-arm64
qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem:
extends: .qemu-arm64
script:
- ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-shared-mem 2>&1 | tee ${LOGFILE}
needs:
- *arm64-test-needs
- alpine-3.18-gcc-debug-arm64-static-shared-mem
qemu-smoke-dom0less-arm64-gcc-debug-boot-cpupools:
extends: .qemu-arm64
script:
- ./automation/scripts/qemu-smoke-dom0less-arm64.sh boot-cpupools 2>&1 | tee ${LOGFILE}
needs:
- *arm64-test-needs
- alpine-3.18-gcc-debug-arm64-boot-cpupools
qemu-smoke-dom0less-arm64-gcc-debug-earlyprintk:
extends: .qemu-arm64
script:
- ./automation/scripts/qemu-smoke-dom0less-arm64.sh earlyprintk 2>&1 | tee ${LOGFILE}
needs:
- *arm64-test-needs
- alpine-3.18-gcc-debug-arm64-earlyprintk
qemu-xtf-dom0less-arm64-gcc-hyp-xen-version:
extends: .qemu-arm64
script:
- ./automation/scripts/qemu-xtf-dom0less-arm64.sh hyp-xen-version 2>&1 | tee ${LOGFILE}
needs:
- alpine-3.18-gcc-arm64
- qemu-system-aarch64-6.0.0-arm64-export
qemu-xtf-dom0less-arm64-gcc-debug-hyp-xen-version:
extends: .qemu-arm64
script:
- ./automation/scripts/qemu-xtf-dom0less-arm64.sh hyp-xen-version 2>&1 | tee ${LOGFILE}
needs:
- alpine-3.18-gcc-debug-arm64
- qemu-system-aarch64-6.0.0-arm64-export
qemu-smoke-dom0-arm32-gcc:
extends: .qemu-arm32
script:
- ./automation/scripts/qemu-smoke-dom0-arm32.sh 2>&1 | tee ${LOGFILE}
needs:
- *arm32-test-needs
- yocto-qemuarm
qemu-smoke-dom0less-arm32-gcc:
extends: .qemu-arm32
script:
- ./automation/scripts/qemu-smoke-dom0less-arm32.sh 2>&1 | tee ${LOGFILE}
needs:
- *arm32-test-needs
- debian-bookworm-gcc-arm32
qemu-smoke-dom0less-arm32-gcc-debug:
extends: .qemu-arm32
script:
- ./automation/scripts/qemu-smoke-dom0less-arm32.sh 2>&1 | tee ${LOGFILE}
needs:
- *arm32-test-needs
- debian-bookworm-gcc-arm32-debug
qemu-smoke-dom0less-arm32-gcc-debug-staticmem:
extends: .qemu-arm32
script:
- ./automation/scripts/qemu-smoke-dom0less-arm32.sh static-mem 2>&1 | tee ${LOGFILE}
needs:
- *arm32-test-needs
- debian-bookworm-gcc-arm32-debug-staticmem
qemu-smoke-dom0less-arm32-gcc-debug-gzip:
extends: .qemu-arm32
script:
- ./automation/scripts/qemu-smoke-dom0less-arm32.sh gzip 2>&1 | tee ${LOGFILE}
needs:
- *arm32-test-needs
- debian-bookworm-gcc-arm32-debug
qemu-smoke-dom0less-arm32-gcc-without-dom0:
extends: .qemu-arm32
script:
- ./automation/scripts/qemu-smoke-dom0less-arm32.sh without-dom0 2>&1 | tee ${LOGFILE}
needs:
- *arm32-test-needs
- debian-bookworm-gcc-arm32
qemu-smoke-dom0less-arm32-gcc-debug-without-dom0:
extends: .qemu-arm32
script:
- ./automation/scripts/qemu-smoke-dom0less-arm32.sh without-dom0 2>&1 | tee ${LOGFILE}
needs:
- *arm32-test-needs
- debian-bookworm-gcc-arm32-debug
qemu-smoke-dom0less-arm32-gcc-debug-earlyprintk:
extends: .qemu-arm32
script:
- ./automation/scripts/qemu-smoke-dom0less-arm32.sh earlyprintk 2>&1 | tee ${LOGFILE}
needs:
- *arm32-test-needs
- debian-bookworm-gcc-arm32-debug-earlyprintk
qemu-alpine-x86_64-gcc:
extends: .qemu-x86-64
script:
- ./automation/scripts/qemu-alpine-x86_64.sh 2>&1 | tee ${LOGFILE}
needs:
- *x86-64-test-needs
- alpine-3.18-gcc
qemu-smoke-x86-64-gcc:
extends: .qemu-x86-64
script:
- ./automation/scripts/qemu-smoke-x86-64.sh pv 2>&1 | tee ${LOGFILE}
needs:
- debian-stretch-gcc-debug
qemu-smoke-x86-64-clang:
extends: .qemu-x86-64
script:
- ./automation/scripts/qemu-smoke-x86-64.sh pv 2>&1 | tee ${LOGFILE}
needs:
- debian-bookworm-clang-debug
qemu-smoke-x86-64-gcc-pvh:
extends: .qemu-x86-64
script:
- ./automation/scripts/qemu-smoke-x86-64.sh pvh 2>&1 | tee ${LOGFILE}
needs:
- debian-stretch-gcc-debug
qemu-smoke-x86-64-clang-pvh:
extends: .qemu-x86-64
script:
- ./automation/scripts/qemu-smoke-x86-64.sh pvh 2>&1 | tee ${LOGFILE}
needs:
- debian-bookworm-clang-debug
qemu-smoke-riscv64-gcc:
extends: .qemu-riscv64
script:
- ./automation/scripts/qemu-smoke-riscv64.sh 2>&1 | tee ${LOGFILE}
needs:
- archlinux-current-gcc-riscv64-debug
qemu-smoke-ppc64le-powernv9-gcc:
extends: .qemu-ppc64le
script:
- ./automation/scripts/qemu-smoke-ppc64le.sh powernv9 2>&1 | tee ${LOGFILE}
needs:
- qemu-system-ppc64-8.1.0-ppc64-export
- debian-bullseye-gcc-ppc64le-debug