From e7c8463c0e27f6b52f901612f1fb1ac969cad0a1 Mon Sep 17 00:00:00 2001 From: Tomasz Zawadzki Date: Fri, 21 Feb 2025 13:48:56 +0100 Subject: [PATCH 1/3] common: add configs for jobs executing autorun.sh This patch indiscriminately adds configuration and execution of jobs that match runs from last year. Please note that names match the old ones, but effects of each SPDK_TEST_* flags do not have to match just the name. Often times some tests were lumped together for simplicity, optimizing test time or just to place it anywhere if nothing else matched. Neither does 'vm' or 'phy' mean all (or even most) of the job _requires_ a specific machine. Meanwhile it can be good starting point, please note that the best indicator of not missing anything crucial is "run_test" summary. Signed-off-by: Tomasz Zawadzki --- .github/workflows/per_patch.yml | 22 ++++ .../autobuild-external-vm-autotest.conf | 3 + .../autorun_configs/blobfs-phy-autotest.conf | 5 + .../autorun_configs/crypto-phy-autotest.conf | 9 ++ .../autorun_configs/freebsd-vm-autotest.conf | 7 ++ .../iscsi-uring-vm-autotest.conf | 5 + .../autorun_configs/iscsi-vm-autotest.conf | 6 + .../autorun_configs/lvol-vm-autotest.conf | 6 + .../nvme-cmb-pmg-vm-autotest.conf | 6 + .../autorun_configs/nvme-phy-autotest.conf | 11 ++ .../autorun_configs/nvme-vm-autotest.conf | 9 ++ .../autorun_configs/nvmf-phy-autotest.conf | 7 ++ .../nvmf-tcp-phy-autotest.conf | 9 ++ .../nvmf-tcp-uring-vm-autotest.conf | 8 ++ .../autorun_configs/nvmf-tcp-vm-autotest.conf | 9 ++ .../autorun_configs/rocky9-vm-autotest.conf | 8 ++ .../short-fuzz-phy-autotest.conf | 6 + .../autorun_configs/ubuntu22-vm-autotest.conf | 7 ++ .../autorun_configs/ubuntu24-vg-autotest.conf | 7 ++ .../vfio-user-phy-autotest.conf | 6 + .../vhost-initiator-vm-autotest.conf | 5 + .../autorun_configs/vhost-phy-autotest.conf | 5 + .../autorun_configs/zns-vm-autotest.conf | 5 + cijoe/workflows/autorun_in_qemu.yaml | 110 ++++++++++++++++++ 24 files changed, 281 insertions(+) create mode 100644 cijoe/configs/autorun_configs/autobuild-external-vm-autotest.conf create mode 100644 cijoe/configs/autorun_configs/blobfs-phy-autotest.conf create mode 100644 cijoe/configs/autorun_configs/crypto-phy-autotest.conf create mode 100644 cijoe/configs/autorun_configs/freebsd-vm-autotest.conf create mode 100644 cijoe/configs/autorun_configs/iscsi-uring-vm-autotest.conf create mode 100644 cijoe/configs/autorun_configs/iscsi-vm-autotest.conf create mode 100644 cijoe/configs/autorun_configs/lvol-vm-autotest.conf create mode 100644 cijoe/configs/autorun_configs/nvme-cmb-pmg-vm-autotest.conf create mode 100644 cijoe/configs/autorun_configs/nvme-phy-autotest.conf create mode 100644 cijoe/configs/autorun_configs/nvme-vm-autotest.conf create mode 100644 cijoe/configs/autorun_configs/nvmf-phy-autotest.conf create mode 100644 cijoe/configs/autorun_configs/nvmf-tcp-phy-autotest.conf create mode 100644 cijoe/configs/autorun_configs/nvmf-tcp-uring-vm-autotest.conf create mode 100644 cijoe/configs/autorun_configs/nvmf-tcp-vm-autotest.conf create mode 100644 cijoe/configs/autorun_configs/rocky9-vm-autotest.conf create mode 100644 cijoe/configs/autorun_configs/short-fuzz-phy-autotest.conf create mode 100644 cijoe/configs/autorun_configs/ubuntu22-vm-autotest.conf create mode 100644 cijoe/configs/autorun_configs/ubuntu24-vg-autotest.conf create mode 100644 cijoe/configs/autorun_configs/vfio-user-phy-autotest.conf create mode 100644 cijoe/configs/autorun_configs/vhost-initiator-vm-autotest.conf create mode 100644 cijoe/configs/autorun_configs/vhost-phy-autotest.conf create mode 100644 cijoe/configs/autorun_configs/zns-vm-autotest.conf diff --git a/.github/workflows/per_patch.yml b/.github/workflows/per_patch.yml index 3a78f30..93403dc 100644 --- a/.github/workflows/per_patch.yml +++ b/.github/workflows/per_patch.yml @@ -35,6 +35,28 @@ jobs: workflow: - autorun_unittest - autorun_nvme + - autobuild-external-vm-autotest + - blobfs-phy-autotest + - crypto-phy-autotest + - freebsd-vm-autotest + - iscsi-uring-vm-autotest + - iscsi-vm-autotest + - lvol-vm-autotest + - nvme-cmb-pmr-vm-autotest + - nvme-phy-autotest + - nvme-vm-autotest + - nvmf-phy-autotest + - nvmf-tcp-phy-autotest + - nvmf-tcp-uring-vm-autotest + - nvmf-tcp-vm-autotest + - rocky9-vm-autotest + - short-fuzz-phy-autotest + - ubuntu22-vm-autotest + - ubuntu24-vg-autotest + - vfio-user-phy-autotest + - vhost-initiator-vm-autotest + - vhost-phy-autotest + - zns-vm-autotest container: image: ghcr.io/refenv/cijoe-docker:v0.9.50 options: --device=/dev/kvm diff --git a/cijoe/configs/autorun_configs/autobuild-external-vm-autotest.conf b/cijoe/configs/autorun_configs/autobuild-external-vm-autotest.conf new file mode 100644 index 0000000..e32114c --- /dev/null +++ b/cijoe/configs/autorun_configs/autobuild-external-vm-autotest.conf @@ -0,0 +1,3 @@ +# Matches autobuild-external-vg-autotest +SPDK_TEST_AUTOBUILD=ext +EXTERNAL_MAKE_HUGEMEM=2048 diff --git a/cijoe/configs/autorun_configs/blobfs-phy-autotest.conf b/cijoe/configs/autorun_configs/blobfs-phy-autotest.conf new file mode 100644 index 0000000..ea0d325 --- /dev/null +++ b/cijoe/configs/autorun_configs/blobfs-phy-autotest.conf @@ -0,0 +1,5 @@ +# Matches BlobFS-phy-autotest +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_BLOBFS=1 +SPDK_RUN_ASAN=1 +SPDK_RUN_UBSAN=1 diff --git a/cijoe/configs/autorun_configs/crypto-phy-autotest.conf b/cijoe/configs/autorun_configs/crypto-phy-autotest.conf new file mode 100644 index 0000000..7820f55 --- /dev/null +++ b/cijoe/configs/autorun_configs/crypto-phy-autotest.conf @@ -0,0 +1,9 @@ +# Matches crypto-phy-autotest +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_BLOCKDEV=1 +SPDK_TEST_ISAL=1 +SPDK_TEST_CRYPTO=1 +SPDK_TEST_REDUCE=1 +SPDK_TEST_VBDEV_COMPRESS=1 +SPDK_RUN_UBSAN=1 +SPDK_TEST_ACCEL=1 diff --git a/cijoe/configs/autorun_configs/freebsd-vm-autotest.conf b/cijoe/configs/autorun_configs/freebsd-vm-autotest.conf new file mode 100644 index 0000000..3eb1530 --- /dev/null +++ b/cijoe/configs/autorun_configs/freebsd-vm-autotest.conf @@ -0,0 +1,7 @@ +# Matches freebsd-vg-autotest +SPDK_TEST_UNITTEST=1 +SPDK_RUN_VALGRIND=0 +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_NVME=1 +SPDK_TEST_BLOCKDEV=1 +SPDK_TEST_RELEASE_BUILD=1 diff --git a/cijoe/configs/autorun_configs/iscsi-uring-vm-autotest.conf b/cijoe/configs/autorun_configs/iscsi-uring-vm-autotest.conf new file mode 100644 index 0000000..326143f --- /dev/null +++ b/cijoe/configs/autorun_configs/iscsi-uring-vm-autotest.conf @@ -0,0 +1,5 @@ +# Matches iscsi-uring-vg-autotest +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_ISCSI=1 +SPDK_TEST_URING=1 +SPDK_RUN_UBSAN=1 diff --git a/cijoe/configs/autorun_configs/iscsi-vm-autotest.conf b/cijoe/configs/autorun_configs/iscsi-vm-autotest.conf new file mode 100644 index 0000000..88732e6 --- /dev/null +++ b/cijoe/configs/autorun_configs/iscsi-vm-autotest.conf @@ -0,0 +1,6 @@ +# Matches iscsi-vg-autotest +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_ISCSI_INITIATOR=1 +SPDK_TEST_ISCSI=1 +SPDK_TEST_RBD=1 +SPDK_RUN_UBSAN=1 diff --git a/cijoe/configs/autorun_configs/lvol-vm-autotest.conf b/cijoe/configs/autorun_configs/lvol-vm-autotest.conf new file mode 100644 index 0000000..5487fd1 --- /dev/null +++ b/cijoe/configs/autorun_configs/lvol-vm-autotest.conf @@ -0,0 +1,6 @@ +# Matches lvol-vg-autotest +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_LVOL=1 +SPDK_RUN_ASAN=1 +SPDK_RUN_UBSAN=1 +SPDK_TEST_ACCEL=1 diff --git a/cijoe/configs/autorun_configs/nvme-cmb-pmg-vm-autotest.conf b/cijoe/configs/autorun_configs/nvme-cmb-pmg-vm-autotest.conf new file mode 100644 index 0000000..0c8202e --- /dev/null +++ b/cijoe/configs/autorun_configs/nvme-cmb-pmg-vm-autotest.conf @@ -0,0 +1,6 @@ +# Matches nvme-cmb-pmr-vg-autotest +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_NVME=1 +SPDK_TEST_NVME_CMB=1 +SPDK_TEST_NVME_PMR=1 +SPDK_TEST_NO_MULTI=1 diff --git a/cijoe/configs/autorun_configs/nvme-phy-autotest.conf b/cijoe/configs/autorun_configs/nvme-phy-autotest.conf new file mode 100644 index 0000000..31f1206 --- /dev/null +++ b/cijoe/configs/autorun_configs/nvme-phy-autotest.conf @@ -0,0 +1,11 @@ +# Matches nvme-phy-autotest +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_IOAT=1 +SPDK_TEST_NVME=1 +SPDK_TEST_NVME_CLI=1 +SPDK_TEST_OCF=1 +SPDK_RUN_UBSAN=1 +SPDK_TEST_NVME_CUSE=1 +SPDK_TEST_SCHEDULER=1 +SPDK_TEST_ACCEL=1 +SPDK_TEST_NVME_INTERRUPT=1 diff --git a/cijoe/configs/autorun_configs/nvme-vm-autotest.conf b/cijoe/configs/autorun_configs/nvme-vm-autotest.conf new file mode 100644 index 0000000..67825dc --- /dev/null +++ b/cijoe/configs/autorun_configs/nvme-vm-autotest.conf @@ -0,0 +1,9 @@ +# Matches nvme-vg-autotest +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_NVME=1 +SPDK_TEST_FTL=1 +SPDK_TEST_ISAL=1 +SPDK_RUN_ASAN=1 +SPDK_RUN_UBSAN=1 +SPDK_TEST_XNVME=1 +SPDK_TEST_NVME_FDP=1 diff --git a/cijoe/configs/autorun_configs/nvmf-phy-autotest.conf b/cijoe/configs/autorun_configs/nvmf-phy-autotest.conf new file mode 100644 index 0000000..9bf9aee --- /dev/null +++ b/cijoe/configs/autorun_configs/nvmf-phy-autotest.conf @@ -0,0 +1,7 @@ +# Matches nvmf-phy-autotest +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_NVMF=1 +SPDK_TEST_NVME_CLI=1 +SPDK_TEST_NVMF_NICS=mlx5 +SPDK_RUN_UBSAN=1 +NET_TYPE=phy diff --git a/cijoe/configs/autorun_configs/nvmf-tcp-phy-autotest.conf b/cijoe/configs/autorun_configs/nvmf-tcp-phy-autotest.conf new file mode 100644 index 0000000..512a8a4 --- /dev/null +++ b/cijoe/configs/autorun_configs/nvmf-tcp-phy-autotest.conf @@ -0,0 +1,9 @@ +# Matches nvmf-tcp-phy-autotest +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_NVMF=1 +SPDK_TEST_NVME_CLI=1 +SPDK_TEST_NVMF_TRANSPORT=tcp +SPDK_TEST_NVMF_NICS=e810 +SPDK_TEST_VFIOUSER=1 +SPDK_RUN_UBSAN=1 +NET_TYPE=phy diff --git a/cijoe/configs/autorun_configs/nvmf-tcp-uring-vm-autotest.conf b/cijoe/configs/autorun_configs/nvmf-tcp-uring-vm-autotest.conf new file mode 100644 index 0000000..1df045c --- /dev/null +++ b/cijoe/configs/autorun_configs/nvmf-tcp-uring-vm-autotest.conf @@ -0,0 +1,8 @@ +# Matches nvmf-tcp-uring-vg-autotest +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_NVMF=1 +SPDK_TEST_NVMF_TRANSPORT=tcp +SPDK_TEST_URING=1 +SPDK_TEST_USDT=1 +SPDK_RUN_UBSAN=1 +NET_TYPE=virt diff --git a/cijoe/configs/autorun_configs/nvmf-tcp-vm-autotest.conf b/cijoe/configs/autorun_configs/nvmf-tcp-vm-autotest.conf new file mode 100644 index 0000000..dfe6ba5 --- /dev/null +++ b/cijoe/configs/autorun_configs/nvmf-tcp-vm-autotest.conf @@ -0,0 +1,9 @@ +# Matches nvmf-tcp-vg-autotest +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_NVMF=1 +SPDK_TEST_NVMF_TRANSPORT=tcp +SPDK_TEST_USDT=1 +SPDK_TEST_NVMF_MDNS=1 +SPDK_RUN_UBSAN=1 +NET_TYPE=virt +SPDK_JSONRPC_GO_CLIENT=1 diff --git a/cijoe/configs/autorun_configs/rocky9-vm-autotest.conf b/cijoe/configs/autorun_configs/rocky9-vm-autotest.conf new file mode 100644 index 0000000..47d8a22 --- /dev/null +++ b/cijoe/configs/autorun_configs/rocky9-vm-autotest.conf @@ -0,0 +1,8 @@ +# Matches rocky9-vg-autotest +SPDK_TEST_UNITTEST=1 +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_BLOCKDEV=1 +SPDK_TEST_DAOS=1 +SPDK_RUN_ASAN=1 +SPDK_TEST_USE_IGB_UIO=1 +SPDK_TEST_RELEASE_BUILD=1 diff --git a/cijoe/configs/autorun_configs/short-fuzz-phy-autotest.conf b/cijoe/configs/autorun_configs/short-fuzz-phy-autotest.conf new file mode 100644 index 0000000..df71ed8 --- /dev/null +++ b/cijoe/configs/autorun_configs/short-fuzz-phy-autotest.conf @@ -0,0 +1,6 @@ +# Matches short-fuzz-phy-autotest +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_FUZZER_SHORT=1 +SPDK_TEST_FUZZER=1 +SPDK_TEST_SETUP=1 +SPDK_RUN_UBSAN=1 diff --git a/cijoe/configs/autorun_configs/ubuntu22-vm-autotest.conf b/cijoe/configs/autorun_configs/ubuntu22-vm-autotest.conf new file mode 100644 index 0000000..47deeae --- /dev/null +++ b/cijoe/configs/autorun_configs/ubuntu22-vm-autotest.conf @@ -0,0 +1,7 @@ +# Matches ubuntu22-vg-autotest +SPDK_TEST_UNITTEST=1 +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_NVME=1 +SPDK_TEST_BLOCKDEV=1 +SPDK_RUN_ASAN=1 +SPDK_RUN_UBSAN=1 diff --git a/cijoe/configs/autorun_configs/ubuntu24-vg-autotest.conf b/cijoe/configs/autorun_configs/ubuntu24-vg-autotest.conf new file mode 100644 index 0000000..73ac2db --- /dev/null +++ b/cijoe/configs/autorun_configs/ubuntu24-vg-autotest.conf @@ -0,0 +1,7 @@ +# Matches ubuntu24-vg-autotest +SPDK_TEST_UNITTEST=1 +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_NVME=1 +SPDK_TEST_BLOCKDEV=1 +SPDK_RUN_ASAN=1 +SPDK_RUN_UBSAN=1 diff --git a/cijoe/configs/autorun_configs/vfio-user-phy-autotest.conf b/cijoe/configs/autorun_configs/vfio-user-phy-autotest.conf new file mode 100644 index 0000000..e8576c8 --- /dev/null +++ b/cijoe/configs/autorun_configs/vfio-user-phy-autotest.conf @@ -0,0 +1,6 @@ +# Matches vfio-user-phy-autotest +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_VFIOUSER_QEMU=1 +SPDK_RUN_ASAN=1 +SPDK_RUN_UBSAN=1 +SPDK_TEST_SMA=1 diff --git a/cijoe/configs/autorun_configs/vhost-initiator-vm-autotest.conf b/cijoe/configs/autorun_configs/vhost-initiator-vm-autotest.conf new file mode 100644 index 0000000..2f5aeb3 --- /dev/null +++ b/cijoe/configs/autorun_configs/vhost-initiator-vm-autotest.conf @@ -0,0 +1,5 @@ +# Matches vhost-initiator-vg-autotest +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_VHOST_INIT=1 +SPDK_TEST_SETUP=1 +SPDK_RUN_UBSAN=1 diff --git a/cijoe/configs/autorun_configs/vhost-phy-autotest.conf b/cijoe/configs/autorun_configs/vhost-phy-autotest.conf new file mode 100644 index 0000000..da7f13e --- /dev/null +++ b/cijoe/configs/autorun_configs/vhost-phy-autotest.conf @@ -0,0 +1,5 @@ +# Matches vhost-phy-autotest +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_VHOST=1 +SPDK_RUN_ASAN=1 +SPDK_RUN_UBSAN=1 diff --git a/cijoe/configs/autorun_configs/zns-vm-autotest.conf b/cijoe/configs/autorun_configs/zns-vm-autotest.conf new file mode 100644 index 0000000..9ef0e30 --- /dev/null +++ b/cijoe/configs/autorun_configs/zns-vm-autotest.conf @@ -0,0 +1,5 @@ +# Matches zns-vg-autotest +SPDK_RUN_FUNCTIONAL_TEST=1 +SPDK_TEST_NVME=1 +SPDK_TEST_NO_MULTI=1 +SPDK_TEST_NVME_ZNS=1 diff --git a/cijoe/workflows/autorun_in_qemu.yaml b/cijoe/workflows/autorun_in_qemu.yaml index 54534e5..97dcb40 100644 --- a/cijoe/workflows/autorun_in_qemu.yaml +++ b/cijoe/workflows/autorun_in_qemu.yaml @@ -54,6 +54,116 @@ steps: mkdir -p /opt/output/nvme output_dir=/opt/output/nvme /opt/spdk/autorun.sh /opt/configs/nvme.conf +- name: autobuild-external-vm-autotest + run: | + mkdir -p /opt/output/autobuild-external-vm-autotest + output_dir=/opt/output/autobuild-external-vm-autotest /opt/spdk/autorun.sh /opt/configs/autobuild-external-vm-autotest.conf + +- name: blobfs-phy-autotest + run: | + mkdir -p /opt/output/blobfs-phy-autotest + output_dir=/opt/output/blobfs-phy-autotest /opt/spdk/autorun.sh /opt/configs/blobfs-phy-autotest.conf + +- name: crypto-phy-autotest + run: | + mkdir -p /opt/output/crypto-phy-autotest + output_dir=/opt/output/crypto-phy-autotest /opt/spdk/autorun.sh /opt/configs/crypto-phy-autotest.conf + +- name: freebsd-vm-autotest + run: | + mkdir -p /opt/output/freebsd-vm-autotest + output_dir=/opt/output/freebsd-vm-autotest /opt/spdk/autorun.sh /opt/configs/freebsd-vm-autotest.conf + +- name: iscsi-uring-vm-autotest + run: | + mkdir -p /opt/output/iscsi-uring-vm-autotest + output_dir=/opt/output/iscsi-uring-vm-autotest /opt/spdk/autorun.sh /opt/configs/iscsi-uring-vm-autotest.conf + +- name: iscsi-vm-autotest + run: | + mkdir -p /opt/output/iscsi-vm-autotest + output_dir=/opt/output/iscsi-vm-autotest /opt/spdk/autorun.sh /opt/configs/iscsi-vm-autotest.conf + +- name: lvol-vm-autotest + run: | + mkdir -p /opt/output/lvol-vm-autotest + output_dir=/opt/output/lvol-vm-autotest /opt/spdk/autorun.sh /opt/configs/lvol-vm-autotest.conf + +- name: nvme-cmb-pmr-vm-autotest + run: | + mkdir -p /opt/output/nvme-cmb-pmr-vm-autotest + output_dir=/opt/output/nvme-cmb-pmr-vm-autotest /opt/spdk/autorun.sh /opt/configs/nvme-cmb-pmr-vm-autotest.conf + +- name: nvme-phy-autotest + run: | + mkdir -p /opt/output/nvme-phy-autotest + output_dir=/opt/output/nvme-phy-autotest /opt/spdk/autorun.sh /opt/configs/nvme-phy-autotest.conf + +- name: nvme-vm-autotest + run: | + mkdir -p /opt/output/nvme-vm-autotest + output_dir=/opt/output/nvme-vm-autotest /opt/spdk/autorun.sh /opt/configs/nvme-vm-autotest.conf + +- name: nvmf-phy-autotest + run: | + mkdir -p /opt/output/nvmf-phy-autotest + output_dir=/opt/output/nvmf-phy-autotest /opt/spdk/autorun.sh /opt/configs/nvmf-phy-autotest.conf + +- name: nvmf-tcp-phy-autotest + run: | + mkdir -p /opt/output/nvmf-tcp-phy-autotest + output_dir=/opt/output/nvmf-tcp-phy-autotest /opt/spdk/autorun.sh /opt/configs/nvmf-tcp-phy-autotest.conf + +- name: nvmf-tcp-uring-vm-autotest + run: | + mkdir -p /opt/output/nvmf-tcp-uring-vm-autotest + output_dir=/opt/output/nvmf-tcp-uring-vm-autotest /opt/spdk/autorun.sh /opt/configs/nvmf-tcp-uring-vm-autotest.conf + +- name: nvmf-tcp-vm-autotest + run: | + mkdir -p /opt/output/nvmf-tcp-vm-autotest + output_dir=/opt/output/nvmf-tcp-vm-autotest /opt/spdk/autorun.sh /opt/configs/nvmf-tcp-vm-autotest.conf + +- name: rocky9-vm-autotest + run: | + mkdir -p /opt/output/rocky9-vm-autotest + output_dir=/opt/output/rocky9-vm-autotest /opt/spdk/autorun.sh /opt/configs/rocky9-vm-autotest.conf + +- name: short-fuzz-phy-autotest + run: | + mkdir -p /opt/output/short-fuzz-phy-autotest + output_dir=/opt/output/short-fuzz-phy-autotest /opt/spdk/autorun.sh /opt/configs/short-fuzz-phy-autotest.conf + +- name: ubuntu22-vm-autotest + run: | + mkdir -p /opt/output/ubuntu22-vm-autotest + output_dir=/opt/output/ubuntu22-vm-autotest /opt/spdk/autorun.sh /opt/configs/ubuntu22-vm-autotest.conf + +- name: ubuntu24-vg-autotest + run: | + mkdir -p /opt/output/ubuntu24-vg-autotest + output_dir=/opt/output/ubuntu24-vg-autotest /opt/spdk/autorun.sh /opt/configs/ubuntu24-vg-autotest.conf + +- name: vfio-user-phy-autotest + run: | + mkdir -p /opt/output/vfio-user-phy-autotest + output_dir=/opt/output/vfio-user-phy-autotest /opt/spdk/autorun.sh /opt/configs/vfio-user-phy-autotest.conf + +- name: vhost-initiator-vm-autotest + run: | + mkdir -p /opt/output/vhost-initiator-vm-autotest + output_dir=/opt/output/vhost-initiator-vm-autotest /opt/spdk/autorun.sh /opt/configs/vhost-initiator-vm-autotest.conf + +- name: vhost-phy-autotest + run: | + mkdir -p /opt/output/vhost-phy-autotest + output_dir=/opt/output/vhost-phy-autotest /opt/spdk/autorun.sh /opt/configs/vhost-phy-autotest.conf + +- name: zns-vm-autotest + run: | + mkdir -p /opt/output/zns-vm-autotest + output_dir=/opt/output/zns-vm-autotest /opt/spdk/autorun.sh /opt/configs/zns-vm-autotest.conf + - name: output_listing run: | ls /opt From f36e8abfd24fa15739b7d9761b5840e136d4b917 Mon Sep 17 00:00:00 2001 From: Tomasz Zawadzki Date: Fri, 21 Feb 2025 10:39:48 +0100 Subject: [PATCH 2/3] common: add configs for jobs executing autobuild_common.sh functions At some point runnning the whole autorun.sh for tests that never ran any of the SPDK code became too much. Those instead were relagated to running within containers on much larger scale, as a set of pre-tests before actual autorun.sh jobs started. For the most part tests here cover building, packaging, code formatting, etc. Signed-off-by: Tomasz Zawadzki --- .github/workflows/per_patch.yml | 11 +++ .../packaging-docker-autotest.conf | 2 + .../release-build-clang-docker-autotest.conf | 18 +++++ .../release-build-main-docker-autotest.conf | 18 +++++ .../scan-build-docker-autotest.conf | 19 +++++ .../unittest-clang-docker-autotest.conf | 20 +++++ .../unittest-main-docker-autotest.conf | 20 +++++ .../unittest-valgrind-docker-autotest.conf | 20 +++++ cijoe/workflows/autorun_in_qemu.yaml | 77 +++++++++++++++++++ 9 files changed, 205 insertions(+) create mode 100644 cijoe/configs/autorun_configs/packaging-docker-autotest.conf create mode 100644 cijoe/configs/autorun_configs/release-build-clang-docker-autotest.conf create mode 100644 cijoe/configs/autorun_configs/release-build-main-docker-autotest.conf create mode 100644 cijoe/configs/autorun_configs/scan-build-docker-autotest.conf create mode 100644 cijoe/configs/autorun_configs/unittest-clang-docker-autotest.conf create mode 100644 cijoe/configs/autorun_configs/unittest-main-docker-autotest.conf create mode 100644 cijoe/configs/autorun_configs/unittest-valgrind-docker-autotest.conf diff --git a/.github/workflows/per_patch.yml b/.github/workflows/per_patch.yml index 93403dc..2c16e15 100644 --- a/.github/workflows/per_patch.yml +++ b/.github/workflows/per_patch.yml @@ -57,6 +57,17 @@ jobs: - vhost-initiator-vm-autotest - vhost-phy-autotest - zns-vm-autotest + - packaging-docker-autotest + - release-build-clang-docker-autotest + - release-build-main-docker-autotest + - scan-build-docker-autotest + - unittest-valgrind-docker-autotest + - unittest-clang-docker-autotest + - unittest-main-docker-autotest + - build-files-docker-autotest + - check-format-docker-autotest + - check-so-deps-docker-autotest + - doc-docker-autotest container: image: ghcr.io/refenv/cijoe-docker:v0.9.50 options: --device=/dev/kvm diff --git a/cijoe/configs/autorun_configs/packaging-docker-autotest.conf b/cijoe/configs/autorun_configs/packaging-docker-autotest.conf new file mode 100644 index 0000000..dccceb2 --- /dev/null +++ b/cijoe/configs/autorun_configs/packaging-docker-autotest.conf @@ -0,0 +1,2 @@ +# Matches packaging-docker-autotest +SPDK_TEST_RELEASE_BUILD=1 diff --git a/cijoe/configs/autorun_configs/release-build-clang-docker-autotest.conf b/cijoe/configs/autorun_configs/release-build-clang-docker-autotest.conf new file mode 100644 index 0000000..1d42aea --- /dev/null +++ b/cijoe/configs/autorun_configs/release-build-clang-docker-autotest.conf @@ -0,0 +1,18 @@ +# Matches release-build-clang-docker-autotest +SPDK_TEST_UNITTEST=1 +SPDK_TEST_BLOCKDEV=1 +SPDK_TEST_PMDK=1 +SPDK_TEST_ISAL=1 +SPDK_TEST_REDUCE=1 +SPDK_TEST_VBDEV_COMPRESS=1 +SPDK_TEST_CRYPTO=1 +SPDK_TEST_FTL=1 +SPDK_TEST_OCF=1 +SPDK_TEST_RAID=1 +SPDK_TEST_RBD=1 +SPDK_TEST_URING=1 +SPDK_TEST_NVME_CUSE=1 +SPDK_TEST_BLOBFS=1 +SPDK_TEST_VFIOUSER=1 +SPDK_TEST_XNVME=1 +SPDK_TEST_RELEASE_BUILD=1 diff --git a/cijoe/configs/autorun_configs/release-build-main-docker-autotest.conf b/cijoe/configs/autorun_configs/release-build-main-docker-autotest.conf new file mode 100644 index 0000000..a3d5555 --- /dev/null +++ b/cijoe/configs/autorun_configs/release-build-main-docker-autotest.conf @@ -0,0 +1,18 @@ +# Matches release-build-main-docker-autotest +SPDK_TEST_UNITTEST=1 +SPDK_TEST_BLOCKDEV=1 +SPDK_TEST_PMDK=1 +SPDK_TEST_ISAL=1 +SPDK_TEST_REDUCE=1 +SPDK_TEST_VBDEV_COMPRESS=1 +SPDK_TEST_CRYPTO=1 +SPDK_TEST_FTL=1 +SPDK_TEST_OCF=1 +SPDK_TEST_RAID=1 +SPDK_TEST_RBD=1 +SPDK_TEST_URING=1 +SPDK_TEST_NVME_CUSE=1 +SPDK_TEST_BLOBFS=1 +SPDK_TEST_VFIOUSER=1 +SPDK_TEST_XNVME=1 +SPDK_TEST_RELEASE_BUILD=1 diff --git a/cijoe/configs/autorun_configs/scan-build-docker-autotest.conf b/cijoe/configs/autorun_configs/scan-build-docker-autotest.conf new file mode 100644 index 0000000..686c36a --- /dev/null +++ b/cijoe/configs/autorun_configs/scan-build-docker-autotest.conf @@ -0,0 +1,19 @@ +# Matches scan-build-docker-autotest +SPDK_TEST_SCANBUILD=1 +SPDK_TEST_BLOCKDEV=1 +SPDK_TEST_ISAL=1 +SPDK_TEST_REDUCE=1 +SPDK_TEST_VBDEV_COMPRESS=1 +SPDK_TEST_CRYPTO=1 +SPDK_TEST_FTL=1 +SPDK_TEST_OCF=1 +SPDK_TEST_RAID=1 +SPDK_TEST_RBD=1 +SPDK_TEST_URING=1 +SPDK_TEST_NVME_CUSE=1 +SPDK_TEST_BLOBFS=1 +SPDK_TEST_VFIOUSER=1 +SPDK_TEST_DAOS=0 +SPDK_RUN_ASAN=1 +SPDK_RUN_UBSAN=1 +SPDK_TEST_XNVME=1 diff --git a/cijoe/configs/autorun_configs/unittest-clang-docker-autotest.conf b/cijoe/configs/autorun_configs/unittest-clang-docker-autotest.conf new file mode 100644 index 0000000..c2a12c3 --- /dev/null +++ b/cijoe/configs/autorun_configs/unittest-clang-docker-autotest.conf @@ -0,0 +1,20 @@ +# Matches unittest-clang-docker-autotest +SPDK_RUN_VALGRIND=0 +SPDK_TEST_UNITTEST=1 +SPDK_TEST_BLOCKDEV=1 +SPDK_TEST_ISAL=1 +SPDK_TEST_REDUCE=1 +SPDK_TEST_VBDEV_COMPRESS=1 +SPDK_TEST_CRYPTO=1 +SPDK_TEST_FTL=1 +SPDK_TEST_OCF=1 +SPDK_TEST_RAID=1 +SPDK_TEST_RBD=1 +SPDK_TEST_URING=1 +SPDK_TEST_NVME_CUSE=1 +SPDK_TEST_BLOBFS=1 +SPDK_TEST_VFIOUSER=1 +SPDK_TEST_DAOS=0 +SPDK_RUN_ASAN=1 +SPDK_RUN_UBSAN=1 +SPDK_TEST_XNVME=1 diff --git a/cijoe/configs/autorun_configs/unittest-main-docker-autotest.conf b/cijoe/configs/autorun_configs/unittest-main-docker-autotest.conf new file mode 100644 index 0000000..3d9813b --- /dev/null +++ b/cijoe/configs/autorun_configs/unittest-main-docker-autotest.conf @@ -0,0 +1,20 @@ +# Matches unittest-main-docker-autotest +SPDK_RUN_VALGRIND=0 +SPDK_TEST_UNITTEST=1 +SPDK_TEST_BLOCKDEV=1 +SPDK_TEST_ISAL=1 +SPDK_TEST_REDUCE=1 +SPDK_TEST_VBDEV_COMPRESS=1 +SPDK_TEST_CRYPTO=1 +SPDK_TEST_FTL=1 +SPDK_TEST_OCF=1 +SPDK_TEST_RAID=1 +SPDK_TEST_RBD=1 +SPDK_TEST_URING=1 +SPDK_TEST_NVME_CUSE=1 +SPDK_TEST_BLOBFS=1 +SPDK_TEST_VFIOUSER=1 +SPDK_TEST_DAOS=0 +SPDK_RUN_ASAN=1 +SPDK_RUN_UBSAN=1 +SPDK_TEST_XNVME=1 diff --git a/cijoe/configs/autorun_configs/unittest-valgrind-docker-autotest.conf b/cijoe/configs/autorun_configs/unittest-valgrind-docker-autotest.conf new file mode 100644 index 0000000..436feb1 --- /dev/null +++ b/cijoe/configs/autorun_configs/unittest-valgrind-docker-autotest.conf @@ -0,0 +1,20 @@ +# Matches unittest-valgrind-docker-autotest +SPDK_RUN_VALGRIND=1 +SPDK_TEST_UNITTEST=1 +SPDK_TEST_BLOCKDEV=1 +SPDK_TEST_ISAL=1 +SPDK_TEST_REDUCE=1 +SPDK_TEST_VBDEV_COMPRESS=1 +SPDK_TEST_CRYPTO=1 +SPDK_TEST_FTL=1 +SPDK_TEST_OCF=1 +SPDK_TEST_RAID=1 +SPDK_TEST_RBD=1 +SPDK_TEST_URING=1 +SPDK_TEST_NVME_CUSE=1 +SPDK_TEST_BLOBFS=1 +SPDK_TEST_VFIOUSER=1 +SPDK_TEST_DAOS=0 +SPDK_RUN_ASAN=0 +SPDK_RUN_UBSAN=1 +SPDK_TEST_XNVME=1 diff --git a/cijoe/workflows/autorun_in_qemu.yaml b/cijoe/workflows/autorun_in_qemu.yaml index 97dcb40..82b72a0 100644 --- a/cijoe/workflows/autorun_in_qemu.yaml +++ b/cijoe/workflows/autorun_in_qemu.yaml @@ -164,6 +164,83 @@ steps: mkdir -p /opt/output/zns-vm-autotest output_dir=/opt/output/zns-vm-autotest /opt/spdk/autorun.sh /opt/configs/zns-vm-autotest.conf +- name: packaging-docker-autotest + run: | + mkdir -p /opt/output/packaging-docker-autotest + output_dir=/opt/output/packaging-docker-autotest rootdir=/opt/spdk source "/opt/spdk/test/common/autobuild_common.sh" "/opt/configs/packaging-docker-autotest.conf" + build_packaging + +- name: release-build-clang-docker-autotest + run: | + mkdir -p /opt/output/release-build-clang-docker-autotest + output_dir=/opt/output/release-build-clang-docker-autotest rootdir=/opt/spdk source "/opt/spdk/test/common/autobuild_common.sh" "/opt/configs/release-build-clang-docker-autotest.conf" + export CC=/usr/bin/clang CXX=/usr/bin/clang++ + +- name: release-build-main-docker-autotest + run: | + mkdir -p /opt/output/release-build-main-docker-autotest + output_dir=/opt/output/release-build-main-docker-autotest rootdir=/opt/spdk source "/opt/spdk/test/common/autobuild_common.sh" "/opt/configs/release-build-main-docker-autotest.conf" + build_release + +- name: scan-build-docker-autotest + run: | + mkdir -p /opt/output/scan-build-docker-autotest + output_dir=/opt/output/scan-build-docker-autotest rootdir=/opt/spdk source "/opt/spdk/test/common/autobuild_common.sh" "/opt/configs/scan-build-docker-autotest.conf" + ocf_precompile + scanbuild_make + +- name: unittest-valgrind-docker-autotest + run: | + mkdir -p /opt/output/unittest-valgrind-docker-autotest + output_dir=/opt/output/unittest-valgrind-docker-autotest rootdir=/opt/spdk source "/opt/spdk/test/common/autobuild_common.sh" "/opt/configs/unittest-valgrind-docker-autotest.conf" + ocf_precompile + unittest_build + /opt/spdk/test/unit/unittest.sh + +- name: unittest-clang-docker-autotest + run: | + mkdir -p /opt/output/unittest-clang-docker-autotest + output_dir=/opt/output/unittest-clang-docker-autotest rootdir=/opt/spdk source "/opt/spdk/test/common/autobuild_common.sh" "/opt/configs/unittest-clang-docker-autotest.conf" + export CC=/usr/bin/clang CXX=/usr/bin/clang++ + +- name: unittest-main-docker-autotest + run: | + mkdir -p /opt/output/unittest-main-docker-autotest + output_dir=/opt/output/unittest-main-docker-autotest rootdir=/opt/spdk source "/opt/spdk/test/common/autobuild_common.sh" "/opt/configs/unittest-main-docker-autotest.conf" + ocf_precompile + unittest_build + /opt/spdk/test/unit/unittest.sh + +- name: build-files-docker-autotest + run: | + touch empty.conf + mkdir -p /opt/output/build-files-docker-autotest + output_dir=/opt/output/build-files-docker-autotest rootdir=/opt/spdk source "/opt/spdk/test/common/autobuild_common.sh" "./empty.conf" + build_files + dpdk_pci_api + +- name: check-format-docker-autotest + run: | + touch empty.conf + mkdir -p /opt/output/check-format-docker-autotest + output_dir=/opt/output/check-format-docker-autotest rootdir=/opt/spdk source "/opt/spdk/test/common/autobuild_common.sh" "./empty.conf" + CHECK_FORMAT_ONLY_DIFF=yes check_format + +- name: check-so-deps-docker-autotest + run: | + touch empty.conf + mkdir -p /opt/output/check-so-deps-docker-autotest + output_dir=/opt/output/check-so-deps-docker-autotest rootdir=/opt/spdk source "/opt/spdk/test/common/autobuild_common.sh" "./empty.conf" + ocf_precompile + SPDK_ABI_DIR=/opt/spdk-abi check_so_deps # TODO: pull spdk-abi repo + +- name: doc-docker-autotest + run: | + touch empty.conf + mkdir -p /opt/output/doc-docker-autotest + output_dir=/opt/output/doc-docker-autotest rootdir=/opt/spdk source "/opt/spdk/test/common/autobuild_common.sh" "./empty.conf" + build_doc + - name: output_listing run: | ls /opt From 653c052c1e2c5c08f700db8558253b9af8262f66 Mon Sep 17 00:00:00 2001 From: Tomasz Zawadzki Date: Fri, 21 Feb 2025 10:42:17 +0100 Subject: [PATCH 3/3] common: do not cancel running jobs on failure For purose of figuring out to what extent the current autorun.sh and jobs are ready for execution on GitHub - disabled cancelation of the jobs and extended timeout. Signed-off-by: Tomasz Zawadzki --- .github/workflows/per_patch.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/per_patch.yml b/.github/workflows/per_patch.yml index 2c16e15..e55bc33 100644 --- a/.github/workflows/per_patch.yml +++ b/.github/workflows/per_patch.yml @@ -26,11 +26,12 @@ jobs: autorun: needs: get_qcow runs-on: ubuntu-latest - timeout-minutes: 35 + timeout-minutes: 60 env: REPOSITORY_TARBALL_PATH: ${{ github.workspace }}/repository.tar.gz CI_CFGS_REPOSITORY_PATH: ${{ github.workspace }}/ci/cijoe/configs/autorun_configs strategy: + fail-fast: false matrix: workflow: - autorun_unittest