CI is only exercising the qcow2 'auto' tests currently. As a result we get no exposure of changes which cause regressions in other block format drivers.
This adds new CI jobs for each block format, that will run the target 'make check-block-$FORMAT'. The jobs are separate so that we have the ability to make each format gating or not, depending on their level of reliability. The 'centos' image is used to run the I/O tests since several tests have an implicit dependency on x86_64-softmmu, and thus break with other architecture targets. The 'centos' build job is the only one that creates the x86_64-softmmu target in CI. Ideally this target portability in I/O tests would be fixed to avoid this limitation. There is currently an undiagnosed failure of job 185 with the qcow2 when run in CI that is marked to be skipped, reported at: https://gitlab.com/qemu-project/qemu/-/issues/3270 The jobs 147 with NBD and 045 with raw are also marked skipped as the qemu.qmp python code triggers deprecation warnings for sendmsg. This can be removed when the next release of python-qemu-qmp is made per: https://gitlab.com/qemu-project/python-qemu-qmp/-/issues/36 Signed-off-by: Daniel P. Berrangé <[email protected]> --- .gitlab-ci.d/buildtest.yml | 102 +++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml index 4b20429c7f..2e143737a3 100644 --- a/.gitlab-ci.d/buildtest.yml +++ b/.gitlab-ci.d/buildtest.yml @@ -174,6 +174,108 @@ build-system-centos: x86_64-softmmu rx-softmmu sh4-softmmu MAKE_CHECK_ARGS: check-build + +# NB: block-XXX jobs use 'centos' since that is the build +# job that provides the x86_64-softmmu. Some I/O tests +# are currently buggy and blindly assume characteristics +# of x86 (such as PCIe) causing failures with other arches + +block-luks: + extends: .native_test_job_template + needs: + - job: build-system-centos + artifacts: true + variables: + IMAGE: centos9 + MAKE_CHECK_ARGS: check-block-luks + +block-nbd: + extends: .native_test_job_template + needs: + - job: build-system-centos + artifacts: true + variables: + IMAGE: centos9 + MAKE_CHECK_ARGS: check-block-nbd + # https://gitlab.com/qemu-project/python-qemu-qmp/-/issues/36 + QEMU_TEST_IO_SKIP: nbd:147 + +block-parallels: + extends: .native_test_job_template + needs: + - job: build-system-centos + artifacts: true + variables: + IMAGE: centos9 + MAKE_CHECK_ARGS: check-block-parallels + +block-qcow2: + extends: .native_test_job_template + needs: + - job: build-system-centos + artifacts: true + variables: + IMAGE: centos9 + MAKE_CHECK_ARGS: check-block-qcow2 + # https://gitlab.com/qemu-project/qemu/-/issues/3270 + QEMU_TEST_IO_SKIP: qcow2:185 + +block-qed: + extends: .native_test_job_template + needs: + - job: build-system-centos + artifacts: true + variables: + IMAGE: centos9 + MAKE_CHECK_ARGS: check-block-qed + +block-raw: + extends: .native_test_job_template + needs: + - job: build-system-centos + artifacts: true + variables: + IMAGE: centos9 + MAKE_CHECK_ARGS: check-block-raw + # https://gitlab.com/qemu-project/python-qemu-qmp/-/issues/36 + QEMU_TEST_IO_SKIP: raw:045 + +block-vdi: + extends: .native_test_job_template + needs: + - job: build-system-centos + artifacts: true + variables: + IMAGE: centos9 + MAKE_CHECK_ARGS: check-block-vdi + +block-vhdx: + extends: .native_test_job_template + needs: + - job: build-system-centos + artifacts: true + variables: + IMAGE: centos9 + MAKE_CHECK_ARGS: check-block-vhdx + +block-vmdk: + extends: .native_test_job_template + needs: + - job: build-system-centos + artifacts: true + variables: + IMAGE: centos9 + MAKE_CHECK_ARGS: check-block-vmdk + +block-vpc: + extends: .native_test_job_template + needs: + - job: build-system-centos + artifacts: true + variables: + IMAGE: centos9 + MAKE_CHECK_ARGS: check-block-vpc + # Previous QEMU release. Used for cross-version migration tests. build-previous-qemu: extends: .native_build_job_template -- 2.53.0
