Subject: [bug#60373] Kernel job for Cuirass

From: Leo Famulari <[email-masked]>
Date: Wed, 28 Dec 2022 17:50:13 -0500

On Wed, Dec 28, 2022 at 03:35:18PM +0100, Mathieu Othacehe wrote:
> What you could do instead is something like:
> 
> --8<---------------cut here---------------start------------->8---
> ((specification
>    (name "kernel-updates")
>    (build '(manifests "etc/kernels-manifest.scm"))
>    (period 7200)
>    (priority 2)
>    (systems '#$systems))
>  (specification
>    (name "kernel-updates-images")
>    (build 'images)
>    (period 7200)
>    (priority 2)
>    (systems '#$systems))
>  (specification
>    (name "kernel-updates-tests")
>    (build 'system-tests)
>    (period 7200)
>    (priority 2)
>    (systems '("x86_64-linux"))))
> --8<---------------cut here---------------end--------------->8---

That's perfect! I've attached an updated patch.

> Then we could think about supporting multiple build subsets.

Well, your suggested workaround is great, so it's not necessary to add
the functionality.

What's the procedure for making these changes? I can push to guix.git
and maintenance.git, but I'll need assistance putting the changes into
practice.
From 299039cf429210392b979a57e898c4a00ca4a6c3 Mon Sep 17 00:00:00 2001
From: Leo Famulari <[email-masked]>
Date: Tue, 27 Dec 2022 21:26:16 -0500
Subject: [PATCH v2] hydra: cuirass: Add jobsets for testing kernel updates.

* hydra/modules/sysadmin/services.scm (cuirass-specs): Add 'kernel-updates',
'kernel-updates-images', and 'kernel-updates-system-tests' jobsets.
---
 hydra/modules/sysadmin/services.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/hydra/modules/sysadmin/services.scm b/hydra/modules/sysadmin/services.scm
index d0c5b24..66bf231 100644
--- a/hydra/modules/sysadmin/services.scm
+++ b/hydra/modules/sysadmin/services.scm
@@ -2,6 +2,7 @@
 ;;;
 ;;; Copyright © 2016-2022 Ludovic Courtès <[email-masked]>
 ;;; Copyright © 2017, 2018, 2020, 2022 Ricardo Wurmus <[email-masked]>
+;;; Copyright © 2022 Leo Famulari <[email-masked]>
 ;;;
 ;;; This program is free software: you can redistribute it and/or modify
 ;;; it under the terms of the GNU General Public License as published by
@@ -347,6 +348,26 @@
                         (branch "core-updates"))))
                 (priority 4)
                 (systems '#$systems)))
+            #~())
+     #$@(if (member "kernel-updates" branches)
+            #~((specification
+                (name "kernel-updates")
+                (build '(manifests "etc/kernels-manifests.scm"))
+                (period 7200)
+                (priority 2)
+                (systems '#$systems))
+               (specification
+                (name "kernel-updates-images")
+                (build 'images)
+                (period 7200)
+                (priority 2)
+                (systems '#$systems))
+               (specification
+                (name "kernel-updates-system-tests")
+                (build 'system-tests)
+                (period 7200)
+                (priority 2)
+                (systems '("x86_64-linux"))))
             #~())))
 
 
-- 
2.38.1