All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 00/13] Changes for several CI improvements
@ 2026-05-04 12:35 Marek Marczykowski-Górecki
  2026-05-04 12:35 ` [PATCH v4 01/13] Add Alpine 3.23 containers Marek Marczykowski-Górecki
                   ` (12 more replies)
  0 siblings, 13 replies; 24+ messages in thread
From: Marek Marczykowski-Górecki @ 2026-05-04 12:35 UTC (permalink / raw)
  To: xen-devel
  Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
	Marek Marczykowski-Górecki

- Alpine update
- Debian trixie
- test arbitrary linux branch
- Linux stubdom
- enable SSH access

Green pipeline: https://gitlab.com/xen-project/people/marmarek/test-artifacts/-/pipelines/2498055947

Example Linux test:

Linux-next (20260504):
    https://gitlab.com/xen-project/people/marmarek/test-artifacts/-/pipelines/2496653697

A few genuine failures there:
- kbl-pci-pv-x86_64-gcc-debug:
   domU gets:

   (domU) [    0.449203] pcifront pci-0: xenbus: state reset occurred, reconnecting
   (domU) [    0.449426] pcifront pci-0: 22 freeing event channel 8

   and no PCI device ever appears

- zen3p-pvshim-x86-64-gcc-debug

    [    1.133364] ------------[ cut here ]------------
    [    1.133398] WARNING: arch/x86/xen/multicalls.c:190 at xen_mc_flush+0x198/0x240, CPU#0: swapper/0/1
    [    1.133457] Modules linked in:
    [    1.133488] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 7.1.0-rc1-next-20260430-gb9303e6bff70 #1 PREEMPT(lazy)
    [    1.133552] RIP: e030:xen_mc_flush+0x198/0x240
    [    1.133588] Code: 48 8b 43 10 48 8b 7b 20 4c 8b 53 38 4c 8b 43 40 e8 9d 85 14 01 48 89 43 18 48 85 c0 0f 89 1b ff ff ff 8b 3b be 01 00 00 00 90 <0f> 0b 90 65 8b 0d 02 9a 94 02 89 fa 48 c7 c7 78 b5 c1 82 e8 10 6e
    [    1.133693] RSP: e02b:ffffc9004000bcc0 EFLAGS: 00010086
    [    1.133730] RAX: ffffffffffffffff RBX: ffff88801da16c40 RCX: ffff88801da17450
    [    1.133778] RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000001
    [    1.133826] RBP: ffff88801da16c40 R08: 0000000000000000 R09: 0000000000000001
    [    1.133874] R10: 0000000000007ff0 R11: ffffc90040015fff R12: ffff888006570280
    [    1.133936] R13: 0000000000000000 R14: ffffc90040016000 R15: 8000000000000073
    [    1.133992] FS:  0000000000000000(0000) GS:ffff888099e14000(0000) knlGS:0000000000000000
    [    1.134040] CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
    [    1.134045] CR2: ffffc9000083f000 CR3: 0000000003034000 CR4: 0000000000050660
    [    1.134045] Call Trace:
    [    1.134045]  <TASK>
    [    1.134045]  ? xen_mc_issue+0x24/0x90
    [    1.134045]  xen_leave_lazy_mmu+0x10/0x50
    [    1.134045]  vmap_range_noflush+0x54d/0x7b0
    [    1.134045]  __ioremap_caller.isra.0+0x174/0x290
    [    1.134045]  ? print_s5_reset_status_mmio+0x1c/0x90
    [    1.134045]  ? __pfx_print_s5_reset_status_mmio+0x10/0x10
    [    1.134045]  print_s5_reset_status_mmio+0x1c/0x90
    [    1.134045]  do_one_initcall+0x58/0x240
    [    1.134045]  kernel_init_freeable+0x1e2/0x240
    [    1.134045]  ? __pfx_kernel_init+0x10/0x10
    [    1.134045]  kernel_init+0x15/0x130
    [    1.134045]  ret_from_fork+0x17e/0x240
    [    1.134045]  ? __pfx_kernel_init+0x10/0x10
    [    1.134045]  ret_from_fork_asm+0x1a/0x30
    [    1.134045]  </TASK>
    [    1.134045] ---[ end trace 0000000000000000 ]---

    Kinda similar to https://lore.kernel.org/xen-devel/aaBH3EAchUwKhrUA@mail-itl/
    (which is still not solved)

- zen3p-smoke-x86-64-dom0pvh-gcc-debug and few other PVH dom0 - dom0 crash without printing panic message

Marek Marczykowski-Górecki (13):
  Add Alpine 3.23 containers
  Switch Linux builds to use Alpine 3.23 container
  Add debian rootfs artifact
  Enable CONFIG_USB_RTL8152 in kernel for hw12 runner
  Include git in the ARM64 build container too
  Support building arbitrary Linux branch/tag/commit
  Add linux-6.12.79-x86_64
  Save Linux config to artifacts too
  Add trigger-test job, to run test on a Linux built from a branch/tag
  Add linux-stubdom dependencies
  Prepare grub for booting x86_64 HVM domU from a disk
  Prepare grub for booting x86_64 HVM domU from a cdrom
  Setup ssh access to test systems

 .gitlab-ci.yml                             |  82 ++++++++++++++++--
 containerize                               |   6 +-
 images/alpine/3.18-arm64-build.dockerfile  |   1 +-
 images/alpine/3.23-arm64-base.dockerfile   |   6 +-
 images/alpine/3.23-arm64-build.dockerfile  |  31 +++++++-
 images/alpine/3.23-x86_64-base.dockerfile  |   6 +-
 images/alpine/3.23-x86_64-build.dockerfile |  43 +++++++++-
 images/debian/13-x86_64-base.dockerfile    |   4 +-
 scripts/alpine-rootfs.sh                   |  24 +++++-
 scripts/build-linux.sh                     |  26 ++++--
 scripts/debian-rootfs.sh                   | 100 ++++++++++++++++++++++-
 11 files changed, 316 insertions(+), 13 deletions(-)
 create mode 100644 images/alpine/3.23-arm64-base.dockerfile
 create mode 100644 images/alpine/3.23-arm64-build.dockerfile
 create mode 100644 images/alpine/3.23-x86_64-base.dockerfile
 create mode 100644 images/alpine/3.23-x86_64-build.dockerfile
 create mode 100644 images/debian/13-x86_64-base.dockerfile
 create mode 100755 scripts/debian-rootfs.sh

base-commit: 76894a5929bc604fb5bdb4aff2f94a6a9df68cdb
-- 
git-series 0.9.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH v4 01/13] Add Alpine 3.23 containers
  2026-05-04 12:35 [PATCH v4 00/13] Changes for several CI improvements Marek Marczykowski-Górecki
@ 2026-05-04 12:35 ` Marek Marczykowski-Górecki
  2026-05-22 13:28   ` Anthony PERARD
  2026-05-04 12:35 ` [PATCH v4 02/13] Switch Linux builds to use Alpine 3.23 container Marek Marczykowski-Górecki
                   ` (11 subsequent siblings)
  12 siblings, 1 reply; 24+ messages in thread
From: Marek Marczykowski-Górecki @ 2026-05-04 12:35 UTC (permalink / raw)
  To: xen-devel
  Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
	Marek Marczykowski-Górecki

Add it in all variants:
- base container
- build container
- initramfs archive

