Message ID | 20250416053213.921444-5-dmukhin@ford.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | CI: updates to XTF CI runners | expand |
On Wed, 16 Apr 2025, dmkhn@proton.me wrote: > From: Denis Mukhin <dmukhin@ford.com> > > Introduce new CI job to run x86 XTF argo test under QEMU to smoke test argo > feature functionality in upstream CI. > > The new job lead time is ~30s, limit max job duration to 60s. > > Signed-off-by: Denis Mukhin <dmukhin@ford.com> > --- > automation/gitlab-ci/test.yaml | 9 +++++++++ > automation/scripts/include/xtf-runner | 7 +++++++ > 2 files changed, 16 insertions(+) > > diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml > index d6e4a0a622..9001efb45c 100644 > --- a/automation/gitlab-ci/test.yaml > +++ b/automation/gitlab-ci/test.yaml > @@ -691,6 +691,15 @@ qemu-smoke-x86-64-gcc-efi: > needs: > - debian-12-x86_64-gcc-debug > > +qemu-xtf-argo-x86_64-gcc-debug: > + extends: .qemu-smoke-x86-64 > + variables: > + TEST_TIMEOUT_OVERRIDE: 60 > + script: > + - ./automation/scripts/qemu-xtf.sh x86-64 pv64 argo 2>&1 | tee ${LOGFILE} > + needs: > + - alpine-3.18-gcc-debug > + > qemu-smoke-riscv64-gcc: > extends: .qemu-riscv64 > script: > diff --git a/automation/scripts/include/xtf-runner b/automation/scripts/include/xtf-runner > index 55b7b34b89..12470b3979 100644 > --- a/automation/scripts/include/xtf-runner > +++ b/automation/scripts/include/xtf-runner > @@ -70,6 +70,9 @@ function xtf_build_cmdline() > local xtf_variant=$1 > local xtf_name=$2 > declare -a cmdline=() > + declare -A per_test_args=( > + [argo]="argo=1 mac-permissive=1" > + ) > + > cmdline+=("loglvl=all noreboot console_timestamps=boot") > cmdline+=("console=${XEN_CONSOLE}") > @@ -79,6 +82,10 @@ function xtf_build_cmdline() > cmdline+=("dom0-iommu=none dom0=pvh") > fi > > + if [[ -v per_test_args[${xtf_name}] ]]; then > + cmdline+=("${per_test_args[${xtf_name}]}") > + fi > + This is all within the same bash function so I think we could avoid using the per_test_args array and just do: if test "$xtf_name" then cmdline+=("argo=1 mac-permissive=1") fi The indirection is not required as far as I can tell. I do realize it is a matter of taste and it works either way so I wouldn't insist. > export XEN_CMDLINE="${cmdline[@]}" > } > > -- > 2.34.1 > >
On Wed, Apr 16, 2025 at 05:11:51PM -0700, Stefano Stabellini wrote: > On Wed, 16 Apr 2025, dmkhn@proton.me wrote: > > From: Denis Mukhin <dmukhin@ford.com> > > > > Introduce new CI job to run x86 XTF argo test under QEMU to smoke test argo > > feature functionality in upstream CI. > > > > The new job lead time is ~30s, limit max job duration to 60s. > > > > Signed-off-by: Denis Mukhin <dmukhin@ford.com> > > --- > > automation/gitlab-ci/test.yaml | 9 +++++++++ > > automation/scripts/include/xtf-runner | 7 +++++++ > > 2 files changed, 16 insertions(+) > > > > diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml > > index d6e4a0a622..9001efb45c 100644 > > --- a/automation/gitlab-ci/test.yaml > > +++ b/automation/gitlab-ci/test.yaml > > @@ -691,6 +691,15 @@ qemu-smoke-x86-64-gcc-efi: > > needs: > > - debian-12-x86_64-gcc-debug > > > > +qemu-xtf-argo-x86_64-gcc-debug: > > + extends: .qemu-smoke-x86-64 > > + variables: > > + TEST_TIMEOUT_OVERRIDE: 60 > > + script: > > + - ./automation/scripts/qemu-xtf.sh x86-64 pv64 argo 2>&1 | tee ${LOGFILE} > > + needs: > > + - alpine-3.18-gcc-debug > > + > > qemu-smoke-riscv64-gcc: > > extends: .qemu-riscv64 > > script: > > diff --git a/automation/scripts/include/xtf-runner b/automation/scripts/include/xtf-runner > > index 55b7b34b89..12470b3979 100644 > > --- a/automation/scripts/include/xtf-runner > > +++ b/automation/scripts/include/xtf-runner > > @@ -70,6 +70,9 @@ function xtf_build_cmdline() > > local xtf_variant=$1 > > local xtf_name=$2 > > declare -a cmdline=() > > + declare -A per_test_args=( > > + [argo]="argo=1 mac-permissive=1" > > + ) > > + > > cmdline+=("loglvl=all noreboot console_timestamps=boot") > > cmdline+=("console=${XEN_CONSOLE}") > > @@ -79,6 +82,10 @@ function xtf_build_cmdline() > > cmdline+=("dom0-iommu=none dom0=pvh") > > fi > > > > + if [[ -v per_test_args[${xtf_name}] ]]; then > > + cmdline+=("${per_test_args[${xtf_name}]}") > > + fi > > + > > This is all within the same bash function so I think we could avoid > using the per_test_args array and just do: > > if test "$xtf_name" > then > cmdline+=("argo=1 mac-permissive=1") > fi > > The indirection is not required as far as I can tell. I do realize it is > a matter of taste and it works either way so I wouldn't insist. Some XTFs may need special configuration. I added this to be a placeholder for test-specific Xen run-time configuration. > > > > > export XEN_CMDLINE="${cmdline[@]}" > > } > > > > -- > > 2.34.1 > > > >
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml index d6e4a0a622..9001efb45c 100644 --- a/automation/gitlab-ci/test.yaml +++ b/automation/gitlab-ci/test.yaml @@ -691,6 +691,15 @@ qemu-smoke-x86-64-gcc-efi: needs: - debian-12-x86_64-gcc-debug +qemu-xtf-argo-x86_64-gcc-debug: + extends: .qemu-smoke-x86-64 + variables: + TEST_TIMEOUT_OVERRIDE: 60 + script: + - ./automation/scripts/qemu-xtf.sh x86-64 pv64 argo 2>&1 | tee ${LOGFILE} + needs: + - alpine-3.18-gcc-debug + qemu-smoke-riscv64-gcc: extends: .qemu-riscv64 script: diff --git a/automation/scripts/include/xtf-runner b/automation/scripts/include/xtf-runner index 55b7b34b89..12470b3979 100644 --- a/automation/scripts/include/xtf-runner +++ b/automation/scripts/include/xtf-runner @@ -70,6 +70,9 @@ function xtf_build_cmdline() local xtf_variant=$1 local xtf_name=$2 declare -a cmdline=() + declare -A per_test_args=( + [argo]="argo=1 mac-permissive=1" + ) cmdline+=("loglvl=all noreboot console_timestamps=boot") cmdline+=("console=${XEN_CONSOLE}") @@ -79,6 +82,10 @@ function xtf_build_cmdline() cmdline+=("dom0-iommu=none dom0=pvh") fi + if [[ -v per_test_args[${xtf_name}] ]]; then + cmdline+=("${per_test_args[${xtf_name}]}") + fi + export XEN_CMDLINE="${cmdline[@]}" }