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