libdw used to be part of libelf in Alpine 3.18, but it's a separate
package in 3.23.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
Changes in v4:
- Update to Alpine 3.23
- Fix alpine-3.22-arm64-rootfs
- Adjust default in containerize script
Changes in v3:
- add comment about libdw
---
 .gitlab-ci.yml                             | 14 +++++++-
 containerize                               |  6 ++-
 images/alpine/3.23-arm64-base.dockerfile   |  6 +++-
 images/alpine/3.23-arm64-build.dockerfile  | 31 +++++++++++++++++-
 images/alpine/3.23-x86_64-base.dockerfile  |  6 +++-
 images/alpine/3.23-x86_64-build.dockerfile | 43 +++++++++++++++++++++++-
 scripts/alpine-rootfs.sh                   |  6 +++-
 7 files changed, 111 insertions(+), 1 deletion(-)
 create mode 100644 images/alpine/3.23-arm64-base.dockerfile
 create mode 100644 images/alpine/3.23-arm64-build.dockerfile
 create mode 100644 images/alpine/3.23-x86_64-base.dockerfile
 create mode 100644 images/alpine/3.23-x86_64-build.dockerfile

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c698612..b86d9aa 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -40,6 +40,13 @@ alpine-3.18-arm64-rootfs:
   variables:
     CONTAINER: alpine:3.18-arm64-base
 
+alpine-3.23-arm64-rootfs:
+  extends: .arm64-artifacts
+  script:
+    - ./scripts/alpine-rootfs.sh
+  variables:
+    CONTAINER: alpine:3.23-arm64-base
+
 linux-6.6.86-arm64:
   extends: .arm64-artifacts
   script: ./scripts/build-linux.sh
@@ -56,6 +63,13 @@ alpine-3.18-x86_64-rootfs:
   variables:
     CONTAINER: alpine:3.18-x86_64-base
 
+alpine-3.23-x86_64-rootfs:
+  extends: .x86_64-artifacts
+  script:
+    - ./scripts/alpine-rootfs.sh
+  variables:
+    CONTAINER: alpine:3.23-x86_64-base
+
 linux-6.6.56-x86_64:
   extends: .x86_64-artifacts
   script: ./scripts/build-linux.sh
diff --git a/containerize b/containerize
index 38a434a..a74ef45 100755
--- a/containerize
+++ b/containerize
@@ -27,7 +27,11 @@ case "_${CONTAINER}" in
     _alpine-3.18-arm64-base) CONTAINER="${BASE}/alpine:3.18-arm64-base" ;;
     _alpine-3.18-arm64-build) CONTAINER="${BASE}/alpine:3.18-arm64-build" ;;
     _alpine-3.18-x86_64-base) CONTAINER="${BASE}/alpine:3.18-x86_64-base" ;;
-    _alpine-3.18-x86_64-build|_) CONTAINER="${BASE}/alpine:3.18-x86_64-build" ;;
+    _alpine-3.18-x86_64-build) CONTAINER="${BASE}/alpine:3.18-x86_64-build" ;;
+    _alpine-3.23-arm64-base) CONTAINER="${BASE}/alpine:3.23-arm64-base" ;;
+    _alpine-3.23-arm64-build) CONTAINER="${BASE}/alpine:3.23-arm64-build" ;;
+    _alpine-3.23-x86_64-base) CONTAINER="${BASE}/alpine:3.23-x86_64-base" ;;
+    _alpine-3.23-x86_64-build|_) CONTAINER="${BASE}/alpine:3.23-x86_64-build" ;;
 esac
 
 # Use this variable to control whether root should be used
diff --git a/images/alpine/3.23-arm64-base.dockerfile b/images/alpine/3.23-arm64-base.dockerfile
new file mode 100644
index 0000000..5899803
--- /dev/null
+++ b/images/alpine/3.23-arm64-base.dockerfile
@@ -0,0 +1,6 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/arm64/v8 alpine:3.23
+LABEL maintainer.name="The Xen Project"
+LABEL maintainer.email="xen-devel@lists.xenproject.org"
+
+RUN apk --no-cache add bash
diff --git a/images/alpine/3.23-arm64-build.dockerfile b/images/alpine/3.23-arm64-build.dockerfile
new file mode 100644
index 0000000..1e04b3a
--- /dev/null
+++ b/images/alpine/3.23-arm64-build.dockerfile
@@ -0,0 +1,31 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/arm64/v8 alpine:3.23
+LABEL maintainer.name="The Xen Project"
+LABEL maintainer.email="xen-devel@lists.xenproject.org"
+
+RUN apk --no-cache add bash
+
+RUN <<EOF
+#!/bin/bash
+      set -eu
+
+      adduser -D user --shell /bin/bash
+
+      DEPS=(# Base environment
+            build-base
+            curl
+            git
+
+            # Linux build deps
+            bison
+            findutils
+            flex
+            openssl-dev
+            perl
+      )
+
+      apk add --no-cache "${DEPS[@]}"
+EOF
+
+USER user
+WORKDIR /build
diff --git a/images/alpine/3.23-x86_64-base.dockerfile b/images/alpine/3.23-x86_64-base.dockerfile
new file mode 100644
index 0000000..4c5807f
--- /dev/null
+++ b/images/alpine/3.23-x86_64-base.dockerfile
@@ -0,0 +1,6 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/amd64 alpine:3.23
+LABEL maintainer.name="The Xen Project"
+LABEL maintainer.email="xen-devel@lists.xenproject.org"
+
+RUN apk --no-cache add bash
diff --git a/images/alpine/3.23-x86_64-build.dockerfile b/images/alpine/3.23-x86_64-build.dockerfile
new file mode 100644
index 0000000..b938d7b
--- /dev/null
+++ b/images/alpine/3.23-x86_64-build.dockerfile
@@ -0,0 +1,43 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/amd64 alpine:3.23
+LABEL maintainer.name="The Xen Project"
+LABEL maintainer.email="xen-devel@lists.xenproject.org"
+
+RUN apk --no-cache add bash
+
+RUN <<EOF
+#!/bin/bash
+      set -eu
+
+      adduser -D user --shell /bin/bash
+
+      DEPS=(# Base environment
+            build-base
+            curl
+            git
+
+            # Linux build deps
+            bison
+            diffutils
+            elfutils-dev
+            findutils
+            flex
+            gawk
+            linux-headers
+            openssl-dev
+            perl
+
+            # Microcode
+            jq
+
+            # Argo build deps
+            autoconf
+            automake
+            libtool
+      )
+
+      apk add --no-cache "${DEPS[@]}"
+EOF
+
+USER user
+WORKDIR /build
diff --git a/scripts/alpine-rootfs.sh b/scripts/alpine-rootfs.sh
index 6fa1d56..3cd3ab9 100755
--- a/scripts/alpine-rootfs.sh
+++ b/scripts/alpine-rootfs.sh
@@ -40,6 +40,12 @@ case $UNAME in
             # QEMU
             libelf
             )
+        # libdw used to be part of libelf in Alpine 3.18, but it's a separate
+        # package in 3.22.
+        if ! grep -q VERSION_ID=3.18 /etc/os-release; then
+            # QEMU
+            PKGS+=( libdw )
+        fi
         ;;
 
     aarch64)
