Files
xen/automation/gitlab-ci/test.yaml
T
Shawn Anastasio 0400946d53 automation: Add smoke test for ppc64le
Add an initial smoke test that boots xen on a ppc64/pseries machine and
checks for a magic string. Based on the riscv smoke test.

Eventually the powernv9 (POWER9 bare metal) machine type will want to be
tested as well, but for now we only boot on pseries.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Jiamei Xie <jiamei.xie@arm.com>
2023-07-27 11:24:19 +01:00

467 lines
12 KiB
YAML

.test-jobs-common:
stage: test
image: registry.gitlab.com/xen-project/xen/${CONTAINER}
except:
- master
- smoke
- /^coverity-tested\/.*/
- /^stable-.*/
.arm64-test-needs: &arm64-test-needs
- alpine-3.12-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.12-rootfs-export
- kernel-6.1.19-export
.qemu-arm64:
extends: .test-jobs-common
variables:
CONTAINER: debian:unstable-arm64v8
LOGFILE: qemu-smoke-arm64.log
artifacts:
paths:
- smoke.serial
- '*.log'
when: always
tags:
- arm64
.qemu-arm32:
extends: .test-jobs-common
variables:
CONTAINER: debian:unstable-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:stretch
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.12-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:stretch
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
- mv ../build-each-commit-gcc.log .
artifacts:
paths:
- '*.log'
when: always
needs: []
tags:
- x86_64
xilinx-smoke-dom0less-arm64-gcc:
extends: .xilinx-arm64
script:
- ./automation/scripts/xilinx-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
needs:
- *arm64-test-needs
- alpine-3.12-gcc-arm64
xilinx-smoke-dom0less-arm64-gcc-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.12-gcc-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.12-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.12-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.12-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.12-gcc-debug
adl-pci-hvm-x86-64-gcc-debug:
extends: .adl-x86-64
variables:
PCIDEV_INTR: "MSI"
script:
- ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
needs:
- *x86-64-test-needs
- alpine-3.12-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.12-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.12-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.12-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.12-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.12-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.12-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.12-gcc-debug-arm64
qemu-smoke-dom0less-arm64-gcc-staticmem:
extends: .qemu-arm64
script:
- ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-mem 2>&1 | tee ${LOGFILE}
needs:
- *arm64-test-needs
- alpine-3.12-gcc-arm64-staticmem
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.12-gcc-debug-arm64-staticmem
qemu-smoke-dom0less-arm64-gcc-staticheap:
extends: .qemu-arm64
script:
- ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE}
needs:
- *arm64-test-needs
- alpine-3.12-gcc-arm64
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.12-gcc-debug-arm64
qemu-smoke-dom0less-arm64-gcc-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.12-gcc-arm64-static-shared-mem
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.12-gcc-debug-arm64-static-shared-mem
qemu-smoke-dom0less-arm64-gcc-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.12-gcc-arm64-boot-cpupools
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.12-gcc-debug-arm64-boot-cpupools
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.12-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.12-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-unstable-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-unstable-gcc-arm32-debug
qemu-smoke-dom0less-arm32-gcc-staticmem:
extends: .qemu-arm32
script:
- ./automation/scripts/qemu-smoke-dom0less-arm32.sh static-mem 2>&1 | tee ${LOGFILE}
needs:
- *arm32-test-needs
- debian-unstable-gcc-arm32-staticmem
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-unstable-gcc-arm32-debug-staticmem
qemu-smoke-dom0less-arm32-gcc-gzip:
extends: .qemu-arm32
script:
- ./automation/scripts/qemu-smoke-dom0less-arm32.sh gzip 2>&1 | tee ${LOGFILE}
needs:
- *arm32-test-needs
- debian-unstable-gcc-arm32
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-unstable-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-unstable-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-unstable-gcc-arm32-debug
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.12-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-unstable-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-unstable-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-pseries-gcc:
extends: .qemu-ppc64le
script:
- ./automation/scripts/qemu-smoke-ppc64le.sh pseries-5.2 2>&1 | tee ${LOGFILE}
needs:
- debian-bullseye-gcc-ppc64le-debug