From unknown Sun Sep 21 04:52:02 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#49334] [PATCH] DRAFT website: Add page listing branches. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 02 Jul 2021 16:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 49334 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 49334@debbugs.gnu.org Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.162524335527514 (code B ref -1); Fri, 02 Jul 2021 16:30:02 +0000 Received: (at submit) by debbugs.gnu.org; 2 Jul 2021 16:29:15 +0000 Received: from localhost ([127.0.0.1]:36986 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lzM2U-00079g-HM for submit@debbugs.gnu.org; Fri, 02 Jul 2021 12:29:15 -0400 Received: from lists.gnu.org ([209.51.188.17]:34384) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lzM2R-00079X-Pv for submit@debbugs.gnu.org; Fri, 02 Jul 2021 12:29:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51134) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lzM2R-00004t-Ic for guix-patches@gnu.org; Fri, 02 Jul 2021 12:29:11 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:38700) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lzM2Q-0005D0-TL; Fri, 02 Jul 2021 12:29:11 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=42606 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lzM2Q-0005cr-LQ; Fri, 02 Jul 2021 12:29:10 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Fri, 2 Jul 2021 18:29:04 +0200 Message-Id: <20210702162904.314-1-ludo@gnu.org> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) TODO: - nice CSS - menu entry? - more branches * website/apps/development/builder.scm, website/apps/development/data.scm: website/apps/development/templates/branches.scm, website/apps/development/templates/components.scm, website/static/development/css/branches.css: New files. * website/haunt.scm: Use development builder. --- website/apps/development/builder.scm | 55 ++++++++++++ website/apps/development/data.scm | 89 +++++++++++++++++++ .../apps/development/templates/branches.scm | 56 ++++++++++++ .../apps/development/templates/components.scm | 65 ++++++++++++++ website/haunt.scm | 2 + website/static/development/css/branches.css | 38 ++++++++ 6 files changed, 305 insertions(+) create mode 100644 website/apps/development/builder.scm create mode 100644 website/apps/development/data.scm create mode 100644 website/apps/development/templates/branches.scm create mode 100644 website/apps/development/templates/components.scm create mode 100644 website/static/development/css/branches.css Hi Guix! This is something we discussed at the last Guix Days: having a dashboard showing the active Git branches, their status, applicable constraints, and a target “freeze” date (one consensual proposal was that, instead of actually freezing the branch, we’d fork it as ‘BRANCH-frozen’ or something like that, leaving the branch open for further changes). This patch against guix-artwork.git is an attempt at providing a low-tech dashboard. I think it’s a good starting point, and certainly better than nothing. :-) What do people think? Could someone help with CSS (here I copied ‘publications.css’), so that the thing is pretty and readable? I’m also not sure what to do with menu entries. One last thing: we’ll need to list the ‘staging’ branch etc. Thoughts? Ludo’. diff --git a/website/apps/development/builder.scm b/website/apps/development/builder.scm new file mode 100644 index 0000000..9e38ceb --- /dev/null +++ b/website/apps/development/builder.scm @@ -0,0 +1,55 @@ +;;; GNU Guix web site +;;; Copyright © 2021 Ludovic Courtès +;;; +;;; This file is part of the GNU Guix web site. +;;; +;;; The GNU Guix web site is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU Affero General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; The GNU Guix web site is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU Affero General Public License for more details. +;;; +;;; You should have received a copy of the GNU Affero General Public License +;;; along with the GNU Guix web site. If not, see . + +(define-module (apps development builder) + #:use-module (apps aux system) + #:use-module (apps development data) + #:use-module (apps development templates branches) + #:use-module (haunt artifact) + #:use-module (haunt html) + #:use-module (haunt page) + #:use-module (haunt utils) + #:use-module (apps aux web) + #:use-module (apps media utils) + #:use-module (srfi srfi-1) + #:export (builder)) + +(define (builder site posts) + "Return the list of web resources that compose the app. + + This procedure is a Haunt builder procedure. + + SITE () + A site object that defines all the properties of the website. See + Haunt objects for more information. + + POSTS (list of ) + A list of post objects that represent articles from the blog. See + Haunt objects for more information. + + RETURN (list of and ) + A list of objects that represent the web resources of the + application. See Haunt and objects for more + information." + (list (branch-list-builder))) + +(define (branch-list-builder) + "Return a Haunt artifact representing the publications page." + (serialized-artifact (url-path-join "branches" "index.html") + (branch-list-t branches) + sxml->html)) diff --git a/website/apps/development/data.scm b/website/apps/development/data.scm new file mode 100644 index 0000000..48daff5 --- /dev/null +++ b/website/apps/development/data.scm @@ -0,0 +1,89 @@ +;;; GNU Guix web site +;;; Copyright © 2021 Ludovic Courtès +;;; +;;; This file is part of the GNU Guix web site. +;;; +;;; The GNU Guix web site is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU Affero General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; The GNU Guix web site is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU Affero General Public License for more details. +;;; +;;; You should have received a copy of the GNU Affero General Public License +;;; along with the GNU Guix web site. If not, see . + +(define-module (apps development data) + #:use-module (apps i18n) + #:use-module (apps base templates components) + #:use-module (srfi srfi-9) + #:use-module (srfi srfi-19) + #:export (branch? + branch-name + branch-synopsis + branch-description + branch-target-date + branch-merge-period + + branch-git-view-url + branch-build-status-url + branch-build-badge-url + + branches)) + +(define-record-type + (%branch name synopsis description date period) + branch? + (name branch-name) + (synopsis branch-synopsis) + (description branch-description) + (date branch-target-date) ;date + (period branch-merge-period)) ;seconds + +(define* (branch name #:key synopsis description target-date merge-period) + (%branch name synopsis description target-date merge-period)) + +(define (branch-git-view-url branch) + (string-append "https://git.savannah.gnu.org/cgit/guix.git/log?h=" + (branch-name branch))) + +(define (branch-build-status-url branch) + (string-append "https://ci.guix.gnu.org/jobset/" + (branch-name branch))) + +(define (branch-build-badge-url branch) + (string-append "https://ci.guix.gnu.org/jobset/" + (branch-name branch) "/badge.svg")) + +(define (string->date* str) + (string->date str "~Y-~m-~d")) + +(define branches + (list (branch "master" + #:synopsis (G_ "Main development branch") + #:description + (G_ + `(p "This is the main development branch, which " + (code "guix pull") " fetches by default. It should " + "contain only well-tested packages changes that do not " + "trigger more than 300 package rebuilds per " + "architecture. Run " + (code ,(G_ (manual-href "guix refresh -l" + (G_ "en") + (G_ "Invoking-guix-refresh.html")))) " " + "for an estimate of the number of rebuilds triggered " + "by a package change."))) + (branch "core-updates" + #:synopsis (G_ "Changes to core packages and build tools") + #:description + (G_ + `(p "This branch receives changes to core packages " + "that entail of most packages, and changes to " + ,(G_ (manual-href "build utilities" + (G_ "en") + (G_ "Build-Utilities.html"))) ".")) + #:target-date (string->date* "2021-07-20") + #:merge-period (* 4 30 24 3600)))) diff --git a/website/apps/development/templates/branches.scm b/website/apps/development/templates/branches.scm new file mode 100644 index 0000000..c834c6d --- /dev/null +++ b/website/apps/development/templates/branches.scm @@ -0,0 +1,56 @@ +;;; GNU Guix web site +;;; Copyright © 2021 Ludovic Courtès +;;; +;;; This file is part of the GNU Guix web site. +;;; +;;; The GNU Guix web site is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU Affero General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; The GNU Guix web site is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU Affero General Public License for more details. +;;; +;;; You should have received a copy of the GNU Affero General Public License +;;; along with the GNU Guix web site. If not, see . + +(define-module (apps development templates branches) + #:use-module (apps base templates theme) + #:use-module (apps base types) + #:use-module (apps base utils) + #:use-module (apps i18n) + #:use-module (apps development templates components) + #:export (branch-list-t)) + +(define (branch-list-t branches) + "Return the branch page in SHTML." + (theme + #:title (C_ "webpage title" '("Branching status")) + #:description + (G_ "Status of active development branches.") + #:keywords + ;; TRANSLATORS: |-separated list of webpage keywords. + (string-split (G_ "Development|Branching") #\|) + #:active-menu-item (C_ "website menu" "Branching") + #:css (list + (guix-url "static/base/css/page.css") + (guix-url "static/development/css/branches.css")) + #:crumbs (list (crumb (C_ "website menu" "Publications") "./")) + #:content + `(main + (section + (@ (class "page")) + ,(G_ `(h2 "Branching")) + + ,(G_ + `(p + (@ (class "centered-block limit-width")) + + "This page lists currently-active Git development branches.")) + + (div + (@ (class "publication-list centered-block limit-width")) + + ,@(map branch->shtml branches)))))) diff --git a/website/apps/development/templates/components.scm b/website/apps/development/templates/components.scm new file mode 100644 index 0000000..d3f9fee --- /dev/null +++ b/website/apps/development/templates/components.scm @@ -0,0 +1,65 @@ +;;; GNU Guix web site +;;; Copyright © 2021 Ludovic Courtès +;;; +;;; This file is part of the GNU Guix web site. +;;; +;;; The GNU Guix web site is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU Affero General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; The GNU Guix web site is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU Affero General Public License for more details. +;;; +;;; You should have received a copy of the GNU Affero General Public License +;;; along with the GNU Guix web site. If not, see . + +(define-module (apps development templates components) + #:use-module (apps aux lists) + #:use-module (apps aux web) + #:use-module (apps base templates components) + #:use-module (apps base utils) + #:use-module (apps i18n) + #:use-module (apps development data) + #:use-module (srfi srfi-19) + #:export (branch->shtml)) + +(define (next-deadline date period) + "Return DATE or, if DATE is past, DATE + PERIOD. DATE must be a SRFI-19 +date and PERIOD is a number of seconds." + (let ((now (current-time time-utc)) + (then (date->time-utc date))) + (if (and (time>? now then) + (time> (time-difference now then) + (make-time time-utc 0 + (* 2 7 3600 24)))) + (time-utc->date + (make-time time-utc 0 + (+ (time-second then) period))) + date))) + +(define (branch->shtml branch) + `(div (@ (class "branch-overview")) + (div (@ (class "branch-overview-heading")) + (a (@ (href ,(branch-git-view-url branch))) + (tt ,(branch-name branch))) + (a (@ (href ,(branch-build-status-url branch))) + (img (@ (alt ,(G_ "branch build status")) + (src ,(branch-build-badge-url branch)))))) + + (div (@ (class "branch-synopsis")) + ,(branch-synopsis branch)) + (div (@ (class "branch-description")) + ,(branch-description branch)) + + ,@(if (branch-target-date branch) + `(,(G_ `(div (@ (class "branch-date")) + "target merge date: " + ,(date->string + (next-deadline (branch-target-date branch) + (branch-merge-period branch)) + (C_ "SRFI-19 data->string format" + "~Y-~m-~d"))))) + '()))) diff --git a/website/haunt.scm b/website/haunt.scm index 01e2af7..78e3806 100644 --- a/website/haunt.scm +++ b/website/haunt.scm @@ -8,6 +8,7 @@ (apps i18n) ((apps media builder) #:prefix media:) ((apps packages builder) #:prefix packages:) + ((apps development builder) #:prefix development:) (haunt asset) (haunt builder assets) (haunt reader) @@ -26,4 +27,5 @@ download:builder media:builder packages:builder + development:builder (static-directory "static")))) diff --git a/website/static/development/css/branches.css b/website/static/development/css/branches.css new file mode 100644 index 0000000..2581793 --- /dev/null +++ b/website/static/development/css/branches.css @@ -0,0 +1,38 @@ +.branch-overview, +.branch-overview:link, +.branch-overview:visited { + display: block; + border-image: linear-gradient(to right, gray, transparent) 1; + border-style: none none solid none; + border-width: thin thick; + color: #4D4D4D; + padding: 20px 70px 20px 10px; + transition: border-width .2s cubic-bezier(.22,.61,.36,1); +} + +.branch-overview:active, +.branch-overview:focus, +.branch-overview:hover { + background-color: gold; + background-image: url("/static/base/img/link-arrow-shaper.svg"); + background-position: right; + background-repeat: no-repeat; + background-size: auto 100%; + border-image: linear-gradient(to right, #333, white, white) 1; + border-style: none none solid solid; +} + +.branch-overview-heading { + margin-bottom: 10px; +} + +.publication-info { + margin-bottom: 0px; +} + +.scientific-mark { + display: inline-block; + cursor: help; + height: 28px; + width: 28px; +} -- 2.32.0 From unknown Sun Sep 21 04:52:02 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#49334] [PATCH] DRAFT website: Add page listing branches. Resent-From: "pelzflorian (Florian Pelz)" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 03 Jul 2021 07:53:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49334 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 49334@debbugs.gnu.org Received: via spool by 49334-submit@debbugs.gnu.org id=B49334.162529876410492 (code B ref 49334); Sat, 03 Jul 2021 07:53:01 +0000 Received: (at 49334) by debbugs.gnu.org; 3 Jul 2021 07:52:44 +0000 Received: from localhost ([127.0.0.1]:37889 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lzaSC-0002j9-9p for submit@debbugs.gnu.org; Sat, 03 Jul 2021 03:52:44 -0400 Received: from pelzflorian.de ([5.45.111.108]:49808 helo=mail.pelzflorian.de) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lzaSA-0002j1-OP for 49334@debbugs.gnu.org; Sat, 03 Jul 2021 03:52:43 -0400 Received: from pelzflorian.localdomain (unknown [5.45.111.108]) by mail.pelzflorian.de (Postfix) with ESMTPSA id 714AB360672; Sat, 3 Jul 2021 09:52:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=pelzflorian.de; s=mail; t=1625298761; bh=cT6JwJ6Yn5n3ikjk+7Em1KdPGAtUS1Ax23XNZeY3r2c=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=SxkwjrYhwtQMusm++d8LeGqbfe6D9YwrdeOrah82F5GhT2djCy1DOBTjkdZmMUMHo PUbzenSWCs9tV+AYsNLi6FTRye7gLeVFnQIU5ZV7drHC86xHdtItepfaMd2jFELa2k aOlZ3PaiPvd0cYBVJSpRJd7kclzOi80HCDX/3ovk= Date: Sat, 3 Jul 2021 09:52:32 +0200 From: "pelzflorian (Florian Pelz)" Message-ID: <20210703075232.jwdslij2onnwwa62@pelzflorian.localdomain> References: <20210702162904.314-1-ludo@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20210702162904.314-1-ludo@gnu.org> X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Ludo, On Fri, Jul 02, 2021 at 06:29:04PM +0200, Ludovic Courtès wrote: > Hi Guix! > > This is something we discussed at the last Guix Days: having a dashboard > showing the active Git branches, their status, applicable constraints, > and a target “freeze” date (one consensual proposal was that, instead of > actually freezing the branch, we’d fork it as ‘BRANCH-frozen’ or something > like that, leaving the branch open for further changes). > > This patch against guix-artwork.git is an attempt at providing a low-tech > dashboard. I think it’s a good starting point, and certainly better than > nothing. :-) > > What do people think? I like it. Thank you! > I’m also not sure what to do with > menu entries. One last thing: we’ll need to list the ‘staging’ branch etc. > > Thoughts? > > Ludo’. I don’t know, but maybe it should be in the About Guix menu on the website? Maybe the Guix manual should refer to https://guix.gnu.org/branches/ when it is online? > * website/apps/development/builder.scm, > website/apps/development/data.scm: > website/apps/development/templates/branches.scm, > website/apps/development/templates/components.scm, > website/static/development/css/branches.css: New files. s/data.scm:/data.scm,/ > +++ b/website/apps/development/data.scm > […]] > +(define branches > + (list (branch "master" > + #:synopsis (G_ "Main development branch") > + #:description > + (G_ > + `(p "This is the main development branch, which " > + (code "guix pull") " fetches by default. It should " > + "contain only well-tested packages changes that do not " > + "trigger more than 300 package rebuilds per " > + "architecture. Run " > + (code ,(G_ (manual-href "guix refresh -l" > + (G_ "en") > + (G_ "Invoking-guix-refresh.html")))) " " > + "for an estimate of the number of rebuilds triggered " > + "by a package change."))) > + (branch "core-updates" > + #:synopsis (G_ "Changes to core packages and build tools") > + #:description > + (G_ > + `(p "This branch receives changes to core packages " > + "that entail of most packages, and changes to " s/entail of/entail/ Regards, Florian From unknown Sun Sep 21 04:52:02 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#49334] [PATCH] DRAFT website: Add page listing branches. Resent-From: Mathieu Othacehe Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 06 Jul 2021 10:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49334 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 49334@debbugs.gnu.org Received: via spool by 49334-submit@debbugs.gnu.org id=B49334.16255676487075 (code B ref 49334); Tue, 06 Jul 2021 10:35:02 +0000 Received: (at 49334) by debbugs.gnu.org; 6 Jul 2021 10:34:08 +0000 Received: from localhost ([127.0.0.1]:47493 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m0iP2-0001q3-MO for submit@debbugs.gnu.org; Tue, 06 Jul 2021 06:34:08 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51324) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m0iP1-0001pp-Rt for 49334@debbugs.gnu.org; Tue, 06 Jul 2021 06:34:08 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:37198) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m0iOv-0003Tx-Od; Tue, 06 Jul 2021 06:34:01 -0400 Received: from [109.190.253.16] (port=48170 helo=meije) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m0iOt-0004Gv-0K; Tue, 06 Jul 2021 06:34:01 -0400 From: Mathieu Othacehe References: <20210702162904.314-1-ludo@gnu.org> Date: Tue, 06 Jul 2021 12:33:56 +0200 In-Reply-To: <20210702162904.314-1-ludo@gnu.org> ("Ludovic =?UTF-8?Q?Court=C3=A8s?="'s message of "Fri, 2 Jul 2021 18:29:04 +0200") Message-ID: <87a6mzwx2j.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hey Ludo, > + #:target-date (string->date* "2021-07-20") > + #:merge-period (* 4 30 24 3600)))) This looks fine, thanks! I wonder if it would make sense to extract the target date and maybe other information from Cuirass. We could have something like specification properties with a key/value association. The https://ci.guix.gnu.org/specification/master/properties URL would return: --8<---------------cut here---------------start------------->8--- { TARGET_DATE: "2021-07-20" } --8<---------------cut here---------------end--------------->8--- This way, the https://guix.gnu.org/branches page would be mostly static and we could update specification properties directly from Cuirass web interface. WDYT? Thanks, Mathieu From unknown Sun Sep 21 04:52:02 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#49334] [PATCH] DRAFT website: Add page listing branches. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 08 Jul 2021 08:21:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49334 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Mathieu Othacehe Cc: 49334@debbugs.gnu.org Received: via spool by 49334-submit@debbugs.gnu.org id=B49334.162573244620157 (code B ref 49334); Thu, 08 Jul 2021 08:21:02 +0000 Received: (at 49334) by debbugs.gnu.org; 8 Jul 2021 08:20:46 +0000 Received: from localhost ([127.0.0.1]:54236 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m1PH4-0005F3-6Z for submit@debbugs.gnu.org; Thu, 08 Jul 2021 04:20:46 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43708) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m1PH2-0005Eq-RE for 49334@debbugs.gnu.org; Thu, 08 Jul 2021 04:20:45 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:58650) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m1PGx-0000Rm-Ld for 49334@debbugs.gnu.org; Thu, 08 Jul 2021 04:20:39 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=42836 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m1PGu-0006Uu-E1; Thu, 08 Jul 2021 04:20:36 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20210702162904.314-1-ludo@gnu.org> <87a6mzwx2j.fsf@gnu.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 20 Messidor an 229 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Thu, 08 Jul 2021 10:20:33 +0200 In-Reply-To: <87a6mzwx2j.fsf@gnu.org> (Mathieu Othacehe's message of "Tue, 06 Jul 2021 12:33:56 +0200") Message-ID: <871r89md2m.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hello! Mathieu Othacehe skribis: >> + #:target-date (string->date* "2021-07-20") >> + #:merge-period (* 4 30 24 3600)))) > > This looks fine, thanks! I wonder if it would make sense to extract the > target date and maybe other information from Cuirass. > > We could have something like specification properties with a key/value > association. The https://ci.guix.gnu.org/specification/master/properties > URL would return: > > { > TARGET_DATE: "2021-07-20" > } > > This way, the https://guix.gnu.org/branches page would be mostly static > and we could update specification properties directly from Cuirass web > interface. Ah, that=E2=80=99s an interesting idea. This would be a key/value property= list that Cuirass wouldn=E2=80=99t touch, right? I kinda liked the idea of having the target date automatically repeat, whether or not we=E2=80=99re on time :-), but maybe what you suggest would = be more reasonable. That said, if /properties returns JSON, we cannot make the page static, unless we add JS code to fetch /properties and to present it nicely, right? Thanks, Ludo=E2=80=99. From unknown Sun Sep 21 04:52:02 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#49334] [PATCH] DRAFT website: Add page listing branches. Resent-From: Mathieu Othacehe Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 08 Jul 2021 12:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49334 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 49334@debbugs.gnu.org Received: via spool by 49334-submit@debbugs.gnu.org id=B49334.162574564718059 (code B ref 49334); Thu, 08 Jul 2021 12:01:02 +0000 Received: (at 49334) by debbugs.gnu.org; 8 Jul 2021 12:00:47 +0000 Received: from localhost ([127.0.0.1]:54487 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m1Shz-0004hD-K3 for submit@debbugs.gnu.org; Thu, 08 Jul 2021 08:00:47 -0400 Received: from eggs.gnu.org ([209.51.188.92]:56616) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m1Shx-0004gy-P3 for 49334@debbugs.gnu.org; Thu, 08 Jul 2021 08:00:47 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:34066) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m1Shs-0003kM-GK; Thu, 08 Jul 2021 08:00:40 -0400 Received: from [2a01:cb18:832e:5f00:3563:417e:2a38:86d8] (port=43482 helo=meije) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m1ShZ-000118-UN; Thu, 08 Jul 2021 08:00:27 -0400 From: Mathieu Othacehe References: <20210702162904.314-1-ludo@gnu.org> <87a6mzwx2j.fsf@gnu.org> <871r89md2m.fsf@gnu.org> Date: Thu, 08 Jul 2021 14:00:19 +0200 In-Reply-To: <871r89md2m.fsf@gnu.org> ("Ludovic =?UTF-8?Q?Court=C3=A8s?="'s message of "Thu, 08 Jul 2021 10:20:33 +0200") Message-ID: <87sg0pvwvg.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hey, > Ah, that=E2=80=99s an interesting idea. This would be a key/value proper= ty list > that Cuirass wouldn=E2=80=99t touch, right? Yes, the /specification/add/xxx and /specification/edit/xxx routes would allow to add/edit entries in this list though. We could also add the specification max dependencies count (300 master, 1800 on staging ...) as a property. > That said, if /properties returns JSON, we cannot make the page static, > unless we add JS code to fetch /properties and to present it nicely, > right? Right, it would require to add some javascript fanciness, but I can take care of it. Anyway, what you are proposing is already a nice step forward, this can come later. Thanks, Mathieu From unknown Sun Sep 21 04:52:02 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#49334] [PATCH] DRAFT website: Add page listing branches. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 09 Jul 2021 14:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49334 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Mathieu Othacehe Cc: 49334@debbugs.gnu.org Received: via spool by 49334-submit@debbugs.gnu.org id=B49334.162583948728007 (code B ref 49334); Fri, 09 Jul 2021 14:05:02 +0000 Received: (at 49334) by debbugs.gnu.org; 9 Jul 2021 14:04:47 +0000 Received: from localhost ([127.0.0.1]:59478 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m1r7X-0007Hf-Bj for submit@debbugs.gnu.org; Fri, 09 Jul 2021 10:04:47 -0400 Received: from eggs.gnu.org ([209.51.188.92]:45920) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m1r7T-0007HR-My for 49334@debbugs.gnu.org; Fri, 09 Jul 2021 10:04:45 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:48456) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m1r7O-0001Zm-E2 for 49334@debbugs.gnu.org; Fri, 09 Jul 2021 10:04:38 -0400 Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=36692 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m1r7N-0001hJ-SJ; Fri, 09 Jul 2021 10:04:38 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20210702162904.314-1-ludo@gnu.org> <87a6mzwx2j.fsf@gnu.org> <871r89md2m.fsf@gnu.org> <87sg0pvwvg.fsf@gnu.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 21 Messidor an 229 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 09 Jul 2021 16:04:36 +0200 In-Reply-To: <87sg0pvwvg.fsf@gnu.org> (Mathieu Othacehe's message of "Thu, 08 Jul 2021 14:00:19 +0200") Message-ID: <87bl7bh9cb.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi! Mathieu Othacehe skribis: >> Ah, that=E2=80=99s an interesting idea. This would be a key/value prope= rty list >> that Cuirass wouldn=E2=80=99t touch, right? > > Yes, the /specification/add/xxx and /specification/edit/xxx routes > would allow to add/edit entries in this list though. > > We could also add the specification max dependencies count (300 master, > 1800 on staging ...) as a property. That=E2=80=99d be nice. >> That said, if /properties returns JSON, we cannot make the page static, >> unless we add JS code to fetch /properties and to present it nicely, >> right? > > Right, it would require to add some javascript fanciness, but I can take > care of it. Great. Note that so far there was no JS at all on the web site, and I think we=E2=80=99re aiming for =E2=80=9Cprogressive enhancement=E2=80=9D, s= o care should be taken to have a valid page even when JS is disabled. > Anyway, what you are proposing is already a nice step forward, this > can come later. Great. I wonder if Luis or another person more competent than myself could give a hand on styling. Any takers? :-) Ludo=E2=80=99. From unknown Sun Sep 21 04:52:02 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#49334] [PATCH] DRAFT website: Add page listing branches. References: <20210702162904.314-1-ludo@gnu.org> In-Reply-To: <20210702162904.314-1-ludo@gnu.org> Resent-From: Ricardo Wurmus Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 12 Jun 2022 08:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49334 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 49334@debbugs.gnu.org Received: via spool by 49334-submit@debbugs.gnu.org id=B49334.165502335926482 (code B ref 49334); Sun, 12 Jun 2022 08:43:02 +0000 Received: (at 49334) by debbugs.gnu.org; 12 Jun 2022 08:42:39 +0000 Received: from localhost ([127.0.0.1]:54686 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o0JB9-0006t4-4l for submit@debbugs.gnu.org; Sun, 12 Jun 2022 04:42:39 -0400 Received: from sender4-of-o51.zoho.com ([136.143.188.51]:21142) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o0JB6-0006st-6v for 49334@debbugs.gnu.org; Sun, 12 Jun 2022 04:42:37 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1655023354; cv=none; d=zohomail.com; s=zohoarc; b=LhPtmTVcPmFVAd0T0QE3GymU+6L2L7ud0Q94ta3SQ5CEd74mlNcVnkTdXF9GYy/xXLtkiCUkP1HiMki13sV3nx1LZIhtjs/2lwOAGJo918kHCWkBzvjlO3t4pLKK7aK5WRfeXEogT5uUt0TvWdSlrW+Kj3iabEUv0RxK4YtQ29Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1655023354; h=Content-Type:Date:From:MIME-Version:Message-ID:Subject:To; bh=SZjt6+ol6Ek210gOxJLvYrt0XbPtFGZ7J2JmRY4PFAw=; b=Qf0rMydiKmAwILLWXqZD1K7PjU1hEMqJjIqa9cSSTjm67NvimnopiovuDWielDP3hw79/WotpnUXrt6XExxxXAmWdyb6vJa0WEAnPeHxaWMcbgz4D5rhoqJQJA579rGjFzgGajBTkFcnxTbpZE1wMnzY/gdLncFZTFkenr90pUQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=elephly.net; spf=pass smtp.mailfrom=rekado@elephly.net; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1655023354; s=zoho; d=elephly.net; i=rekado@elephly.net; h=From:From:To:To:Subject:Subject:Date:Date:Message-ID:MIME-Version:Content-Type:Message-Id:Reply-To:Cc; bh=SZjt6+ol6Ek210gOxJLvYrt0XbPtFGZ7J2JmRY4PFAw=; b=cyROXuEw5z5H2GHFE8KD4njeHRhMzelc3wmv3jwQjBWNtNOjUdpB6SrZmbmqWPO6 1qVzm6SlhY+PUYHshjlU4YPsQllYVk9ON5rk2f4KavXSoCEFDcKz1wuuqwnDQekEaiQ he3yYNWL54mDT1pniV27kkwEahgOzMAMjNdFtnLE= Received: from localhost (120-110-142-46.pool.kielnet.net [46.142.110.120]) by mx.zohomail.com with SMTPS id 165502335001321.78425693478607; Sun, 12 Jun 2022 01:42:30 -0700 (PDT) User-agent: mu4e 1.6.10; emacs 28.1 From: Ricardo Wurmus Date: Sun, 12 Jun 2022 10:39:18 +0200 X-URL: https://elephly.net X-PGP-Key: https://elephly.net/rekado.pubkey X-PGP-Fingerprint: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC Message-ID: <87zgii1de5.fsf@elephly.net> MIME-Version: 1.0 Content-Type: text/plain X-ZohoMailClient: External X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) It sounds like we wanted to move ahead with this, without waiting for an extra Cuirass API. Can this be merged as is? Styling can come later. -- Ricardo From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 24 17:17:32 2024 Received: (at control) by debbugs.gnu.org; 24 Jan 2024 22:17:32 +0000 Received: from localhost ([127.0.0.1]:46794 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rSlYq-0000Fe-HU for submit@debbugs.gnu.org; Wed, 24 Jan 2024 17:17:32 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39498) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rSlYo-0000FQ-AZ for control@debbugs.gnu.org; Wed, 24 Jan 2024 17:17:30 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rSlYd-0007gS-IC for control@debbugs.gnu.org; Wed, 24 Jan 2024 17:17:19 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:Subject:From:To:Date:in-reply-to: references; bh=2sqdRIVl7PrAogSw1QYF07EtMlHgGgQi7d6Wd5mXPyQ=; b=oP7VqWCPJPTjHo 6hTpzyJc94ZDQ+yQLHDSQdCY8tWjfkcs0yjwNeHIe3FmTOkLeRCl2hDxCr47uZVbgwi2ykcDqfRMH 1o1aNpGv2TO+y2G5UwZ1LUGgH4VHELplgpm0TbxsgfrwlI2nZPQosHIkKUIEgh3UwxDF7fJg45+FL O1DfT/yZ83AafWA4V5aAdi+VHHQb5WhetsunX4YOkMRwLBqgtUAaaVPdXFirT2I/mOtEFp8VI3Vzn 14JlXJdAUDSdwPI9rwFbwsoh8QMB7HD6NxyoRh/TfcHF/i2gaU0fvg3NtRs5s481tvRaWtzjM6J5L UP61VVZ2giEqLlUOQc8A==; Date: Wed, 24 Jan 2024 23:17:17 +0100 Message-Id: <87fryms7f6.fsf@gnu.org> To: control@debbugs.gnu.org From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: control message for bug #49334 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) tags 49334 + wontfix quit From unknown Sun Sep 21 04:52:02 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#49334: closed (Re: [bug#49334] [PATCH] DRAFT website: Add page listing branches.) Message-ID: References: <87h6j2s7fg.fsf@gnu.org> <20210702162904.314-1-ludo@gnu.org> X-Gnu-PR-Message: they-closed 49334 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: wontfix patch Reply-To: 49334@debbugs.gnu.org Date: Wed, 24 Jan 2024 22:18:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1706134683-1050-1" This is a multi-part message in MIME format... ------------=_1706134683-1050-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #49334: [PATCH] DRAFT website: Add page listing branches. which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 49334@debbugs.gnu.org. --=20 49334: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D49334 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1706134683-1050-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 49334-done) by debbugs.gnu.org; 24 Jan 2024 22:17:23 +0000 Received: from localhost ([127.0.0.1]:46790 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rSlYh-0000FH-73 for submit@debbugs.gnu.org; Wed, 24 Jan 2024 17:17:23 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39482) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rSlYf-0000Ev-ID for 49334-done@debbugs.gnu.org; Wed, 24 Jan 2024 17:17:21 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rSlYU-0007fa-Nh for 49334-done@debbugs.gnu.org; Wed, 24 Jan 2024 17:17:10 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=ntqY5jnAn435Ryn66ARV/DqbtWy29pAH6fIApC8ZSTo=; b=kXCyMsmMQ8KzMeEReMjA 41SPBtRsZZtbKtYIfKV/4H/s1nLAJ80dXLikwbIAV4/0AvKZRioqX+LeKWWLy3E893u6nWwZcPl/0 WcnxBv1E4HphIkwDg8WrPP/kgce1xMOOQBiwgF/9Nr18B4LLjf6B4NrbWnthDAuE2C/eAGFnChB+S ebcI+w5rliRbeU8FBVZRvOwxWCTc3/Z6HAlD982OYU2FZtbbz9QQDxg1DrRSJTrb6EG7E0qlcFtTb TiXdv+4Augn11N8wsMwm4aKCHVCBqnXN0IlSfD1KWbkIFra/G5Ev1qlcVoUzVzpxebF0yh2qVN4wW vRXcsRX6uAtnvA==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: 49334-done@debbugs.gnu.org Subject: Re: [bug#49334] [PATCH] DRAFT website: Add page listing branches. In-Reply-To: <20210702162904.314-1-ludo@gnu.org> ("Ludovic =?utf-8?Q?Court?= =?utf-8?Q?=C3=A8s=22's?= message of "Fri, 2 Jul 2021 18:29:04 +0200") References: <20210702162904.314-1-ludo@gnu.org> Date: Wed, 24 Jan 2024 23:17:07 +0100 Message-ID: <87h6j2s7fg.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49334-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hey you! Ludovic Court=C3=A8s skribis: > This is something we discussed at the last Guix Days: having a dashboard > showing the active Git branches, their status, applicable constraints, > and a target =E2=80=9Cfreeze=E2=80=9D date (one consensual proposal was t= hat, instead of > actually freezing the branch, we=E2=80=99d fork it as =E2=80=98BRANCH-fro= zen=E2=80=99 or something > like that, leaving the branch open for further changes). > > This patch against guix-artwork.git is an attempt at providing a low-tech > dashboard. I think it=E2=80=99s a good starting point, and certainly bet= ter than > nothing. :-) This has been superseded by the much nier front page at . Closing! Ludo=E2=80=99. ------------=_1706134683-1050-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 2 Jul 2021 16:29:15 +0000 Received: from localhost ([127.0.0.1]:36986 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lzM2U-00079g-HM for submit@debbugs.gnu.org; Fri, 02 Jul 2021 12:29:15 -0400 Received: from lists.gnu.org ([209.51.188.17]:34384) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lzM2R-00079X-Pv for submit@debbugs.gnu.org; Fri, 02 Jul 2021 12:29:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51134) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lzM2R-00004t-Ic for guix-patches@gnu.org; Fri, 02 Jul 2021 12:29:11 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:38700) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lzM2Q-0005D0-TL; Fri, 02 Jul 2021 12:29:11 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=42606 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lzM2Q-0005cr-LQ; Fri, 02 Jul 2021 12:29:10 -0400 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: guix-patches@gnu.org Subject: [PATCH] DRAFT website: Add page listing branches. Date: Fri, 2 Jul 2021 18:29:04 +0200 Message-Id: <20210702162904.314-1-ludo@gnu.org> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) TODO: - nice CSS - menu entry? - more branches * website/apps/development/builder.scm, website/apps/development/data.scm: website/apps/development/templates/branches.scm, website/apps/development/templates/components.scm, website/static/development/css/branches.css: New files. * website/haunt.scm: Use development builder. --- website/apps/development/builder.scm | 55 ++++++++++++ website/apps/development/data.scm | 89 +++++++++++++++++++ .../apps/development/templates/branches.scm | 56 ++++++++++++ .../apps/development/templates/components.scm | 65 ++++++++++++++ website/haunt.scm | 2 + website/static/development/css/branches.css | 38 ++++++++ 6 files changed, 305 insertions(+) create mode 100644 website/apps/development/builder.scm create mode 100644 website/apps/development/data.scm create mode 100644 website/apps/development/templates/branches.scm create mode 100644 website/apps/development/templates/components.scm create mode 100644 website/static/development/css/branches.css Hi Guix! This is something we discussed at the last Guix Days: having a dashboard showing the active Git branches, their status, applicable constraints, and a target “freeze” date (one consensual proposal was that, instead of actually freezing the branch, we’d fork it as ‘BRANCH-frozen’ or something like that, leaving the branch open for further changes). This patch against guix-artwork.git is an attempt at providing a low-tech dashboard. I think it’s a good starting point, and certainly better than nothing. :-) What do people think? Could someone help with CSS (here I copied ‘publications.css’), so that the thing is pretty and readable? I’m also not sure what to do with menu entries. One last thing: we’ll need to list the ‘staging’ branch etc. Thoughts? Ludo’. diff --git a/website/apps/development/builder.scm b/website/apps/development/builder.scm new file mode 100644 index 0000000..9e38ceb --- /dev/null +++ b/website/apps/development/builder.scm @@ -0,0 +1,55 @@ +;;; GNU Guix web site +;;; Copyright © 2021 Ludovic Courtès +;;; +;;; This file is part of the GNU Guix web site. +;;; +;;; The GNU Guix web site is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU Affero General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; The GNU Guix web site is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU Affero General Public License for more details. +;;; +;;; You should have received a copy of the GNU Affero General Public License +;;; along with the GNU Guix web site. If not, see . + +(define-module (apps development builder) + #:use-module (apps aux system) + #:use-module (apps development data) + #:use-module (apps development templates branches) + #:use-module (haunt artifact) + #:use-module (haunt html) + #:use-module (haunt page) + #:use-module (haunt utils) + #:use-module (apps aux web) + #:use-module (apps media utils) + #:use-module (srfi srfi-1) + #:export (builder)) + +(define (builder site posts) + "Return the list of web resources that compose the app. + + This procedure is a Haunt builder procedure. + + SITE () + A site object that defines all the properties of the website. See + Haunt objects for more information. + + POSTS (list of ) + A list of post objects that represent articles from the blog. See + Haunt objects for more information. + + RETURN (list of and ) + A list of objects that represent the web resources of the + application. See Haunt and objects for more + information." + (list (branch-list-builder))) + +(define (branch-list-builder) + "Return a Haunt artifact representing the publications page." + (serialized-artifact (url-path-join "branches" "index.html") + (branch-list-t branches) + sxml->html)) diff --git a/website/apps/development/data.scm b/website/apps/development/data.scm new file mode 100644 index 0000000..48daff5 --- /dev/null +++ b/website/apps/development/data.scm @@ -0,0 +1,89 @@ +;;; GNU Guix web site +;;; Copyright © 2021 Ludovic Courtès +;;; +;;; This file is part of the GNU Guix web site. +;;; +;;; The GNU Guix web site is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU Affero General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; The GNU Guix web site is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU Affero General Public License for more details. +;;; +;;; You should have received a copy of the GNU Affero General Public License +;;; along with the GNU Guix web site. If not, see . + +(define-module (apps development data) + #:use-module (apps i18n) + #:use-module (apps base templates components) + #:use-module (srfi srfi-9) + #:use-module (srfi srfi-19) + #:export (branch? + branch-name + branch-synopsis + branch-description + branch-target-date + branch-merge-period + + branch-git-view-url + branch-build-status-url + branch-build-badge-url + + branches)) + +(define-record-type + (%branch name synopsis description date period) + branch? + (name branch-name) + (synopsis branch-synopsis) + (description branch-description) + (date branch-target-date) ;date + (period branch-merge-period)) ;seconds + +(define* (branch name #:key synopsis description target-date merge-period) + (%branch name synopsis description target-date merge-period)) + +(define (branch-git-view-url branch) + (string-append "https://git.savannah.gnu.org/cgit/guix.git/log?h=" + (branch-name branch))) + +(define (branch-build-status-url branch) + (string-append "https://ci.guix.gnu.org/jobset/" + (branch-name branch))) + +(define (branch-build-badge-url branch) + (string-append "https://ci.guix.gnu.org/jobset/" + (branch-name branch) "/badge.svg")) + +(define (string->date* str) + (string->date str "~Y-~m-~d")) + +(define branches + (list (branch "master" + #:synopsis (G_ "Main development branch") + #:description + (G_ + `(p "This is the main development branch, which " + (code "guix pull") " fetches by default. It should " + "contain only well-tested packages changes that do not " + "trigger more than 300 package rebuilds per " + "architecture. Run " + (code ,(G_ (manual-href "guix refresh -l" + (G_ "en") + (G_ "Invoking-guix-refresh.html")))) " " + "for an estimate of the number of rebuilds triggered " + "by a package change."))) + (branch "core-updates" + #:synopsis (G_ "Changes to core packages and build tools") + #:description + (G_ + `(p "This branch receives changes to core packages " + "that entail of most packages, and changes to " + ,(G_ (manual-href "build utilities" + (G_ "en") + (G_ "Build-Utilities.html"))) ".")) + #:target-date (string->date* "2021-07-20") + #:merge-period (* 4 30 24 3600)))) diff --git a/website/apps/development/templates/branches.scm b/website/apps/development/templates/branches.scm new file mode 100644 index 0000000..c834c6d --- /dev/null +++ b/website/apps/development/templates/branches.scm @@ -0,0 +1,56 @@ +;;; GNU Guix web site +;;; Copyright © 2021 Ludovic Courtès +;;; +;;; This file is part of the GNU Guix web site. +;;; +;;; The GNU Guix web site is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU Affero General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; The GNU Guix web site is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU Affero General Public License for more details. +;;; +;;; You should have received a copy of the GNU Affero General Public License +;;; along with the GNU Guix web site. If not, see . + +(define-module (apps development templates branches) + #:use-module (apps base templates theme) + #:use-module (apps base types) + #:use-module (apps base utils) + #:use-module (apps i18n) + #:use-module (apps development templates components) + #:export (branch-list-t)) + +(define (branch-list-t branches) + "Return the branch page in SHTML." + (theme + #:title (C_ "webpage title" '("Branching status")) + #:description + (G_ "Status of active development branches.") + #:keywords + ;; TRANSLATORS: |-separated list of webpage keywords. + (string-split (G_ "Development|Branching") #\|) + #:active-menu-item (C_ "website menu" "Branching") + #:css (list + (guix-url "static/base/css/page.css") + (guix-url "static/development/css/branches.css")) + #:crumbs (list (crumb (C_ "website menu" "Publications") "./")) + #:content + `(main + (section + (@ (class "page")) + ,(G_ `(h2 "Branching")) + + ,(G_ + `(p + (@ (class "centered-block limit-width")) + + "This page lists currently-active Git development branches.")) + + (div + (@ (class "publication-list centered-block limit-width")) + + ,@(map branch->shtml branches)))))) diff --git a/website/apps/development/templates/components.scm b/website/apps/development/templates/components.scm new file mode 100644 index 0000000..d3f9fee --- /dev/null +++ b/website/apps/development/templates/components.scm @@ -0,0 +1,65 @@ +;;; GNU Guix web site +;;; Copyright © 2021 Ludovic Courtès +;;; +;;; This file is part of the GNU Guix web site. +;;; +;;; The GNU Guix web site is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU Affero General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; The GNU Guix web site is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU Affero General Public License for more details. +;;; +;;; You should have received a copy of the GNU Affero General Public License +;;; along with the GNU Guix web site. If not, see . + +(define-module (apps development templates components) + #:use-module (apps aux lists) + #:use-module (apps aux web) + #:use-module (apps base templates components) + #:use-module (apps base utils) + #:use-module (apps i18n) + #:use-module (apps development data) + #:use-module (srfi srfi-19) + #:export (branch->shtml)) + +(define (next-deadline date period) + "Return DATE or, if DATE is past, DATE + PERIOD. DATE must be a SRFI-19 +date and PERIOD is a number of seconds." + (let ((now (current-time time-utc)) + (then (date->time-utc date))) + (if (and (time>? now then) + (time> (time-difference now then) + (make-time time-utc 0 + (* 2 7 3600 24)))) + (time-utc->date + (make-time time-utc 0 + (+ (time-second then) period))) + date))) + +(define (branch->shtml branch) + `(div (@ (class "branch-overview")) + (div (@ (class "branch-overview-heading")) + (a (@ (href ,(branch-git-view-url branch))) + (tt ,(branch-name branch))) + (a (@ (href ,(branch-build-status-url branch))) + (img (@ (alt ,(G_ "branch build status")) + (src ,(branch-build-badge-url branch)))))) + + (div (@ (class "branch-synopsis")) + ,(branch-synopsis branch)) + (div (@ (class "branch-description")) + ,(branch-description branch)) + + ,@(if (branch-target-date branch) + `(,(G_ `(div (@ (class "branch-date")) + "target merge date: " + ,(date->string + (next-deadline (branch-target-date branch) + (branch-merge-period branch)) + (C_ "SRFI-19 data->string format" + "~Y-~m-~d"))))) + '()))) diff --git a/website/haunt.scm b/website/haunt.scm index 01e2af7..78e3806 100644 --- a/website/haunt.scm +++ b/website/haunt.scm @@ -8,6 +8,7 @@ (apps i18n) ((apps media builder) #:prefix media:) ((apps packages builder) #:prefix packages:) + ((apps development builder) #:prefix development:) (haunt asset) (haunt builder assets) (haunt reader) @@ -26,4 +27,5 @@ download:builder media:builder packages:builder + development:builder (static-directory "static")))) diff --git a/website/static/development/css/branches.css b/website/static/development/css/branches.css new file mode 100644 index 0000000..2581793 --- /dev/null +++ b/website/static/development/css/branches.css @@ -0,0 +1,38 @@ +.branch-overview, +.branch-overview:link, +.branch-overview:visited { + display: block; + border-image: linear-gradient(to right, gray, transparent) 1; + border-style: none none solid none; + border-width: thin thick; + color: #4D4D4D; + padding: 20px 70px 20px 10px; + transition: border-width .2s cubic-bezier(.22,.61,.36,1); +} + +.branch-overview:active, +.branch-overview:focus, +.branch-overview:hover { + background-color: gold; + background-image: url("/static/base/img/link-arrow-shaper.svg"); + background-position: right; + background-repeat: no-repeat; + background-size: auto 100%; + border-image: linear-gradient(to right, #333, white, white) 1; + border-style: none none solid solid; +} + +.branch-overview-heading { + margin-bottom: 10px; +} + +.publication-info { + margin-bottom: 0px; +} + +.scientific-mark { + display: inline-block; + cursor: help; + height: 28px; + width: 28px; +} -- 2.32.0 ------------=_1706134683-1050-1--