-- 
git-series 0.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v4 02/13] Switch Linux builds to use Alpine 3.23 container
  2026-05-04 12:35 [PATCH v4 00/13] Changes for several CI improvements Marek Marczykowski-Górecki
  2026-05-04 12:35 ` [PATCH v4 01/13] Add Alpine 3.23 containers Marek Marczykowski-Górecki
@ 2026-05-04 12:35 ` Marek Marczykowski-Górecki
  2026-05-22 13:30   ` Anthony PERARD
  2026-05-04 12:35 ` [PATCH v4 03/13] Add debian rootfs artifact Marek Marczykowski-Górecki
                   ` (10 subsequent siblings)
  12 siblings, 1 reply; 24+ messages in thread
From: Marek Marczykowski-Górecki @ 2026-05-04 12:35 UTC (permalink / raw)
  To: xen-devel
  Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
	Marek Marczykowski-Górecki

Slowly phase out 3.18 one.

But keep Linux 6.6 on Alpine 3.18 containers - it fails to build on
Alpine 3.23 (due to GCC 15 defaulting to -std=c23).

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
Changes in v4:
- Alpine 3.23
- Keep Linux 6.6 on Alpine 3.18
---
 .gitlab-ci.yml | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b86d9aa..5281c1f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -21,14 +21,14 @@ stages:
   tags:
     - arm64
   variables:
-    CONTAINER: alpine:3.18-arm64-build
+    CONTAINER: alpine:3.23-arm64-build
 
 .x86_64-artifacts:
   extends: .artifacts
   tags:
     - x86_64
   variables:
-    CONTAINER: alpine:3.18-x86_64-build
+    CONTAINER: alpine:3.23-x86_64-build
 
 #
 # ARM64 artifacts
@@ -52,6 +52,7 @@ linux-6.6.86-arm64:
   script: ./scripts/build-linux.sh
   variables:
     LINUX_VERSION: 6.6.86
+    CONTAINER: alpine:3.18-arm64-build
 
 #
 # x86_64 artifacts
@@ -77,6 +78,7 @@ linux-6.6.56-x86_64:
     LINUX_VERSION: 6.6.56
     ARGO_SHA: "cf73819cacc945baca1a7421e5836d1bd481739b"
     ARGOEXEC_SHA: "d900429f6640acc6f68a3d3a4c945d7da60625d8"
+    CONTAINER: alpine:3.18-x86_64-build
 
 microcode-x86:
   extends: .x86_64-artifacts
-- 
git-series 0.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v4 03/13] Add debian rootfs artifact
  2026-05-04 12:35 [PATCH v4 00/13] Changes for several CI improvements Marek Marczykowski-Górecki
  2026-05-04 12:35 ` [PATCH v4 01/13] Add Alpine 3.23 containers Marek Marczykowski-Górecki
  2026-05-04 12:35 ` [PATCH v4 02/13] Switch Linux builds to use Alpine 3.23 container Marek Marczykowski-Górecki
@ 2026-05-04 12:35 ` Marek Marczykowski-Górecki
  2026-05-04 12:35 ` [PATCH v4 04/13] Enable CONFIG_USB_RTL8152 in kernel for hw12 runner Marek Marczykowski-Górecki
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 24+ messages in thread
From: Marek Marczykowski-Górecki @ 2026-05-04 12:35 UTC (permalink / raw)
  To: xen-devel
  Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
	Marek Marczykowski-Górecki, Anthony PERARD

Will be used as dom0/domU in some tests.

Install systemd, but set it up to start scripts in /etc/local.d/ too, so
tests don't need different paths for Alpine and Debian.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
---
Changes in v4:
- disable persistent journal via config
Changes in v3:
- fix typo and missing dropbear args
Changes in v2:
- Use systemd
- update to trixie
- disable systemd-journal-catalog-update.service,
  systemd-modules-load.service and persistent journal to save boot time

---
---
 .gitlab-ci.yml                          |   7 ++-
 images/debian/13-x86_64-base.dockerfile |   4 +-
 scripts/debian-rootfs.sh                | 100 +++++++++++++++++++++++++-
 3 files changed, 111 insertions(+)
 create mode 100644 images/debian/13-x86_64-base.dockerfile
 create mode 100755 scripts/debian-rootfs.sh

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5281c1f..4147be5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -71,6 +71,13 @@ alpine-3.23-x86_64-rootfs:
   variables:
     CONTAINER: alpine:3.23-x86_64-base
 
+debian-13-x86_64-rootfs:
+  extends: .x86_64-artifacts
+  script:
+    - ./scripts/debian-rootfs.sh
+  variables:
+    CONTAINER: debian:13-x86_64-base
+
 linux-6.6.56-x86_64:
   extends: .x86_64-artifacts
   script: ./scripts/build-linux.sh
diff --git a/images/debian/13-x86_64-base.dockerfile b/images/debian/13-x86_64-base.dockerfile
new file mode 100644
index 0000000..f98355f
--- /dev/null
+++ b/images/debian/13-x86_64-base.dockerfile
@@ -0,0 +1,4 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/amd64 debian:trixie-slim
+LABEL maintainer.name="The Xen Project"
+LABEL maintainer.email="xen-devel@lists.xenproject.org"
diff --git a/scripts/debian-rootfs.sh b/scripts/debian-rootfs.sh
new file mode 100755
index 0000000..1da54a5
--- /dev/null
+++ b/scripts/debian-rootfs.sh
@@ -0,0 +1,100 @@
+#!/bin/bash
+
+set -eu
+
+WORKDIR="${PWD}"
+COPYDIR="${WORKDIR}/binaries"
+UNAME=$(uname -m)
+
+apt-get update
+
+PKGS=(
+    # System
+    bridge-utils
+    dropbear
+    udev
+    systemd-sysv
+    iproute2
+    inetutils-ping
+    util-linux
+    cpio
+
+    # Xen toolstack runtime deps
+    libbz2-1.0
+    libuuid1
+    liblzo2-2
+    liblzma5
+    libyajl2
+
+    # Xen Test Framework
+    python3
+
+    # QEMU
+    libglib2.0-0
+    libaio1t64
+    libpixman-1-0
+    )
+
+case $UNAME in
+    x86_64)
+        PKGS+=(
+            # System
+            pciutils
+
+            # QEMU
+            libelf1
+            )
+        ;;
+
+    aarch64)
+        PKGS+=(
+            # Xen
+            libfdt
+            )
+        ;;
+esac
+
+apt-get -y install "${PKGS[@]}"
+
+# Xen
+cd /
+# Minimal ramdisk environment in case of cpio output
+echo "ttyS0" >> /etc/securetty
+echo "hvc0" >> /etc/securetty
+echo "ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100" >> /etc/inittab
+echo "hvc0::respawn:/sbin/getty -L hvc0 115200 vt100" >> /etc/inittab
+echo "rc_verbose=yes" >> /etc/rc.conf
+echo "DROPBEAR_EXTRA_ARGS=\"-R\"" >> /etc/default/dropbear
+echo > /etc/modules
+# disable unneded services
+rm -f etc/systemd/system/timers.target.wants/apt-daily*.timer
+rm -f etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service
+rm -f usr/lib/systemd/system/sysinit.target.wants/systemd-journal-catalog-update.service
+rm -f usr/lib/systemd/system/sysinit.target.wants/systemd-modules-load.service
+# don't need persistent logging, avoid journal flush service
+mkdir -p etc/systemd/journald.conf.d
+cat >> etc/systemd/journald.conf.d/storage.conf <<EOF
+[Journal]
+Storage=volatile
+EOF
+# Tests install a startup script as /etc/local.d/xen.start
+cat > /etc/rc.local << EOF
+#!/bin/sh
+
+for f in /etc/local.d/*.start; do
+    \$f
+done
+EOF
+chmod +x /etc/rc.local
+passwd -d root
+
+# Create rootfs
+cd /
+{
+    PATHS="bin etc home init lib lib64 mnt opt root sbin srv tmp usr var"
+    find $PATHS -print0
+    echo -ne "dev\0proc\0run\0sys\0"
+} | cpio -0 -H newc -o | gzip > "${COPYDIR}/rootfs.cpio.gz"
+
+# Print the contents for the build log
+zcat "${COPYDIR}/rootfs.cpio.gz" | cpio -tv
-- 
git-series 0.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v4 04/13] Enable CONFIG_USB_RTL8152 in kernel for hw12 runner
  2026-05-04 12:35 [PATCH v4 00/13] Changes for several CI improvements Marek Marczykowski-Górecki
                   ` (2 preceding siblings ...)
  2026-05-04 12:35 ` [PATCH v4 03/13] Add debian rootfs artifact Marek Marczykowski-Górecki
@ 2026-05-04 12:35 ` Marek Marczykowski-Górecki
  2026-05-04 12:35 ` [PATCH v4 05/13] Include git in the ARM64 build container too Marek Marczykowski-Górecki
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 24+ messages in thread
From: Marek Marczykowski-Górecki @ 2026-05-04 12:35 UTC (permalink / raw)
  To: xen-devel
  Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
	Marek Marczykowski-Górecki

It uses this USB network interface.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
This was posted before at https://lore.kernel.org/xen-devel/20250411203336.585215-1-marmarek@invisiblethingslab.com/
---
 scripts/build-linux.sh | 1 +
 1 file changed, 1 insertion(+)

diff --git a/scripts/build-linux.sh b/scripts/build-linux.sh
index 441b872..cf0e744 100755
--- a/scripts/build-linux.sh
+++ b/scripts/build-linux.sh
@@ -32,6 +32,7 @@ case $UNAME in
             | grep 'XEN' \
             | grep '=m' \
             | sed 's/=m/=y/g' >> .config
+        ./scripts/config --enable USB_RTL8152
         ;;
 
     aarch64)
-- 
git-series 0.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v4 05/13] Include git in the ARM64 build container too
  2026-05-04 12:35 [PATCH v4 00/13] Changes for several CI improvements Marek Marczykowski-Górecki
                   ` (3 preceding siblings ...)
  2026-05-04 12:35 ` [PATCH v4 04/13] Enable CONFIG_USB_RTL8152 in kernel for hw12 runner Marek Marczykowski-Górecki
@ 2026-05-04 12:35 ` Marek Marczykowski-Górecki
  2026-05-04 12:35 ` [PATCH v4 06/13] Support building arbitrary Linux branch/tag/commit Marek Marczykowski-Górecki
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 24+ messages in thread
From: Marek Marczykowski-Górecki @ 2026-05-04 12:35 UTC (permalink / raw)
  To: xen-devel
  Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
	Marek Marczykowski-Górecki

It will be used for fetching some Linux versions.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
---
 images/alpine/3.18-arm64-build.dockerfile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/images/alpine/3.18-arm64-build.dockerfile b/images/alpine/3.18-arm64-build.dockerfile
index 25a8dbd..38464c9 100644
--- a/images/alpine/3.18-arm64-build.dockerfile
+++ b/images/alpine/3.18-arm64-build.dockerfile
@@ -14,6 +14,7 @@ RUN <<EOF
       DEPS=(# Base environment
             build-base
             curl
+            git
 
             # Linux build deps
             bison
-- 
git-series 0.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v4 06/13] Support building arbitrary Linux branch/tag/commit
  2026-05-04 12:35 [PATCH v4 00/13] Changes for several CI improvements Marek Marczykowski-Górecki
                   ` (4 preceding siblings ...)
  2026-05-04 12:35 ` [PATCH v4 05/13] Include git in the ARM64 build container too Marek Marczykowski-Górecki
@ 2026-05-04 12:35 ` Marek Marczykowski-Górecki
  2026-05-22 13:35   ` Anthony PERARD
  2026-05-04 12:35 ` [PATCH v4 07/13] Add linux-6.12.79-x86_64 Marek Marczykowski-Górecki
                   ` (6 subsequent siblings)
  12 siblings, 1 reply; 24+ messages in thread
From: Marek Marczykowski-Górecki @ 2026-05-04 12:35 UTC (permalink / raw)
  To: xen-devel
  Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
	Marek Marczykowski-Górecki

Change how kernel version is given to the script - use arguments, to
avoid confusion between pipeline level variables and job level ones.

The build-linux.sh now can take either just the kernel version (used to be
LINUX_VERSION variable), or git branch/tag/commit name + git URL (new feature).
Go with "git init" + "git fetch" instead of "git clone" to support any
of branch/tag/commit.

This also defines optional linux-git-* jobs which will build the thing
if LINUX_GIT_VERSION and LINUX_GIT_URL variables are provided for the
pipeline.

The idea is to define separate CI schedules for the test-artifacts repo
with LINUX_GIT_URL/LINUX_GIT_VERSION pointing at Linux trees to be
tested (for example linux-next), and then trigger matching pipelines in
the xen repo for testing with that version.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
Changes in v4:
- Adjust error message on missing version
- Extract kernel version from job name
Changes in v3:
- pass kernel version via script arguments, not variables
---
 .gitlab-ci.yml         | 29 +++++++++++++++++++++++++----
 scripts/build-linux.sh | 23 +++++++++++++++++------
 2 files changed, 42 insertions(+), 10 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4147be5..45006d4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,5 +1,9 @@
 variables:
   REGISTRY: registry.gitlab.com/xen-project/hardware/test-artifacts
+  LINUX_GIT_VERSION:
+    description: "branch/tag/commit for the linux-git jobs"
+  LINUX_GIT_URL:
+    description: "git url for the linux-git jobs"
 
 stages:
   - build
@@ -30,6 +34,13 @@ stages:
   variables:
     CONTAINER: alpine:3.23-x86_64-build
 
+.linux-tpl:
+  script: &linux-script
+  - linux_version="${CI_JOB_NAME}"
+  - linux_version="${linux_version#linux-}"
+  - linux_version="${linux_version%%-*}"
+  - ./scripts/build-linux.sh "${linux_version}"
+
 #
 # ARM64 artifacts
 #
@@ -49,11 +60,16 @@ alpine-3.23-arm64-rootfs:
 
 linux-6.6.86-arm64:
   extends: .arm64-artifacts
-  script: ./scripts/build-linux.sh
+  script: *linux-script
   variables:
-    LINUX_VERSION: 6.6.86
     CONTAINER: alpine:3.18-arm64-build
 
+linux-git-arm64:
+  extends: .arm64-artifacts
+  script: ./scripts/build-linux.sh "$LINUX_GIT_VERSION" "$LINUX_GIT_URL"
+  rules:
+  - if: $LINUX_GIT_VERSION && $LINUX_GIT_URL
+
 #
 # x86_64 artifacts
 #
@@ -80,13 +96,18 @@ debian-13-x86_64-rootfs:
 
 linux-6.6.56-x86_64:
   extends: .x86_64-artifacts
-  script: ./scripts/build-linux.sh
+  script: *linux-script
   variables:
-    LINUX_VERSION: 6.6.56
     ARGO_SHA: "cf73819cacc945baca1a7421e5836d1bd481739b"
     ARGOEXEC_SHA: "d900429f6640acc6f68a3d3a4c945d7da60625d8"
     CONTAINER: alpine:3.18-x86_64-build
 
+linux-git-x86_64:
+  extends: .x86_64-artifacts
+  script: ./scripts/build-linux.sh "$LINUX_GIT_VERSION" "$LINUX_GIT_URL"
+  rules:
+  - if: $LINUX_GIT_VERSION && $LINUX_GIT_URL
+
 microcode-x86:
   extends: .x86_64-artifacts
   script: ./scripts/x86-microcode.sh
diff --git a/scripts/build-linux.sh b/scripts/build-linux.sh
index cf0e744..e01b517 100755
--- a/scripts/build-linux.sh
+++ b/scripts/build-linux.sh
@@ -1,8 +1,11 @@
 #!/usr/bin/env bash
 
+LINUX_VERSION="$1"
+LINUX_GIT_URL="$2"
+
 if test -z "${LINUX_VERSION}"
 then
-    >&2 echo "LINUX_VERSION must be set"; exit 1
+    >&2 echo "Version argument missing"; exit 1
 fi
 
 set -ex -o pipefail
@@ -12,11 +15,19 @@ COPYDIR="${WORKDIR}/binaries"
 UNAME=$(uname -m)
 
 # Build Linux
-MAJOR=${LINUX_VERSION%%.*}
-curl -fsSLO \
-    https://cdn.kernel.org/pub/linux/kernel/v"${MAJOR}".x/linux-"${LINUX_VERSION}".tar.xz
-tar xf linux-"${LINUX_VERSION}".tar.xz
-cd linux-"${LINUX_VERSION}"
+if [[ -n "${LINUX_GIT_URL}" ]]; then
+    mkdir linux
+    cd linux
+    git init
+    git fetch --depth=1 "${LINUX_GIT_URL}" "${LINUX_VERSION}"
+    git checkout FETCH_HEAD
+else
+    MAJOR=${LINUX_VERSION%%.*}
+    curl -fsSLO \
+        https://cdn.kernel.org/pub/linux/kernel/v"${MAJOR}".x/linux-"${LINUX_VERSION}".tar.xz
+    tar xf linux-"${LINUX_VERSION}".tar.xz
+    cd linux-"${LINUX_VERSION}"
+fi
 
 make defconfig
 ./scripts/config --enable BRIDGE
-- 
git-series 0.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v4 07/13] Add linux-6.12.79-x86_64
  2026-05-04 12:35 [PATCH v4 00/13] Changes for several CI improvements Marek Marczykowski-Górecki
                   ` (5 preceding siblings ...)
  2026-05-04 12:35 ` [PATCH v4 06/13] Support building arbitrary Linux branch/tag/commit Marek Marczykowski-Górecki
@ 2026-05-04 12:35 ` Marek Marczykowski-Górecki
  2026-05-04 12:35 ` [PATCH v4 08/13] Save Linux config to artifacts too Marek Marczykowski-Górecki
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 24+ messages in thread
From: Marek Marczykowski-Górecki @ 2026-05-04 12:35 UTC (permalink / raw)
  To: xen-devel
  Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
	Marek Marczykowski-Górecki

This is necessary for new Zen4 runner.
Do not include Argo module in this build, as it isn't compatible with
6.12 yet.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
Changes in v2:
- update 6.12.34 to 6.12.60, retaining acks
Changes in v3:
- update 6.12.60 to 6.12.79, retaining acks
---
 .gitlab-ci.yml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 45006d4..3ba8a31 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -102,6 +102,10 @@ linux-6.6.56-x86_64:
     ARGOEXEC_SHA: "d900429f6640acc6f68a3d3a4c945d7da60625d8"
     CONTAINER: alpine:3.18-x86_64-build
 
+linux-6.12.79-x86_64:
+  extends: .x86_64-artifacts
+  script: *linux-script
+
 linux-git-x86_64:
   extends: .x86_64-artifacts
   script: ./scripts/build-linux.sh "$LINUX_GIT_VERSION" "$LINUX_GIT_URL"
-- 
git-series 0.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v4 08/13] Save Linux config to artifacts too
  2026-05-04 12:35 [PATCH v4 00/13] Changes for several CI improvements Marek Marczykowski-Górecki
                   ` (6 preceding siblings ...)
  2026-05-04 12:35 ` [PATCH v4 07/13] Add linux-6.12.79-x86_64 Marek Marczykowski-Górecki
@ 2026-05-04 12:35 ` Marek Marczykowski-Górecki
  2026-05-04 12:35 ` [PATCH v4 09/13] Add trigger-test job, to run test on a Linux built from a branch/tag Marek Marczykowski-Górecki
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 24+ messages in thread
From: Marek Marczykowski-Górecki @ 2026-05-04 12:35 UTC (permalink / raw)
  To: xen-devel
  Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
	Marek Marczykowski-Górecki

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 scripts/build-linux.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/scripts/build-linux.sh b/scripts/build-linux.sh
index e01b517..c51e45d 100755
--- a/scripts/build-linux.sh
+++ b/scripts/build-linux.sh
@@ -53,6 +53,8 @@ esac
 
 make olddefconfig
 
+cp .config "${COPYDIR}/linux.config"
+
 case $UNAME in
     x86_64)
         make -j$(nproc) bzImage
-- 
git-series 0.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v4 09/13] Add trigger-test job, to run test on a Linux built from a branch/tag
  2026-05-04 12:35 [PATCH v4 00/13] Changes for several CI improvements Marek Marczykowski-Górecki
                   ` (7 preceding siblings ...)
  2026-05-04 12:35 ` [PATCH v4 08/13] Save Linux config to artifacts too Marek Marczykowski-Górecki
@ 2026-05-04 12:35 ` Marek Marczykowski-Górecki
  2026-05-22 13:37   ` Anthony PERARD
  2026-05-04 12:35 ` [PATCH v4 10/13] Add linux-stubdom dependencies Marek Marczykowski-Górecki
                   ` (3 subsequent siblings)
  12 siblings, 1 reply; 24+ messages in thread
From: Marek Marczykowski-Górecki @ 2026-05-04 12:35 UTC (permalink / raw)
  To: xen-devel
  Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
	Marek Marczykowski-Górecki

When scheduling pipeline in test-artifacts repo, it can get also
TEST_TRIGGER_REPO and TEST_TRIGGER_BRANCH variables, to trigger relevant
pipeline to test just built artifacts.
Pass ARTIFACTS_REPO+ARTIFACTS_BRANCH to the child pipeline to ensure it
fetches artifacts from the right job, but avoid xen test pipeline
inheriting other variables, as they might have unintended consequences
(for example REGISTRY one).
For example, to build linux-next and test Xen staging on it, the
pipeline could be triggered with:

    LINUX_GIT_URL=https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
    LINUX_GIT_VERSION=master
    TEST_TRIGGER_REPO=xen-project/hardware/xen
    TEST_TRIGGER_BRANCH=staging

The triggered xen test pipeline will skip most build jobs.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

---
Changes in v4:
- add inherit:variables:false
---
 .gitlab-ci.yml | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3ba8a31..b3c2b65 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,9 +4,14 @@ variables:
     description: "branch/tag/commit for the linux-git jobs"
   LINUX_GIT_URL:
     description: "git url for the linux-git jobs"
+  TEST_TRIGGER_REPO:
+    description: "gitlab repo on which test just built linux, for example 'xen-project/hardware/xen'"
+  TEST_TRIGGER_BRANCH:
+    description: "branch in TEST_TRIGGER_REPO to test on, for example 'staging'"
 
 stages:
   - build
+  - deploy
 
 .artifacts:
   stage: build
@@ -115,3 +120,20 @@ linux-git-x86_64:
 microcode-x86:
   extends: .x86_64-artifacts
   script: ./scripts/x86-microcode.sh
+
+trigger-test:
+  stage: deploy
+  trigger:
+    project: $TEST_TRIGGER_REPO
+    branch: $TEST_TRIGGER_BRANCH
+    strategy: mirror
+  inherit:
+    variables: false
+  variables:
+    ARTIFACTS_REPO: $CI_PROJECT_PATH
+    ARTIFACTS_BRANCH: $CI_COMMIT_REF_NAME
+    LINUX_JOB_X86_64: linux-git-x86_64
+    LINUX_JOB_ARM64: linux-git-arm64
+    BUILD_FOR_TESTS_ONLY: 1
+  rules:
+  - if: $TEST_TRIGGER_REPO && $TEST_TRIGGER_BRANCH
-- 
git-series 0.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v4 10/13] Add linux-stubdom dependencies
  2026-05-04 12:35 [PATCH v4 00/13] Changes for several CI improvements Marek Marczykowski-Górecki
                   ` (8 preceding siblings ...)
  2026-05-04 12:35 ` [PATCH v4 09/13] Add trigger-test job, to run test on a Linux built from a branch/tag Marek Marczykowski-Górecki
@ 2026-05-04 12:35 ` Marek Marczykowski-Górecki
  2026-05-22 13:59   ` Anthony PERARD
  2026-05-04 12:35 ` [PATCH v4 11/13] Prepare grub for booting x86_64 HVM domU from a disk Marek Marczykowski-Górecki
                   ` (2 subsequent siblings)
  12 siblings, 1 reply; 24+ messages in thread
From: Marek Marczykowski-Górecki @ 2026-05-04 12:35 UTC (permalink / raw)
  To: xen-devel
  Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
	Marek Marczykowski-Górecki

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
 scripts/alpine-rootfs.sh | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/scripts/alpine-rootfs.sh b/scripts/alpine-rootfs.sh
index 3cd3ab9..2671ab5 100755
--- a/scripts/alpine-rootfs.sh
+++ b/scripts/alpine-rootfs.sh
@@ -39,6 +39,10 @@ case $UNAME in
 
             # QEMU
             libelf
+
+            # Stubdomain
+            grub-bios
+            libseccomp
             )
         # libdw used to be part of libelf in Alpine 3.18, but it's a separate
         # package in 3.22.
-- 
git-series 0.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v4 11/13] Prepare grub for booting x86_64 HVM domU from a disk
  2026-05-04 12:35 [PATCH v4 00/13] Changes for several CI improvements Marek Marczykowski-Górecki
                   ` (9 preceding siblings ...)
  2026-05-04 12:35 ` [PATCH v4 10/13] Add linux-stubdom dependencies Marek Marczykowski-Górecki
@ 2026-05-04 12:35 ` Marek Marczykowski-Górecki
  2026-05-22 13:59   ` Anthony PERARD
  2026-05-04 12:35 ` [PATCH v4 12/13] Prepare grub for booting x86_64 HVM domU from a cdrom Marek Marczykowski-Górecki
  2026-05-04 12:35 ` [PATCH v4 13/13] Setup ssh access to test systems Marek Marczykowski-Górecki
  12 siblings, 1 reply; 24+ messages in thread
From: Marek Marczykowski-Górecki @ 2026-05-04 12:35 UTC (permalink / raw)
  To: xen-devel
  Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
	Marek Marczykowski-Górecki

The stubdomain test will use it

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
 scripts/alpine-rootfs.sh | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/scripts/alpine-rootfs.sh b/scripts/alpine-rootfs.sh
index 2671ab5..18f43e6 100755
--- a/scripts/alpine-rootfs.sh
+++ b/scripts/alpine-rootfs.sh
@@ -96,5 +96,12 @@ cd /
     echo -ne "dev\0proc\0run\0sys\0"
 } | cpio -0 -R 0:0 -H newc -o | gzip > "${COPYDIR}/rootfs.cpio.gz"
 
+if [ "$UNAME" = "x86_64" ]; then
+    # Prepare boot sector for HVM disk
+    grub-mkimage -o ${COPYDIR}/grub-core.img \
+        -O i386-pc -p '(hd0,msdos1)/boot/grub2' \
+        boot part_msdos ext2 linux biosdisk configfile normal
+fi
+
 # Print the contents for the build log
 zcat "${COPYDIR}/rootfs.cpio.gz" | cpio -tv
-- 
git-series 0.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v4 12/13] Prepare grub for booting x86_64 HVM domU from a cdrom
  2026-05-04 12:35 [PATCH v4 00/13] Changes for several CI improvements Marek Marczykowski-Górecki
                   ` (10 preceding siblings ...)
  2026-05-04 12:35 ` [PATCH v4 11/13] Prepare grub for booting x86_64 HVM domU from a disk Marek Marczykowski-Górecki
@ 2026-05-04 12:35 ` Marek Marczykowski-Górecki
  2026-05-22 13:59   ` Anthony PERARD
  2026-05-04 12:35 ` [PATCH v4 13/13] Setup ssh access to test systems Marek Marczykowski-Górecki
  12 siblings, 1 reply; 24+ messages in thread
