* [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).