From nobody Thu Apr 2 01:31:53 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=invisiblethingslab.com ARC-Seal: i=1; a=rsa-sha256; t=1774999377; cv=none; d=zohomail.com; s=zohoarc; b=Qq7NtlIucqNuiVNzvvQcvNKz7wzA9/vYAo3bAQLeDrVxIchRBp6SIC8ioCaHirNf/DNQFHC3itPyxyNdvG0Sp6dFIzvaqGeK6Brcah2M/b1Z0mHl8+ty8KNnR4oDK6l1G/bNN9x3F9Wx3amp2Mk0sSgqitxLCLcLhG79dz7K/Ko= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774999377; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=moVi/O9dAO2xUmeqXlZa9N1EutJTW6W3wzH4QWIGYvo=; b=RoCZ9p6KoxdQHvVKZEE0eMDRM6IdnEdhFZwvZLhVJoHc3N5tPV+U40VTuRVu1fGxify2xqEua/HDWNWEsnplGTVFTunsQXywG3DtqyZ46QTlAwJZbk42L+jD8aET6Ppa2GTWEnCrB5tP0wFvsfcs0Hluk/kMeOQ6/DRmlrcH6ug= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1774999377254270.5379313723123; Tue, 31 Mar 2026 16:22:57 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1269363.1558454 (Exim 4.92) (envelope-from ) id 1w7iPf-0001m3-C3; Tue, 31 Mar 2026 23:22:23 +0000 Received: by outflank-mailman (output) from mailman id 1269363.1558454; Tue, 31 Mar 2026 23:22:23 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1w7iPf-0001ln-8t; Tue, 31 Mar 2026 23:22:23 +0000 Received: by outflank-mailman (input) for mailman id 1269363; Tue, 31 Mar 2026 23:22:22 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1w7iPd-0001Vd-So for xen-devel@lists.xenproject.org; Tue, 31 Mar 2026 23:22:21 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1w7iPd-000kEs-9K for xen-devel@lists.xenproject.org; Wed, 01 Apr 2026 01:22:21 +0200 Received: from [10.42.69.1] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 69cc56f4-e002-0a2a0a5209dd-0a2a4501db78-42 for ; Wed, 01 Apr 2026 01:22:21 +0200 Received: from [103.168.172.149] (helo=fout-a6-smtp.messagingengine.com) by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.0) (envelope-from ) id 69cc572c-6fc9-0a2a45010019-67a8ac95cff9-3 for ; Wed, 01 Apr 2026 01:22:21 +0200 Received: from phl-compute-04.internal (phl-compute-04.internal [10.202.2.44]) by mailfout.phl.internal (Postfix) with ESMTP id 1C25BEC011C; Tue, 31 Mar 2026 19:22:20 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-04.internal (MEProxy); Tue, 31 Mar 2026 19:22:20 -0400 Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 31 Mar 2026 19:22:18 -0400 (EDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=fm1 header.d=invisiblethingslab.com header.i="@invisiblethingslab.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=fm2 header.d=messagingengine.com header.i="@messagingengine.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:Feedback-ID:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To:X-ME-Proxy:X-ME-Sender" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= invisiblethingslab.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm1; t=1774999340; x=1775085740; bh=moVi/O9dAO 2xUmeqXlZa9N1EutJTW6W3wzH4QWIGYvo=; b=bNcgtnlr5wtupQ7KIr12yYWp4i EPQCu7VS4YSql3jQ/WCMOiFgrmCpSHwksXnmKA61VxrZ3qNVTwHdQl2nB5I/eRah u4TMx1TFvxysjTkE5JROSk1Sm/t54LGESgNpbB0P7jQC4qn3vOBm0p3E0sDL9PxU 2vk47CKTaAU5unO88FS+26s9Mcbmr8kG0mYdEMzexIWcpR/9XBB7WHHVApsJxLSk 521cO4wIsyIV/U+tHOTtngrQxs/5Ibe+QaIiqnFJOoIT7nFehzl8GEQL3B50p88V d6EQqln4k1MMb6t29L+Thzgas1rPixK6nXx8i4HEhdEn2M8PgGfXnjNbWDkA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1774999340; x= 1775085740; bh=moVi/O9dAO2xUmeqXlZa9N1EutJTW6W3wzH4QWIGYvo=; b=o wO82t+rW8YJ+VvdcoqerSeWmL8jdq6RpJ1y0QYnxoTAR8N1+7ROFC7ifrKhY1/BG vjWc4Xkjqkfk0U5UsZH5lEqtiPCzlFi6CxRyiI/XXBoT/vt2MmILj3ufxHc6+xqN 0y/hyUUl1ytlwMOuG05Pb5BlhXt592A6tJOOGmvIOoANSrKmyYP2mv5BSNy/60WJ zF44BhDyCYqzTZ8OTb5wXk3OWmtXcO40bl8dmXnhZn+qS0x6d24BFj7DypNQ9n/g srWQU/jnjhRMbIRxQrE0WE0+ge03G4sW+8Ehd9lrCkptl0kp5oUEATJjvI8Av0Jx lohsSfYGfM8Skp5p226KQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgdduheduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceurghi lhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurh ephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghrvghkucfo rghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvhhish hisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefglefggfeu ffegjeduheeigeetueegfeekjeetgffhvdeiffeiieejgfduieekgeenucffohhmrghinh epghhithhlrggsrdgtohhmpdhkvghrnhgvlhdrohhrghenucevlhhushhtvghrufhiiigv pedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisg hlvghthhhinhhgshhlrggsrdgtohhmpdhnsggprhgtphhtthhopeehpdhmohguvgepshhm thhpohhuthdprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhroh hjvggtthdrohhrghdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvghrfeestghithhr ihigrdgtohhmpdhrtghpthhtohepshhsthgrsggvlhhlihhniheskhgvrhhnvghlrdhorh hgpdhrtghpthhtoheprhhoghgvrhdrphgruhestghithhrihigrdgtohhmpdhrtghpthht ohepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh X-ME-Proxy: Feedback-ID: i1568416f:Fastmail From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= To: xen-devel@lists.xenproject.org Cc: Andrew Cooper , Stefano Stabellini , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Subject: [PATCH test-artifacts v3 07/13] Support building arbitrary Linux branch/tag/commit Date: Wed, 1 Apr 2026 01:21:57 +0200 Message-ID: X-Mailer: git-send-email 2.53.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-d62444/1774999341-B7AFD185-4B539DD3/0/0 X-purgate-type: clean X-purgate-size: 3875 X-ZohoMail-DKIM: pass (identity @invisiblethingslab.com) X-ZM-MESSAGEID: 1774999379216158500 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 featu= re). 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=C3=B3recki --- Changes in v3: - pass kernel version via script arguments, not variables --- .gitlab-ci.yml | 23 ++++++++++++++++++----- scripts/build-linux.sh | 21 ++++++++++++++++----- 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 58f7571f5366..62b2a24e7faf 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" =20 stages: - build @@ -49,9 +53,13 @@ alpine-3.22-arm64-rootfs: =20 linux-6.6.86-arm64: extends: .arm64-artifacts - script: ./scripts/build-linux.sh - variables: - LINUX_VERSION: 6.6.86 + script: ./scripts/build-linux.sh "6.6.86" + +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 =20 # # x86_64 artifacts @@ -79,9 +87,8 @@ debian-13-x86_64-rootfs: =20 linux-6.6.56-x86_64: extends: .x86_64-artifacts - script: ./scripts/build-linux.sh + script: ./scripts/build-linux.sh "6.6.56" variables: - LINUX_VERSION: 6.6.56 ARGO_SHA: "cf73819cacc945baca1a7421e5836d1bd481739b" ARGOEXEC_SHA: "d900429f6640acc6f68a3d3a4c945d7da60625d8" =20 @@ -89,6 +96,12 @@ linux-6.12.60-x86_64: extends: .x86_64-artifacts script: ./scripts/build-linux.sh "6.12.60" =20 +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 cf0e744bd232..882bac2189a6 100755 --- a/scripts/build-linux.sh +++ b/scripts/build-linux.sh @@ -1,5 +1,8 @@ #!/usr/bin/env bash =20 +LINUX_VERSION=3D"$1" +LINUX_GIT_URL=3D"$2" + if test -z "${LINUX_VERSION}" then >&2 echo "LINUX_VERSION must be set"; exit 1 @@ -12,11 +15,19 @@ COPYDIR=3D"${WORKDIR}/binaries" UNAME=3D$(uname -m) =20 # Build Linux -MAJOR=3D${LINUX_VERSION%%.*} -curl -fsSLO \ - https://cdn.kernel.org/pub/linux/kernel/v"${MAJOR}".x/linux-"${LINUX_V= ERSION}".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=3D1 "${LINUX_GIT_URL}" "${LINUX_VERSION}" + git checkout FETCH_HEAD +else + MAJOR=3D${LINUX_VERSION%%.*} + curl -fsSLO \ + https://cdn.kernel.org/pub/linux/kernel/v"${MAJOR}".x/linux-"${LIN= UX_VERSION}".tar.xz + tar xf linux-"${LINUX_VERSION}".tar.xz + cd linux-"${LINUX_VERSION}" +fi =20 make defconfig ./scripts/config --enable BRIDGE --=20 git-series 0.9.1