From: Marek Marczykowski-Górecki @ 2026-05-04 12:35 UTC (permalink / raw)
  To: xen-devel
  Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
	Marek Marczykowski-Górecki

The stubdomain test will use it.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
 scripts/alpine-rootfs.sh | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/scripts/alpine-rootfs.sh b/scripts/alpine-rootfs.sh
index 18f43e6..f649550 100755
--- a/scripts/alpine-rootfs.sh
+++ b/scripts/alpine-rootfs.sh
@@ -101,6 +101,9 @@ if [ "$UNAME" = "x86_64" ]; then
     grub-mkimage -o ${COPYDIR}/grub-core.img \
         -O i386-pc -p '(hd0,msdos1)/boot/grub2' \
         boot part_msdos ext2 linux biosdisk configfile normal
+    grub-mkimage -o ${COPYDIR}/grub-core-eltorito.img \
+        -O i386-pc-eltorito -p '(cd)/boot/grub2' \
+        boot part_msdos ext2 linux biosdisk configfile normal iso9660
 fi
 
 # Print the contents for the build log
-- 
git-series 0.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v4 13/13] Setup ssh access to test systems
  2026-05-04 12:35 [PATCH v4 00/13] Changes for several CI improvements Marek Marczykowski-Górecki
                   ` (11 preceding siblings ...)
  2026-05-04 12:35 ` [PATCH v4 12/13] Prepare grub for booting x86_64 HVM domU from a cdrom Marek Marczykowski-Górecki
