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
+
export XEN_CMDLINE="${cmdline[@]}"
}
--
2.34.1
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
> >
> >
© 2016 - 2026 Red Hat, Inc.