Subject: [bug#41828] [PATCH 1/2] ci: Add a 'staging' jobset.

From: Marius Bakke <[email-masked]>
Date: Fri, 12 Jun 2020 16:34:33 +0200

* gnu/ci.scm (%staging-packages): New variable.
(hydra-jobs): Add case for 'staging and use it.
---
 gnu/ci.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/ci.scm b/gnu/ci.scm
index fa67168e22..ee8faffd3b 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <[email-masked]>
 ;;; Copyright © 2017 Jan Nieuwenhuizen <[email-masked]>
 ;;; Copyright © 2018, 2019 Clément Lassieur <[email-masked]>
+;;; Copyright © 2020 Marius Bakke <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -125,6 +126,14 @@ SYSTEM."
         %guile-bootstrap-tarball
         %bootstrap-tarballs))
 
+(define %staging-packages
+  ;; Selected packages intended to be used for the staging jobset in between
+  ;; freeze cycles to avoid building everything all the time, yet still
+  ;; exercise the package graphs enough to catch regressions.
+  (map specification->package
+       '("guix" "emacs" "diffoscope" "network-manager" "syncthing"
+         "alacritty" "git" "git-annex" "krita" "qemu" "grub-hybrid")))
+
 (define (packages-to-cross-build target)
   "Return the list of packages to cross-build for TARGET."
   ;; Don't cross-build the bootstrap tarballs for MinGW.
@@ -499,6 +508,12 @@ Return #f if no such checkout is found."
                                                  package system))
                                   %core-packages)
                              (cross-jobs store system)))
+                    ((staging)
+                     ;; Build a small, but heavy sample only.
+                     (append (map (lambda (package)
+                                    (package-job store (job-name package)
+                                                 package system))
+                                  %staging-packages)))
                     ((hello)
                      ;; Build hello package only.
                      (if (string=? system (%current-system))
-- 
2.26.2