unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#41828] [PATCH 0/2] Branching and rebuilding strategy changes
@ 2020-06-12 14:31 Marius Bakke
  2020-06-12 14:34 ` [bug#41828] [PATCH 1/2] ci: Add a 'staging' jobset Marius Bakke
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Marius Bakke @ 2020-06-12 14:31 UTC (permalink / raw)
  To: 41828

This pull request adds a reduced 'staging' jobset to Cuirass, to
prevent needless rebuilds outside of the freeze cycles.

It also adjusts the documentation to more closely match the current
staging and core-updates practices.

Marius Bakke (2):
  ci: Add a 'staging' jobset.
  doc: Adjust branching and rebuilding strategy to match reality.

 doc/contributing.texi |  8 ++++----
 gnu/ci.scm            | 15 +++++++++++++++
 2 files changed, 19 insertions(+), 4 deletions(-)

-- 
2.26.2





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

* [bug#41828] [PATCH 1/2] ci: Add a 'staging' jobset.
  2020-06-12 14:31 [bug#41828] [PATCH 0/2] Branching and rebuilding strategy changes Marius Bakke
@ 2020-06-12 14:34 ` Marius Bakke
  2020-06-12 14:34   ` [bug#41828] [PATCH 2/2] doc: Adjust branching and rebuilding strategy to match reality Marius Bakke
  2020-06-13 16:56 ` [bug#41828] [PATCH 0/2] Branching and rebuilding strategy changes Ludovic Courtès
  2020-06-22  1:17 ` bug#41828: " Marius Bakke
  2 siblings, 1 reply; 5+ messages in thread
From: Marius Bakke @ 2020-06-12 14:34 UTC (permalink / raw)
  To: 41828

* 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 <ludo@gnu.org>
 ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
 ;;;
 ;;; 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





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

* [bug#41828] [PATCH 2/2] doc: Adjust branching and rebuilding strategy to match reality.
  2020-06-12 14:34 ` [bug#41828] [PATCH 1/2] ci: Add a 'staging' jobset Marius Bakke
@ 2020-06-12 14:34   ` Marius Bakke
  0 siblings, 0 replies; 5+ messages in thread
From: Marius Bakke @ 2020-06-12 14:34 UTC (permalink / raw)
  To: 41828

The amount of packages has more than tripled since this section was written.
Adjust the rebuild limits and cycle lengths based on current practices.

* doc/contributing.texi (Submitting Patches): Increase 'staging' rebuild limit
to 1800 packages, and adjust the cycle to six weeks.  Increase 'core-updates'
cycle to six months.
---
 doc/contributing.texi | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/doc/contributing.texi b/doc/contributing.texi
index 88128e5498..c56f4fd2e9 100644
--- a/doc/contributing.texi
+++ b/doc/contributing.texi
@@ -991,16 +991,16 @@ rebuilding induced, commits go to different branches, along these lines:
 @item 300 dependent packages or less
 @code{master} branch (non-disruptive changes).
 
-@item between 300 and 1,200 dependent packages
+@item between 300 and 1,800 dependent packages
 @code{staging} branch (non-disruptive changes).  This branch is intended
-to be merged in @code{master} every 3 weeks or so.  Topical changes
+to be merged in @code{master} every 6 weeks or so.  Topical changes
 (e.g., an update of the GNOME stack) can instead go to a specific branch
 (say, @code{gnome-updates}).
 
-@item more than 1,200 dependent packages
+@item more than 1,800 dependent packages
 @code{core-updates} branch (may include major and potentially disruptive
 changes).  This branch is intended to be merged in @code{master} every
-2.5 months or so.
+6 months or so.
 @end table
 
 All these branches are @uref{@value{SUBSTITUTE-SERVER},
-- 
2.26.2





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

* [bug#41828] [PATCH 0/2] Branching and rebuilding strategy changes
  2020-06-12 14:31 [bug#41828] [PATCH 0/2] Branching and rebuilding strategy changes Marius Bakke
  2020-06-12 14:34 ` [bug#41828] [PATCH 1/2] ci: Add a 'staging' jobset Marius Bakke
@ 2020-06-13 16:56 ` Ludovic Courtès
  2020-06-22  1:17 ` bug#41828: " Marius Bakke
  2 siblings, 0 replies; 5+ messages in thread
From: Ludovic Courtès @ 2020-06-13 16:56 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 41828

Hello!

Marius Bakke <marius@gnu.org> skribis:

> This pull request adds a reduced 'staging' jobset to Cuirass, to
> prevent needless rebuilds outside of the freeze cycles.
>
> It also adjusts the documentation to more closely match the current
> staging and core-updates practices.
>
> Marius Bakke (2):
>   ci: Add a 'staging' jobset.
>   doc: Adjust branching and rebuilding strategy to match reality.

Both LGTM.

Thanks,
Ludo’.




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

* bug#41828: [PATCH 0/2] Branching and rebuilding strategy changes
  2020-06-12 14:31 [bug#41828] [PATCH 0/2] Branching and rebuilding strategy changes Marius Bakke
  2020-06-12 14:34 ` [bug#41828] [PATCH 1/2] ci: Add a 'staging' jobset Marius Bakke
  2020-06-13 16:56 ` [bug#41828] [PATCH 0/2] Branching and rebuilding strategy changes Ludovic Courtès
@ 2020-06-22  1:17 ` Marius Bakke
  2 siblings, 0 replies; 5+ messages in thread
From: Marius Bakke @ 2020-06-22  1:17 UTC (permalink / raw)
  To: 41828-done

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

Marius Bakke <marius@gnu.org> writes:

> This pull request adds a reduced 'staging' jobset to Cuirass, to
> prevent needless rebuilds outside of the freeze cycles.
>
> It also adjusts the documentation to more closely match the current
> staging and core-updates practices.
>
> Marius Bakke (2):
>   ci: Add a 'staging' jobset.
>   doc: Adjust branching and rebuilding strategy to match reality.

I decided to scrap patch 1/2 in this series.  Partly because it would
not work as-is, and partly because I got another idea: instead of the
reduced jobset, we can limit it to x86_64 only.  That way we get
substitutes for developers, but avoid the expensive and often needless
rebuilds on other architectures.

I will be doing that from here on in between freeze cycles.

The other patch was pushed in bb9a99e6571c492d30f95c5b51ead6861d1dc098.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

end of thread, other threads:[~2020-06-22  1:18 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-06-12 14:31 [bug#41828] [PATCH 0/2] Branching and rebuilding strategy changes Marius Bakke
2020-06-12 14:34 ` [bug#41828] [PATCH 1/2] ci: Add a 'staging' jobset Marius Bakke
2020-06-12 14:34   ` [bug#41828] [PATCH 2/2] doc: Adjust branching and rebuilding strategy to match reality Marius Bakke
2020-06-13 16:56 ` [bug#41828] [PATCH 0/2] Branching and rebuilding strategy changes Ludovic Courtès
2020-06-22  1:17 ` bug#41828: " Marius Bakke

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).