* [PATCH v1 0/6] Add infrastructure for testing arbitrary Linux branch, and one more runner
@ 2025-06-23 13:47 Marek Marczykowski-Górecki
2025-06-23 13:47 ` [PATCH v1 1/6] CI: Switch x86 tests to 6.12.34 kernel Marek Marczykowski-Górecki
` (5 more replies)
0 siblings, 6 replies; 15+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-06-23 13:47 UTC (permalink / raw)
To: xen-devel; +Cc: Marek Marczykowski-Górecki
This series implements testing arbitrary Linux branch, based on pipeline
variables. The idea is to setup schedule running a pipeline for few selected
branches (some of the Linux stable branches? linux-next? Linus's master
branch?) The SELECTED_JOBS_ONLY variable can be used to exclude most of the
build jobs in those pipelines.
This series is combined with adding hw12 runner, as it needs a newer kernel
anyway, so putting it together avoids merge conflict. There are also few minor
CI improvements collected along the way.
Pipeline:
https://gitlab.com/xen-project/people/marmarek/xen/-/pipelines/1882799125
Marek Marczykowski-Górecki (6):
CI: Switch x86 tests to 6.12.34 kernel
CI: add AMD Zen 4 HW runner
CI: upload tests-junit.xml as a normal artifact too
CI: make test-artifacts branch/job customizable
CI: use Alpine's network setup
[DO NOT MERGE] CI: example how to use ssh to extract logs
.gitlab-ci.yml | 9 ++++-
automation/gitlab-ci/test.yaml | 65 +++++++++++++++++++++++++++++--
automation/scripts/qubes-x86-64.sh | 22 +++++-----
3 files changed, 81 insertions(+), 15 deletions(-)
base-commit: cc7394164633e75fb61d52565f75271e0b7f1236
--
git-series 0.9.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v1 1/6] CI: Switch x86 tests to 6.12.34 kernel
2025-06-23 13:47 [PATCH v1 0/6] Add infrastructure for testing arbitrary Linux branch, and one more runner Marek Marczykowski-Górecki
@ 2025-06-23 13:47 ` Marek Marczykowski-Górecki
2025-06-23 20:54 ` Stefano Stabellini
2025-06-23 13:47 ` [PATCH v1 2/6] CI: add AMD Zen 4 HW runner Marek Marczykowski-Górecki
` (4 subsequent siblings)
5 siblings, 1 reply; 15+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-06-23 13:47 UTC (permalink / raw)
To: xen-devel
Cc: Marek Marczykowski-Górecki, Doug Goldstein,
Stefano Stabellini
This is necessary for the upcoming Zen4 runner.
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
Previous version posted in https://lore.kernel.org/xen-devel/cover.7da1777882774486a13e6f39ff4a2096f6b7901e.1744028549.git-series.marmarek@invisiblethingslab.com/T/#u (but actual patch didn't make it into the ML, as it contained dockerfile change...)
---
automation/gitlab-ci/test.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 842cecf71382..1b88ee5c3be7 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -21,7 +21,7 @@
.x86-64-test-needs: &x86-64-test-needs
- project: xen-project/hardware/test-artifacts
- job: linux-6.6.56-x86_64
+ job: linux-6.12.34-x86_64
ref: master
- project: xen-project/hardware/test-artifacts
job: alpine-3.18-x86_64-rootfs
--
git-series 0.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v1 2/6] CI: add AMD Zen 4 HW runner
2025-06-23 13:47 [PATCH v1 0/6] Add infrastructure for testing arbitrary Linux branch, and one more runner Marek Marczykowski-Górecki
2025-06-23 13:47 ` [PATCH v1 1/6] CI: Switch x86 tests to 6.12.34 kernel Marek Marczykowski-Górecki
@ 2025-06-23 13:47 ` Marek Marczykowski-Górecki
2025-06-23 13:47 ` [PATCH v1 3/6] CI: upload tests-junit.xml as a normal artifact too Marek Marczykowski-Górecki
` (3 subsequent siblings)
5 siblings, 0 replies; 15+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-06-23 13:47 UTC (permalink / raw)
To: xen-devel
Cc: Marek Marczykowski-Górecki, Stefano Stabellini,
Doug Goldstein
This is AMD Ryzen 5 7640U in Framework Laptop AMD.
It has several things different than the other runners.
First of all, the console is using XHCI debug capability.
And then, this system doesn't have normal wired ethernet. But is has one
on USB, and this one is used for booting. For this, enable
CONFIG_USB_RTL8152 in the Linux build.
Include some basic tests, plus PCI passthrough.
This machine doesn't support S3. S0ix pretends to be working with
Qubes's dom0 (kernel + userspace), but it hangs on suspend with Alpine
used in test. But even when it doesn't hang, it doesn't really reach
deep sleep, so skip this test for now here.
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Previous version posted at https://lore.kernel.org/xen-devel/cover.7da1777882774486a13e6f39ff4a2096f6b7901e.1744028549.git-series.marmarek@invisiblethingslab.com/T/#u
Unchanged since then.
---
automation/gitlab-ci/test.yaml | 56 +++++++++++++++++++++++++++++++++++-
1 file changed, 56 insertions(+)
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 1b88ee5c3be7..a9d871cf72ad 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -197,6 +197,16 @@
tags:
- qubes-hw11
+.zen4-x86-64:
+ extends: .adl-x86-64
+ variables:
+ PCIDEV: "c3:00.4"
+ PCIDEV_INTR: "MSI-X"
+ CONSOLE_OPTS: "console=xhci dbgp=xhci@pcic1:00.3,share=yes"
+ SUT_ADDR: test-12.testnet
+ tags:
+ - qubes-hw12
+
# Test jobs
build-each-commit-gcc:
extends: .test-jobs-common
@@ -488,6 +498,52 @@ zen3p-tools-tests-pvh-x86-64-gcc-debug:
- *x86-64-test-needs
- alpine-3.18-gcc-debug
+zen4-smoke-x86-64-gcc-debug:
+ extends: .zen4-x86-64
+ script:
+ - ./automation/scripts/qubes-x86-64.sh dom0pv 2>&1 | tee ${LOGFILE}
+ needs:
+ - *x86-64-test-needs
+ - alpine-3.18-gcc-debug
+
+zen4-smoke-x86-64-dom0pvh gcc-debug:
+ extends: .zen4-x86-64
+ script:
+ - ./automation/scripts/qubes-x86-64.sh dom0pvh 2>&1 | tee ${LOGFILE}
+ needs:
+ - *x86-64-test-needs
+ - alpine-3.18-gcc-debug
+
+zen4-pci-hvm-x86-64-gcc-debug:
+ extends: .zen4-x86-64
+ script:
+ - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
+ needs:
+ - *x86-64-test-needs
+ - alpine-3.18-gcc-debug
+
+zen4-tools-tests-pv-x86-64-gcc-debug:
+ extends: .zen4-x86-64
+ script:
+ - ./automation/scripts/qubes-x86-64.sh tools-tests-pv 2>&1 | tee ${LOGFILE}
+ artifacts:
+ reports:
+ junit: tests-junit.xml
+ needs:
+ - *x86-64-test-needs
+ - alpine-3.18-gcc-debug
+
+zen4-tools-tests-pvh-x86-64-gcc-debug:
+ extends: .zen4-x86-64
+ script:
+ - ./automation/scripts/qubes-x86-64.sh tools-tests-pvh 2>&1 | tee ${LOGFILE}
+ artifacts:
+ reports:
+ junit: tests-junit.xml
+ needs:
+ - *x86-64-test-needs
+ - alpine-3.18-gcc-debug
+
qemu-smoke-dom0-arm64-gcc:
extends: .qemu-arm64
script:
--
git-series 0.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v1 3/6] CI: upload tests-junit.xml as a normal artifact too
2025-06-23 13:47 [PATCH v1 0/6] Add infrastructure for testing arbitrary Linux branch, and one more runner Marek Marczykowski-Górecki
2025-06-23 13:47 ` [PATCH v1 1/6] CI: Switch x86 tests to 6.12.34 kernel Marek Marczykowski-Górecki
2025-06-23 13:47 ` [PATCH v1 2/6] CI: add AMD Zen 4 HW runner Marek Marczykowski-Górecki
@ 2025-06-23 13:47 ` Marek Marczykowski-Górecki
2025-06-23 20:57 ` Stefano Stabellini
2025-06-23 13:47 ` [PATCH v1 4/6] CI: make test-artifacts branch/job customizable Marek Marczykowski-Górecki
` (2 subsequent siblings)
5 siblings, 1 reply; 15+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-06-23 13:47 UTC (permalink / raw)
To: xen-devel
Cc: Marek Marczykowski-Górecki, Doug Goldstein,
Stefano Stabellini
This allows checking the file if gitlab can't parse it for some reason.
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
automation/gitlab-ci/test.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index a9d871cf72ad..dc08488e76f4 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -155,6 +155,7 @@
paths:
- smoke.serial
- '*.log'
+ - tests-junit.xml
when: always
rules:
- if: $SELECTED_JOBS_ONLY && $CI_JOB_NAME =~ $SELECTED_JOBS_ONLY
--
git-series 0.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v1 4/6] CI: make test-artifacts branch/job customizable
2025-06-23 13:47 [PATCH v1 0/6] Add infrastructure for testing arbitrary Linux branch, and one more runner Marek Marczykowski-Górecki
` (2 preceding siblings ...)
2025-06-23 13:47 ` [PATCH v1 3/6] CI: upload tests-junit.xml as a normal artifact too Marek Marczykowski-Górecki
@ 2025-06-23 13:47 ` Marek Marczykowski-Górecki
2025-06-23 21:04 ` Stefano Stabellini
2025-06-23 13:47 ` [PATCH v1 5/6] CI: use Alpine's network setup Marek Marczykowski-Górecki
2025-06-23 13:47 ` [PATCH v1 6/6] [DO NOT MERGE] CI: example how to use ssh to extract logs Marek Marczykowski-Górecki
5 siblings, 1 reply; 15+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-06-23 13:47 UTC (permalink / raw)
To: xen-devel
Cc: Marek Marczykowski-Górecki, Doug Goldstein,
Stefano Stabellini
Allow choosing which artifacts branch and job to use for Linux. This
allows running the same tests for different Linux versions, without
duplicating a lot of yaml sections.
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
I have considered common LINUX_JOB and then add architecture suffix, but
even now X86 and ARM use different jobs, so I made them separate.
---
.gitlab-ci.yml | 9 +++++++++
automation/gitlab-ci/test.yaml | 8 ++++----
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7974ac4e82bc..c1d92dc485e7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,6 +2,15 @@ variables:
XEN_REGISTRY: registry.gitlab.com/xen-project/xen
SELECTED_JOBS_ONLY:
description: "Regex to select only some jobs, must be enclosed with /. For example /job1|job2/"
+ LINUX_ARTIFACTS_BRANCH:
+ description: "Branch in test-artifacts to use for Linux"
+ value: master
+ LINUX_JOB_X86_64:
+ description: "Job name in test-artifacts to use for Linux x86_64"
+ value: linux-6.12.34-x86_64
+ LINUX_JOB_ARM64:
+ description: "Job name in test-artifacts to use for Linux arm64"
+ value: linux-6.6.86-arm64
workflow:
name: "$CI_PIPELINE_SCHEDULE_DESCRIPTION"
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index dc08488e76f4..9fd66fb6138d 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -9,8 +9,8 @@
.arm64-test-needs: &arm64-test-needs
- project: xen-project/hardware/test-artifacts
- job: linux-6.6.86-arm64
- ref: master
+ job: $LINUX_JOB_ARM64
+ ref: $LINUX_ARTIFACTS_BRANCH
- project: xen-project/hardware/test-artifacts
job: alpine-3.18-arm64-rootfs
ref: master
@@ -21,8 +21,8 @@
.x86-64-test-needs: &x86-64-test-needs
- project: xen-project/hardware/test-artifacts
- job: linux-6.12.34-x86_64
- ref: master
+ job: $LINUX_JOB_X86_64
+ ref: $LINUX_ARTIFACTS_BRANCH
- project: xen-project/hardware/test-artifacts
job: alpine-3.18-x86_64-rootfs
ref: master
--
git-series 0.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v1 5/6] CI: use Alpine's network setup
2025-06-23 13:47 [PATCH v1 0/6] Add infrastructure for testing arbitrary Linux branch, and one more runner Marek Marczykowski-Górecki
` (3 preceding siblings ...)
2025-06-23 13:47 ` [PATCH v1 4/6] CI: make test-artifacts branch/job customizable Marek Marczykowski-Górecki
@ 2025-06-23 13:47 ` Marek Marczykowski-Górecki
2025-06-23 20:58 ` Stefano Stabellini
2025-06-23 13:47 ` [PATCH v1 6/6] [DO NOT MERGE] CI: example how to use ssh to extract logs Marek Marczykowski-Górecki
5 siblings, 1 reply; 15+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-06-23 13:47 UTC (permalink / raw)
To: xen-devel
Cc: Marek Marczykowski-Górecki, Doug Goldstein,
Stefano Stabellini
This allows Alpine startup script to properly handle service
dependencies - necessary for starting dropbear ssh server.
For the latter, always take the IP address from DHCP, in addition to the
test-local one.
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
automation/scripts/qubes-x86-64.sh | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh
index 2750d24eba17..cf040a29856b 100755
--- a/automation/scripts/qubes-x86-64.sh
+++ b/automation/scripts/qubes-x86-64.sh
@@ -214,25 +214,23 @@ cat "${dom0_rootfs_parts[@]}" > binaries/dom0-rootfs.cpio.gz
# test-local configuration
mkdir -p rootfs
cd rootfs
-mkdir -p boot etc/local.d root
+mkdir -p boot etc/local.d root etc/network
cp -a ../automation/scripts/run-tools-tests root/
+echo "
+auto xenbr0
+iface xenbr0 inet dhcp
+ bridge-ports eth0
+ bridge-stp 0
+ up ip a a 192.168.0.1/24 dev \$IFACE
+" > etc/network/interfaces
+
echo "#!/bin/bash
bash /etc/init.d/xencommons start
-brctl addbr xenbr0
-brctl addif xenbr0 eth0
-ifconfig eth0 up
-ifconfig xenbr0 up
-ifconfig xenbr0 192.168.0.1
-
" > etc/local.d/xen.start
-if [ -n "$retrieve_xml" ]; then
- echo "timeout 30s udhcpc -i xenbr0" >> etc/local.d/xen.start
-fi
-
if [ -n "$domU_check" ]; then
echo "
# get domU console content into test log
--
git-series 0.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v1 6/6] [DO NOT MERGE] CI: example how to use ssh to extract logs
2025-06-23 13:47 [PATCH v1 0/6] Add infrastructure for testing arbitrary Linux branch, and one more runner Marek Marczykowski-Górecki
` (4 preceding siblings ...)
2025-06-23 13:47 ` [PATCH v1 5/6] CI: use Alpine's network setup Marek Marczykowski-Górecki
@ 2025-06-23 13:47 ` Marek Marczykowski-Górecki
2025-06-23 18:28 ` Demi Marie Obenour
2025-06-23 20:58 ` Stefano Stabellini
5 siblings, 2 replies; 15+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-06-23 13:47 UTC (permalink / raw)
To: xen-devel
Cc: Marek Marczykowski-Górecki, Doug Goldstein,
Stefano Stabellini
---
automation/scripts/qubes-x86-64.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh
index cf040a29856b..944d0c6d383f 100755
--- a/automation/scripts/qubes-x86-64.sh
+++ b/automation/scripts/qubes-x86-64.sh
@@ -292,6 +292,8 @@ export TEST_LOG="smoke.serial"
export TEST_TIMEOUT="$timeout"
./automation/scripts/console.exp | sed 's/\r\+$//'
TEST_RESULT=$?
+ssh -o StrictHostKeyChecking=no root@$SUT_ADDR xl dmesg || :
+ssh -o StrictHostKeyChecking=no root@$SUT_ADDR dmesg || :
if [ -n "$retrieve_xml" ]; then
nc -w 10 "$SUT_ADDR" 8080 > tests-junit.xml </dev/null
--
git-series 0.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v1 6/6] [DO NOT MERGE] CI: example how to use ssh to extract logs
2025-06-23 13:47 ` [PATCH v1 6/6] [DO NOT MERGE] CI: example how to use ssh to extract logs Marek Marczykowski-Górecki
@ 2025-06-23 18:28 ` Demi Marie Obenour
2025-06-23 18:30 ` Marek Marczykowski-Górecki
2025-06-23 20:58 ` Stefano Stabellini
1 sibling, 1 reply; 15+ messages in thread
From: Demi Marie Obenour @ 2025-06-23 18:28 UTC (permalink / raw)
To: Marek Marczykowski-Górecki, xen-devel
Cc: Doug Goldstein, Stefano Stabellini
[-- Attachment #1.1.1: Type: text/plain, Size: 890 bytes --]
On 6/23/25 09:47, Marek Marczykowski-Górecki wrote:
> ---
> automation/scripts/qubes-x86-64.sh | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh
> index cf040a29856b..944d0c6d383f 100755
> --- a/automation/scripts/qubes-x86-64.sh
> +++ b/automation/scripts/qubes-x86-64.sh
> @@ -292,6 +292,8 @@ export TEST_LOG="smoke.serial"
> export TEST_TIMEOUT="$timeout"
> ./automation/scripts/console.exp | sed 's/\r\+$//'
> TEST_RESULT=$?
> +ssh -o StrictHostKeyChecking=no root@$SUT_ADDR xl dmesg || :
> +ssh -o StrictHostKeyChecking=no root@$SUT_ADDR dmesg || :
>
> if [ -n "$retrieve_xml" ]; then
> nc -w 10 "$SUT_ADDR" 8080 > tests-junit.xml </dev/null
StrictHostKeyChecking=no is generally a bad idea.
Is there a better option?
--
Sincerely,
Demi Marie Obenour (she/her/hers)
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 7253 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 6/6] [DO NOT MERGE] CI: example how to use ssh to extract logs
2025-06-23 18:28 ` Demi Marie Obenour
@ 2025-06-23 18:30 ` Marek Marczykowski-Górecki
0 siblings, 0 replies; 15+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-06-23 18:30 UTC (permalink / raw)
To: Demi Marie Obenour; +Cc: xen-devel, Doug Goldstein, Stefano Stabellini
[-- Attachment #1: Type: text/plain, Size: 1124 bytes --]
On Mon, Jun 23, 2025 at 02:28:47PM -0400, Demi Marie Obenour wrote:
> On 6/23/25 09:47, Marek Marczykowski-Górecki wrote:
> > ---
> > automation/scripts/qubes-x86-64.sh | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh
> > index cf040a29856b..944d0c6d383f 100755
> > --- a/automation/scripts/qubes-x86-64.sh
> > +++ b/automation/scripts/qubes-x86-64.sh
> > @@ -292,6 +292,8 @@ export TEST_LOG="smoke.serial"
> > export TEST_TIMEOUT="$timeout"
> > ./automation/scripts/console.exp | sed 's/\r\+$//'
> > TEST_RESULT=$?
> > +ssh -o StrictHostKeyChecking=no root@$SUT_ADDR xl dmesg || :
> > +ssh -o StrictHostKeyChecking=no root@$SUT_ADDR dmesg || :
> >
> > if [ -n "$retrieve_xml" ]; then
> > nc -w 10 "$SUT_ADDR" 8080 > tests-junit.xml </dev/null
>
> StrictHostKeyChecking=no is generally a bad idea.
> Is there a better option?
It doesn't matter here. It's simply more convenient than a netcat that
is used few lines below.
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 1/6] CI: Switch x86 tests to 6.12.34 kernel
2025-06-23 13:47 ` [PATCH v1 1/6] CI: Switch x86 tests to 6.12.34 kernel Marek Marczykowski-Górecki
@ 2025-06-23 20:54 ` Stefano Stabellini
0 siblings, 0 replies; 15+ messages in thread
From: Stefano Stabellini @ 2025-06-23 20:54 UTC (permalink / raw)
To: Marek Marczykowski-Górecki
Cc: xen-devel, Doug Goldstein, Stefano Stabellini
[-- Attachment #1: Type: text/plain, Size: 1121 bytes --]
On Mon, 23 Jun 2025, Marek Marczykowski-Górecki wrote:
> This is necessary for the upcoming Zen4 runner.
>
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> Previous version posted in https://lore.kernel.org/xen-devel/cover.7da1777882774486a13e6f39ff4a2096f6b7901e.1744028549.git-series.marmarek@invisiblethingslab.com/T/#u (but actual patch didn't make it into the ML, as it contained dockerfile change...)
> ---
> automation/gitlab-ci/test.yaml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 842cecf71382..1b88ee5c3be7 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -21,7 +21,7 @@
>
> .x86-64-test-needs: &x86-64-test-needs
> - project: xen-project/hardware/test-artifacts
> - job: linux-6.6.56-x86_64
> + job: linux-6.12.34-x86_64
> ref: master
> - project: xen-project/hardware/test-artifacts
> job: alpine-3.18-x86_64-rootfs
> --
> git-series 0.9.1
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 3/6] CI: upload tests-junit.xml as a normal artifact too
2025-06-23 13:47 ` [PATCH v1 3/6] CI: upload tests-junit.xml as a normal artifact too Marek Marczykowski-Górecki
@ 2025-06-23 20:57 ` Stefano Stabellini
0 siblings, 0 replies; 15+ messages in thread
From: Stefano Stabellini @ 2025-06-23 20:57 UTC (permalink / raw)
To: Marek Marczykowski-Górecki
Cc: xen-devel, Doug Goldstein, Stefano Stabellini
[-- Attachment #1: Type: text/plain, Size: 788 bytes --]
On Mon, 23 Jun 2025, Marek Marczykowski-Górecki wrote:
> This allows checking the file if gitlab can't parse it for some reason.
>
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> automation/gitlab-ci/test.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index a9d871cf72ad..dc08488e76f4 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -155,6 +155,7 @@
> paths:
> - smoke.serial
> - '*.log'
> + - tests-junit.xml
> when: always
> rules:
> - if: $SELECTED_JOBS_ONLY && $CI_JOB_NAME =~ $SELECTED_JOBS_ONLY
> --
> git-series 0.9.1
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 5/6] CI: use Alpine's network setup
2025-06-23 13:47 ` [PATCH v1 5/6] CI: use Alpine's network setup Marek Marczykowski-Górecki
@ 2025-06-23 20:58 ` Stefano Stabellini
0 siblings, 0 replies; 15+ messages in thread
From: Stefano Stabellini @ 2025-06-23 20:58 UTC (permalink / raw)
To: Marek Marczykowski-Górecki
Cc: xen-devel, Doug Goldstein, Stefano Stabellini
[-- Attachment #1: Type: text/plain, Size: 1666 bytes --]
On Mon, 23 Jun 2025, Marek Marczykowski-Górecki wrote:
> This allows Alpine startup script to properly handle service
> dependencies - necessary for starting dropbear ssh server.
> For the latter, always take the IP address from DHCP, in addition to the
> test-local one.
>
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> automation/scripts/qubes-x86-64.sh | 20 +++++++++-----------
> 1 file changed, 9 insertions(+), 11 deletions(-)
>
> diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh
> index 2750d24eba17..cf040a29856b 100755
> --- a/automation/scripts/qubes-x86-64.sh
> +++ b/automation/scripts/qubes-x86-64.sh
> @@ -214,25 +214,23 @@ cat "${dom0_rootfs_parts[@]}" > binaries/dom0-rootfs.cpio.gz
> # test-local configuration
> mkdir -p rootfs
> cd rootfs
> -mkdir -p boot etc/local.d root
> +mkdir -p boot etc/local.d root etc/network
> cp -a ../automation/scripts/run-tools-tests root/
>
> +echo "
> +auto xenbr0
> +iface xenbr0 inet dhcp
> + bridge-ports eth0
> + bridge-stp 0
> + up ip a a 192.168.0.1/24 dev \$IFACE
> +" > etc/network/interfaces
> +
> echo "#!/bin/bash
>
> bash /etc/init.d/xencommons start
>
> -brctl addbr xenbr0
> -brctl addif xenbr0 eth0
> -ifconfig eth0 up
> -ifconfig xenbr0 up
> -ifconfig xenbr0 192.168.0.1
> -
> " > etc/local.d/xen.start
>
> -if [ -n "$retrieve_xml" ]; then
> - echo "timeout 30s udhcpc -i xenbr0" >> etc/local.d/xen.start
> -fi
> -
> if [ -n "$domU_check" ]; then
> echo "
> # get domU console content into test log
> --
> git-series 0.9.1
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 6/6] [DO NOT MERGE] CI: example how to use ssh to extract logs
2025-06-23 13:47 ` [PATCH v1 6/6] [DO NOT MERGE] CI: example how to use ssh to extract logs Marek Marczykowski-Górecki
2025-06-23 18:28 ` Demi Marie Obenour
@ 2025-06-23 20:58 ` Stefano Stabellini
1 sibling, 0 replies; 15+ messages in thread
From: Stefano Stabellini @ 2025-06-23 20:58 UTC (permalink / raw)
To: Marek Marczykowski-Górecki
Cc: xen-devel, Doug Goldstein, Stefano Stabellini
[-- Attachment #1: Type: text/plain, Size: 779 bytes --]
Nice!
On Mon, 23 Jun 2025, Marek Marczykowski-Górecki wrote:
> ---
> automation/scripts/qubes-x86-64.sh | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh
> index cf040a29856b..944d0c6d383f 100755
> --- a/automation/scripts/qubes-x86-64.sh
> +++ b/automation/scripts/qubes-x86-64.sh
> @@ -292,6 +292,8 @@ export TEST_LOG="smoke.serial"
> export TEST_TIMEOUT="$timeout"
> ./automation/scripts/console.exp | sed 's/\r\+$//'
> TEST_RESULT=$?
> +ssh -o StrictHostKeyChecking=no root@$SUT_ADDR xl dmesg || :
> +ssh -o StrictHostKeyChecking=no root@$SUT_ADDR dmesg || :
>
> if [ -n "$retrieve_xml" ]; then
> nc -w 10 "$SUT_ADDR" 8080 > tests-junit.xml </dev/null
> --
> git-series 0.9.1
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 4/6] CI: make test-artifacts branch/job customizable
2025-06-23 13:47 ` [PATCH v1 4/6] CI: make test-artifacts branch/job customizable Marek Marczykowski-Górecki
@ 2025-06-23 21:04 ` Stefano Stabellini
2025-06-23 21:30 ` Marek Marczykowski-Górecki
0 siblings, 1 reply; 15+ messages in thread
From: Stefano Stabellini @ 2025-06-23 21:04 UTC (permalink / raw)
To: Marek Marczykowski-Górecki
Cc: xen-devel, Doug Goldstein, Stefano Stabellini
[-- Attachment #1: Type: text/plain, Size: 2780 bytes --]
On Mon, 23 Jun 2025, Marek Marczykowski-Górecki wrote:
> Allow choosing which artifacts branch and job to use for Linux. This
> allows running the same tests for different Linux versions, without
> duplicating a lot of yaml sections.
I just sent this reply:
https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2506231351060.8066@ubuntu-linux-20-04-desktop/
You are answering my question: the goal is to allow much wider Linux
versions testing? Because if not, I don't think there is much of a
benefit.
Do you envision a bunch of jobs in automation/gitlab-ci/test.yaml that
play with different LINUX_JOB_X86_64 / LINUX_JOB_ARM64 ? If so, we would
need the corresponding jobs in test-artifacts.
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> ---
> I have considered common LINUX_JOB and then add architecture suffix, but
> even now X86 and ARM use different jobs, so I made them separate.
> ---
> .gitlab-ci.yml | 9 +++++++++
> automation/gitlab-ci/test.yaml | 8 ++++----
> 2 files changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 7974ac4e82bc..c1d92dc485e7 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -2,6 +2,15 @@ variables:
> XEN_REGISTRY: registry.gitlab.com/xen-project/xen
> SELECTED_JOBS_ONLY:
> description: "Regex to select only some jobs, must be enclosed with /. For example /job1|job2/"
> + LINUX_ARTIFACTS_BRANCH:
> + description: "Branch in test-artifacts to use for Linux"
> + value: master
> + LINUX_JOB_X86_64:
> + description: "Job name in test-artifacts to use for Linux x86_64"
> + value: linux-6.12.34-x86_64
> + LINUX_JOB_ARM64:
> + description: "Job name in test-artifacts to use for Linux arm64"
> + value: linux-6.6.86-arm64
>
> workflow:
> name: "$CI_PIPELINE_SCHEDULE_DESCRIPTION"
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index dc08488e76f4..9fd66fb6138d 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -9,8 +9,8 @@
>
> .arm64-test-needs: &arm64-test-needs
> - project: xen-project/hardware/test-artifacts
> - job: linux-6.6.86-arm64
> - ref: master
> + job: $LINUX_JOB_ARM64
> + ref: $LINUX_ARTIFACTS_BRANCH
> - project: xen-project/hardware/test-artifacts
> job: alpine-3.18-arm64-rootfs
> ref: master
> @@ -21,8 +21,8 @@
>
> .x86-64-test-needs: &x86-64-test-needs
> - project: xen-project/hardware/test-artifacts
> - job: linux-6.12.34-x86_64
> - ref: master
> + job: $LINUX_JOB_X86_64
> + ref: $LINUX_ARTIFACTS_BRANCH
> - project: xen-project/hardware/test-artifacts
> job: alpine-3.18-x86_64-rootfs
> ref: master
> --
> git-series 0.9.1
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 4/6] CI: make test-artifacts branch/job customizable
2025-06-23 21:04 ` Stefano Stabellini
@ 2025-06-23 21:30 ` Marek Marczykowski-Górecki
0 siblings, 0 replies; 15+ messages in thread
From: Marek Marczykowski-Górecki @ 2025-06-23 21:30 UTC (permalink / raw)
To: Stefano Stabellini; +Cc: xen-devel, Doug Goldstein
[-- Attachment #1: Type: text/plain, Size: 4020 bytes --]
On Mon, Jun 23, 2025 at 02:04:36PM -0700, Stefano Stabellini wrote:
> On Mon, 23 Jun 2025, Marek Marczykowski-Górecki wrote:
> > Allow choosing which artifacts branch and job to use for Linux. This
> > allows running the same tests for different Linux versions, without
> > duplicating a lot of yaml sections.
>
> I just sent this reply:
> https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2506231351060.8066@ubuntu-linux-20-04-desktop/
>
> You are answering my question: the goal is to allow much wider Linux
> versions testing? Because if not, I don't think there is much of a
> benefit.
Yes, the goal is to get wider Linux versions testing, including some
select "staging" Linux branches, not only frozen tags.
> Do you envision a bunch of jobs in automation/gitlab-ci/test.yaml that
> play with different LINUX_JOB_X86_64 / LINUX_JOB_ARM64 ? If so, we would
> need the corresponding jobs in test-artifacts.
See the cover letter (in which I forgot to CC you...).
The idea is to have separate pipelines (via a schedule) to test
different Linux branches, and each of them would select what Linux
branch is tested using those variables. For the LINUX_JOB_* variables it
would be mostly selecting between "frozen" Linux tag (for Xen standard
pipeline) and the "arbitrary git branch" one (for different Linux
versions). And then in the test-artifacts repo it can be either by
adding more jobs (as you suggests here), or more branches (all equal to
master) - each having a pipelines with different
LINUX_GIT_VERSION/LINUX_GIT_URL. In the latter case,
LINUX_ARTIFACTS_BRANCH would select which Linux build to use (+
LINUX_JOB_* set to linux-git-*).
> > Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> > ---
> > I have considered common LINUX_JOB and then add architecture suffix, but
> > even now X86 and ARM use different jobs, so I made them separate.
> > ---
> > .gitlab-ci.yml | 9 +++++++++
> > automation/gitlab-ci/test.yaml | 8 ++++----
> > 2 files changed, 13 insertions(+), 4 deletions(-)
> >
> > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > index 7974ac4e82bc..c1d92dc485e7 100644
> > --- a/.gitlab-ci.yml
> > +++ b/.gitlab-ci.yml
> > @@ -2,6 +2,15 @@ variables:
> > XEN_REGISTRY: registry.gitlab.com/xen-project/xen
> > SELECTED_JOBS_ONLY:
> > description: "Regex to select only some jobs, must be enclosed with /. For example /job1|job2/"
> > + LINUX_ARTIFACTS_BRANCH:
> > + description: "Branch in test-artifacts to use for Linux"
> > + value: master
> > + LINUX_JOB_X86_64:
> > + description: "Job name in test-artifacts to use for Linux x86_64"
> > + value: linux-6.12.34-x86_64
> > + LINUX_JOB_ARM64:
> > + description: "Job name in test-artifacts to use for Linux arm64"
> > + value: linux-6.6.86-arm64
> >
> > workflow:
> > name: "$CI_PIPELINE_SCHEDULE_DESCRIPTION"
> > diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> > index dc08488e76f4..9fd66fb6138d 100644
> > --- a/automation/gitlab-ci/test.yaml
> > +++ b/automation/gitlab-ci/test.yaml
> > @@ -9,8 +9,8 @@
> >
> > .arm64-test-needs: &arm64-test-needs
> > - project: xen-project/hardware/test-artifacts
> > - job: linux-6.6.86-arm64
> > - ref: master
> > + job: $LINUX_JOB_ARM64
> > + ref: $LINUX_ARTIFACTS_BRANCH
> > - project: xen-project/hardware/test-artifacts
> > job: alpine-3.18-arm64-rootfs
> > ref: master
> > @@ -21,8 +21,8 @@
> >
> > .x86-64-test-needs: &x86-64-test-needs
> > - project: xen-project/hardware/test-artifacts
> > - job: linux-6.12.34-x86_64
> > - ref: master
> > + job: $LINUX_JOB_X86_64
> > + ref: $LINUX_ARTIFACTS_BRANCH
> > - project: xen-project/hardware/test-artifacts
> > job: alpine-3.18-x86_64-rootfs
> > ref: master
> > --
> > git-series 0.9.1
> >
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2025-06-23 21:30 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-23 13:47 [PATCH v1 0/6] Add infrastructure for testing arbitrary Linux branch, and one more runner Marek Marczykowski-Górecki
2025-06-23 13:47 ` [PATCH v1 1/6] CI: Switch x86 tests to 6.12.34 kernel Marek Marczykowski-Górecki
2025-06-23 20:54 ` Stefano Stabellini
2025-06-23 13:47 ` [PATCH v1 2/6] CI: add AMD Zen 4 HW runner Marek Marczykowski-Górecki
2025-06-23 13:47 ` [PATCH v1 3/6] CI: upload tests-junit.xml as a normal artifact too Marek Marczykowski-Górecki
2025-06-23 20:57 ` Stefano Stabellini
2025-06-23 13:47 ` [PATCH v1 4/6] CI: make test-artifacts branch/job customizable Marek Marczykowski-Górecki
2025-06-23 21:04 ` Stefano Stabellini
2025-06-23 21:30 ` Marek Marczykowski-Górecki
2025-06-23 13:47 ` [PATCH v1 5/6] CI: use Alpine's network setup Marek Marczykowski-Górecki
2025-06-23 20:58 ` Stefano Stabellini
2025-06-23 13:47 ` [PATCH v1 6/6] [DO NOT MERGE] CI: example how to use ssh to extract logs Marek Marczykowski-Górecki
2025-06-23 18:28 ` Demi Marie Obenour
2025-06-23 18:30 ` Marek Marczykowski-Górecki
2025-06-23 20:58 ` Stefano Stabellini
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.