@ 2026-05-04 12:35 ` Marek Marczykowski-Górecki
  2026-05-22 13:54   ` Anthony PERARD
  12 siblings, 1 reply; 24+ messages in thread
From: Marek Marczykowski-Górecki @ 2026-05-04 12:35 UTC (permalink / raw)
  To: xen-devel
  Cc: Andrew Cooper, Stefano Stabellini, Roger Pau Monné,
	Marek Marczykowski-Górecki

For this add also bridge package, so xenbr0 can be configured with
/etc/network/interfaces.
This allows extracting more logs out of the test system.

Create empty /etc/network/interfaces, so the 'networking' service starts
cleanly even if no interfaces are configured this way. This is
necessary, as dropbear service depends on networking.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
Changes in v4:
- adjust commit message
- drop DROPBEAR_OPTS=\"-R\"
Changes in v2:
- do not allow passwordless login
---
 scripts/alpine-rootfs.sh | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/scripts/alpine-rootfs.sh b/scripts/alpine-rootfs.sh
index f649550..c7fee4b 100755
--- a/scripts/alpine-rootfs.sh
+++ b/scripts/alpine-rootfs.sh
@@ -10,6 +10,8 @@ apk --no-cache upgrade
 
 PKGS=(
     # System
+    bridge
+    dropbear
     libgcc
     openrc
     udev
@@ -72,6 +74,7 @@ rc-update add loopback sysinit
 rc-update add bootmisc boot
 rc-update add devfs sysinit
 rc-update add dmesg sysinit
+rc-update add dropbear boot
 rc-update add hostname boot
 rc-update add hwclock boot
 rc-update add hwdrivers sysinit
@@ -85,6 +88,7 @@ echo "hvc0" >> /etc/securetty
 echo "ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100" >> /etc/inittab
 echo "hvc0::respawn:/sbin/getty -L hvc0 115200 vt100" >> /etc/inittab
 echo "rc_verbose=yes" >> /etc/rc.conf
+touch /etc/network/interfaces
 echo > /etc/modules
 passwd -d "root" root
 
-- 
git-series 0.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* Re: [PATCH v4 01/13] Add Alpine 3.23 containers
  2026-05-04 12:35 ` [PATCH v4 01/13] Add Alpine 3.23 containers Marek Marczykowski-Górecki
@ 2026-05-22 13:28   ` Anthony PERARD
  0 siblings, 0 replies; 24+ messages in thread
From: Anthony PERARD @ 2026-05-22 13:28 UTC (permalink / raw)
  To: Marek Marczykowski-Górecki
  Cc: xen-devel, Andrew Cooper, Stefano Stabellini,
	Roger Pau Monné

[-- Attachment #1: Type: text/plain, Size: 536 bytes --]

On Mon, May 04, 2026 at 02:35:40PM +0200, Marek Marczykowski-Górecki wrote:
> Add it in all variants:
> - base container
> - build container
> - initramfs archive
> 
> libdw used to be part of libelf in Alpine 3.18, but it's a separate
> package in 3.23.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,


--
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v4 02/13] Switch Linux builds to use Alpine 3.23 container
  2026-05-04 12:35 ` [PATCH v4 02/13] Switch Linux builds to use Alpine 3.23 container Marek Marczykowski-Górecki
@ 2026-05-22 13:30   ` Anthony PERARD
  0 siblings, 0 replies; 24+ messages in thread
From: Anthony PERARD @ 2026-05-22 13:30 UTC (permalink / raw)
  To: Marek Marczykowski-Górecki
  Cc: xen-devel, Andrew Cooper, Stefano Stabellini,
	Roger Pau Monné

[-- Attachment #1: Type: text/plain, Size: 510 bytes --]

On Mon, May 04, 2026 at 02:35:41PM +0200, Marek Marczykowski-Górecki wrote:
> Slowly phase out 3.18 one.
> 
> But keep Linux 6.6 on Alpine 3.18 containers - it fails to build on
> Alpine 3.23 (due to GCC 15 defaulting to -std=c23).
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,


--
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v4 06/13] Support building arbitrary Linux branch/tag/commit
  2026-05-04 12:35 ` [PATCH v4 06/13] Support building arbitrary Linux branch/tag/commit Marek Marczykowski-Górecki
@ 2026-05-22 13:35   ` Anthony PERARD
  0 siblings, 0 replies; 24+ messages in thread
From: Anthony PERARD @ 2026-05-22 13:35 UTC (permalink / raw)
  To: Marek Marczykowski-Górecki
  Cc: xen-devel, Andrew Cooper, Stefano Stabellini,
	Roger Pau Monné

[-- Attachment #1: Type: text/plain, Size: 1193 bytes --]

On Mon, May 04, 2026 at 02:35:45PM +0200, Marek Marczykowski-Górecki wrote:
> Change how kernel version is given to the script - use arguments, to
> avoid confusion between pipeline level variables and job level ones.
> 
> The build-linux.sh now can take either just the kernel version (used to be
> LINUX_VERSION variable), or git branch/tag/commit name + git URL (new feature).
> Go with "git init" + "git fetch" instead of "git clone" to support any
> of branch/tag/commit.
> 
> This also defines optional linux-git-* jobs which will build the thing
> if LINUX_GIT_VERSION and LINUX_GIT_URL variables are provided for the
> pipeline.
> 
> The idea is to define separate CI schedules for the test-artifacts repo
> with LINUX_GIT_URL/LINUX_GIT_VERSION pointing at Linux trees to be
> tested (for example linux-next), and then trigger matching pipelines in
> the xen repo for testing with that version.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,


--
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v4 09/13] Add trigger-test job, to run test on a Linux built from a branch/tag
  2026-05-04 12:35 ` [PATCH v4 09/13] Add trigger-test job, to run test on a Linux built from a branch/tag Marek Marczykowski-Górecki
@ 2026-05-22 13:37   ` Anthony PERARD
  0 siblings, 0 replies; 24+ messages in thread
From: Anthony PERARD @ 2026-05-22 13:37 UTC (permalink / raw)
  To: Marek Marczykowski-Górecki
  Cc: xen-devel, Andrew Cooper, Stefano Stabellini,
	Roger Pau Monné

[-- Attachment #1: Type: text/plain, Size: 1166 bytes --]

On Mon, May 04, 2026 at 02:35:48PM +0200, Marek Marczykowski-Górecki wrote:
> When scheduling pipeline in test-artifacts repo, it can get also
> TEST_TRIGGER_REPO and TEST_TRIGGER_BRANCH variables, to trigger relevant
> pipeline to test just built artifacts.
> Pass ARTIFACTS_REPO+ARTIFACTS_BRANCH to the child pipeline to ensure it
> fetches artifacts from the right job, but avoid xen test pipeline
> inheriting other variables, as they might have unintended consequences
> (for example REGISTRY one).
> For example, to build linux-next and test Xen staging on it, the
> pipeline could be triggered with:
> 
>     LINUX_GIT_URL=https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
>     LINUX_GIT_VERSION=master
>     TEST_TRIGGER_REPO=xen-project/hardware/xen
>     TEST_TRIGGER_BRANCH=staging
> 
> The triggered xen test pipeline will skip most build jobs.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,


--
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v4 13/13] Setup ssh access to test systems
  2026-05-04 12:35 ` [PATCH v4 13/13] Setup ssh access to test systems Marek Marczykowski-Górecki
@ 2026-05-22 13:54   ` Anthony PERARD
  2026-05-26 19:02     ` Stefano Stabellini
  0 siblings, 1 reply; 24+ messages in thread
From: Anthony PERARD @ 2026-05-22 13:54 UTC (permalink / raw)
  To: Marek Marczykowski-Górecki
  Cc: xen-devel, Andrew Cooper, Stefano Stabellini,
	Roger Pau Monné

[-- Attachment #1: Type: text/plain, Size: 711 bytes --]

On Mon, May 04, 2026 at 02:35:52PM +0200, Marek Marczykowski-Górecki wrote:
> For this add also bridge package, so xenbr0 can be configured with
> /etc/network/interfaces.
> This allows extracting more logs out of the test system.
> 
> Create empty /etc/network/interfaces, so the 'networking' service starts
> cleanly even if no interfaces are configured this way. This is
> necessary, as dropbear service depends on networking.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,


--
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v4 10/13] Add linux-stubdom dependencies
  2026-05-04 12:35 ` [PATCH v4 10/13] Add linux-stubdom dependencies Marek Marczykowski-Górecki
@ 2026-05-22 13:59   ` Anthony PERARD
  0 siblings, 0 replies; 24+ messages in thread
From: Anthony PERARD @ 2026-05-22 13:59 UTC (permalink / raw)
  To: Marek Marczykowski-Górecki
  Cc: xen-devel, Andrew Cooper, Stefano Stabellini,
	Roger Pau Monné

[-- Attachment #1: Type: text/plain, Size: 346 bytes --]

On Mon, May 04, 2026 at 02:35:49PM +0200, Marek Marczykowski-Górecki wrote:
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,


--
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v4 11/13] Prepare grub for booting x86_64 HVM domU from a disk
  2026-05-04 12:35 ` [PATCH v4 11/13] Prepare grub for booting x86_64 HVM domU from a disk Marek Marczykowski-Górecki
@ 2026-05-22 13:59   ` Anthony PERARD
  0 siblings, 0 replies; 24+ messages in thread
From: Anthony PERARD @ 2026-05-22 13:59 UTC (permalink / raw)
  To: Marek Marczykowski-Górecki
  Cc: xen-devel, Andrew Cooper, Stefano Stabellini,
	Roger Pau Monné

[-- Attachment #1: Type: text/plain, Size: 385 bytes --]

On Mon, May 04, 2026 at 02:35:50PM +0200, Marek Marczykowski-Górecki wrote:
> The stubdomain test will use it
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,


--
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v4 12/13] Prepare grub for booting x86_64 HVM domU from a cdrom
  2026-05-04 12:35 ` [PATCH v4 12/13] Prepare grub for booting x86_64 HVM domU from a cdrom Marek Marczykowski-Górecki
@ 2026-05-22 13:59   ` Anthony PERARD
  0 siblings, 0 replies; 24+ messages in thread
From: Anthony PERARD @ 2026-05-22 13:59 UTC (permalink / raw)
  To: Marek Marczykowski-Górecki
  Cc: xen-devel, Andrew Cooper, Stefano Stabellini,
	Roger Pau Monné

[-- Attachment #1: Type: text/plain, Size: 386 bytes --]

On Mon, May 04, 2026 at 02:35:51PM +0200, Marek Marczykowski-Górecki wrote:
> The stubdomain test will use it.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,


--
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v4 13/13] Setup ssh access to test systems
  2026-05-22 13:54   ` Anthony PERARD
@ 2026-05-26 19:02     ` Stefano Stabellini
  2026-06-01 16:51       ` [PATCH test-artifacts " Marek Marczykowski-Górecki
  0 siblings, 1 reply; 24+ messages in thread
From: Stefano Stabellini @ 2026-05-26 19:02 UTC (permalink / raw)
  To: Anthony PERARD
  Cc: Marek Marczykowski-Górecki, xen-devel, Andrew Cooper,
	Stefano Stabellini, Roger Pau Monné

[-- Attachment #1: Type: text/plain, Size: 759 bytes --]

On Fri, 22 May 2026, Anthony PERARD wrote:
> On Mon, May 04, 2026 at 02:35:52PM +0200, Marek Marczykowski-Górecki wrote:
> > For this add also bridge package, so xenbr0 can be configured with
> > /etc/network/interfaces.
> > This allows extracting more logs out of the test system.
> > 
> > Create empty /etc/network/interfaces, so the 'networking' service starts
> > cleanly even if no interfaces are configured this way. This is
> > necessary, as dropbear service depends on networking.
> > 
> > Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> 
> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Since Anthony has reviewed the entire series, on the whole series:

Acked-by: Stefano Stabellini <sstabellini@kernel.org>

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH test-artifacts v4 13/13] Setup ssh access to test systems
  2026-05-26 19:02     ` Stefano Stabellini
@ 2026-06-01 16:51       ` Marek Marczykowski-Górecki
  0 siblings, 0 replies; 24+ messages in thread
From: Marek Marczykowski-Górecki @ 2026-06-01 16:51 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: Anthony PERARD, xen-devel, Andrew Cooper, Roger Pau Monné

[-- Attachment #1: Type: text/plain, Size: 1039 bytes --]

On Tue, May 26, 2026 at 12:02:23PM -0700, Stefano Stabellini wrote:
> On Fri, 22 May 2026, Anthony PERARD wrote:
> > On Mon, May 04, 2026 at 02:35:52PM +0200, Marek Marczykowski-Górecki wrote:
> > > For this add also bridge package, so xenbr0 can be configured with
> > > /etc/network/interfaces.
> > > This allows extracting more logs out of the test system.
> > > 
> > > Create empty /etc/network/interfaces, so the 'networking' service starts
> > > cleanly even if no interfaces are configured this way. This is
> > > necessary, as dropbear service depends on networking.
> > > 
> > > Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> > 
> > Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
> 
> Since Anthony has reviewed the entire series, on the whole series:
> 
> Acked-by: Stefano Stabellini <sstabellini@kernel.org>

Thanks.

I seem to have forgotten the "test-artifacts" subject tag (adding now).

-- 
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] 24+ messages in thread

end of thread, other threads:[~2026-06-01 16:52 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-04 12:35 [PATCH v4 00/13] Changes for several CI improvements Marek Marczykowski-Górecki
2026-05-04 12:35 ` [PATCH v4 01/13] Add Alpine 3.23 containers Marek Marczykowski-Górecki
2026-05-22 13:28   ` Anthony PERARD
2026-05-04 12:35 ` [PATCH v4 02/13] Switch Linux builds to use Alpine 3.23 container Marek Marczykowski-Górecki
2026-05-22 13:30   ` Anthony PERARD
2026-05-04 12:35 ` [PATCH v4 03/13] Add debian rootfs artifact Marek Marczykowski-Górecki
2026-05-04 12:35 ` [PATCH v4 04/13] Enable CONFIG_USB_RTL8152 in kernel for hw12 runner Marek Marczykowski-Górecki
2026-05-04 12:35 ` [PATCH v4 05/13] Include git in the ARM64 build container too Marek Marczykowski-Górecki
2026-05-04 12:35 ` [PATCH v4 06/13] Support building arbitrary Linux branch/tag/commit Marek Marczykowski-Górecki
2026-05-22 13:35   ` Anthony PERARD
2026-05-04 12:35 ` [PATCH v4 07/13] Add linux-6.12.79-x86_64 Marek Marczykowski-Górecki
2026-05-04 12:35 ` [PATCH v4 08/13] Save Linux config to artifacts too Marek Marczykowski-Górecki
2026-05-04 12:35 ` [PATCH v4 09/13] Add trigger-test job, to run test on a Linux built from a branch/tag Marek Marczykowski-Górecki
2026-05-22 13:37   ` Anthony PERARD
2026-05-04 12:35 ` [PATCH v4 10/13] Add linux-stubdom dependencies Marek Marczykowski-Górecki
2026-05-22 13:59   ` Anthony PERARD
2026-05-04 12:35 ` [PATCH v4 11/13] Prepare grub for booting x86_64 HVM domU from a disk Marek Marczykowski-Górecki
2026-05-22 13:59   ` Anthony PERARD
2026-05-04 12:35 ` [PATCH v4 12/13] Prepare grub for booting x86_64 HVM domU from a cdrom Marek Marczykowski-Górecki
2026-05-22 13:59   ` Anthony PERARD
2026-05-04 12:35 ` [PATCH v4 13/13] Setup ssh access to test systems Marek Marczykowski-Górecki
2026-05-22 13:54   ` Anthony PERARD
2026-05-26 19:02     ` Stefano Stabellini
2026-06-01 16:51       ` [PATCH test-artifacts " Marek Marczykowski-Górecki

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.