Subject: Re: bug#51000: The Web manual situation is still needlessly confusing

From: Efraim Flashner <[email-masked]>
Date: Mon, 4 Oct 2021 09:31:59 +0300

On Mon, Oct 04, 2021 at 12:12:55AM +0200, Tobias Geerinckx-Rice via Bug reports for GNU Guix wrote:
> Good evening Guix!
> 
> Nary a literal week goes by that someone doesn't post confusion about this
> or that not being in ‘the manual’, where the manual turns out to be
> <https://guix.gnu.org/manual/en/guix.html> instead of the one actually
> shipped with their Guix.
> 
> The current solution is pointing them to
> <https://guix.gnu.org/manual/devel/en/guix.html> and resetting the timer.
> 
> Instead:
> 
> - We should make <https://guix.gnu.org/manual/en/guix.html> the  ‘devel’
> version, and move the stable version to to a versioned  URL like
> <https://guix.gnu.org/manual/1.3.0/en/guix.html>.
> 
> - Both manuals should have a gorgeous CSS box at the very top  clearly
> explaining their nature.

Here is an untested patch against guix-maintenance to change the manual
locations. It doesn't take into account any changes needed in the
website itself to add a pointer to the 1.3.0 manual.

-- 
Efraim Flashner   <[email-masked]>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
From 5ae07d5d8db78d3f190a8780ba2eeaa5ce2c1be1 Mon Sep 17 00:00:00 2001
Message-Id: <[email-masked]>
From: Efraim Flashner <[email-masked]>
Date: Mon, 4 Oct 2021 09:28:20 +0300
Subject: [PATCH] hydra: Move guix-manual URLs.

This is likely to remove some ambiguity for which manual to use.

* hydra/berlin.scm (operating-system)[services]: Adjust
static-website-service-type services to change the locations of the
generated guix manuals.
* hydra/nginx/berlin.scm (guix.gnu.org-other-locations): Adjust
nginx-location-configuration for the manual locations.
---
 hydra/berlin.scm       |  7 ++++---
 hydra/nginx/berlin.scm | 10 +++++-----
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/hydra/berlin.scm b/hydra/berlin.scm
index 146173b..44324cf 100644
--- a/hydra/berlin.scm
+++ b/hydra/berlin.scm
@@ -300,7 +300,8 @@ Happy hacking!\n"))
                       (static-web-site-configuration
                        (git-url "https://git.savannah.gnu.org/git/guix.git")
                        (git-ref '(branch . "version-1.3.0"))
-                       (directory "/srv/guix-manual")
+                       (directory "/srv/guix-manual-1.3.0")
+                       (cache-directory "guix-manual-1.3.0")
                        (build-file "doc/build.scm")
                        (environment-variables
                          '(("GUIX_MANUAL_VERSION" . "1.3.0")
@@ -310,7 +311,7 @@ Happy hacking!\n"))
              (service static-web-site-service-type
                       (static-web-site-configuration
                        (git-url "https://git.savannah.gnu.org/git/guix.git")
-                       (directory "/srv/guix-manual-devel")
+                       (directory "/srv/guix-manual")
 
                        ;; XXX: Use a different cache directory to work around
                        ;; the fact that (guix git) would use a same-named
@@ -318,7 +319,7 @@ Happy hacking!\n"))
                        ;; above.  Since both mcron jobs run at the same time,
                        ;; they would end up using one branch or the other, in
                        ;; a non-deterministic way.
-                       (cache-directory "guix-master-manual")
+                       (cache-directory "guix-manual")
 
                        (build-file "doc/build.scm")
                        (environment-variables
diff --git a/hydra/nginx/berlin.scm b/hydra/nginx/berlin.scm
index 44ff28e..14a94fe 100644
--- a/hydra/nginx/berlin.scm
+++ b/hydra/nginx/berlin.scm
@@ -768,14 +768,14 @@ PUBLISH-URL."
                 "alias /srv/guix.gnu.org/static;")))
 
    ;; These rules take precedence over the '.pdf' and '.html' rules below.
-   (nginx-location-configuration
-    (uri "~ /manual/devel/(.*)$")
-    (body (list "expires 4h;"
-                "alias /srv/guix-manual-devel/$1;")))
    (nginx-location-configuration
     (uri "~ /manual/(.*)$")
-    (body (list "expires 1d;"
+    (body (list "expires 4h;"
                 "alias /srv/guix-manual/$1;")))
+   (nginx-location-configuration
+    (uri "~ /manual/1.3.0/(.*)$")
+    (body (list "expires 1d;"
+                "alias /srv/guix-manual-1.3.0/$1;")))
    (nginx-location-configuration
     (uri "~ /cookbook/(.*)$")
     (body (list "expires 4h;"

base-commit: 3069d5e8c8b00162af1d6e7705c8d235f2e3b56a
-- 
2.33.0