From e4ff26d3c17ee7be78db4138f41ffb4f50fc2fe0 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Tue, 30 Jul 2019 18:00:36 +0200 Subject: [PATCH] hydra: Fix devel manual generation. * hydra/modules/sysadmin/web.scm (static-web-site-configuration): Allow to pass a custom cache directory. (static-web-site-mcron-jobs): Pass it to build-program. (build-program): Accept a cache-directory argument and use it to customize the name of the checkout directory. * hydra/berlin.scm (static-web-site-service-type): Use a custom cache-directory for the manuals of both stable and 'master' releases. --- hydra/berlin.scm | 20 +++++++++----------- hydra/modules/sysadmin/web.scm | 12 ++++++++++-- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/hydra/berlin.scm b/hydra/berlin.scm index 70a917d..513e975 100644 --- a/hydra/berlin.scm +++ b/hydra/berlin.scm @@ -2,7 +2,7 @@ ;; hosted at the MDC. (use-modules (gnu) (guix) (sysadmin services) (sysadmin people) (sysadmin dns) - (sysadmin web)) + (sysadmin web) (guix git)) (use-service-modules base databases dns monitoring networking admin shepherd) (use-package-modules admin certs emacs linux monitoring ssh tls vim package-management @@ -217,23 +217,21 @@ fastcgi_param PHP_VALUE \"post_max_size = 16M (git-ref '(branch . "version-1.0.1")) (directory "/srv/guix-manual") (build-file "doc/build.scm") - (environment-variables - '(("GUIX_MANUAL_VERSION" . "1.0.1") + (cache-directory (string-append %repository-cache-directory + "/guix-stable-manual")) + (environment-variables + '(("GUIX_MANUAL_VERSION" . "1.0.1") ("GUIX_WEB_SITE_URL" . "/"))))) ;; Manual for 'master'. (service static-web-site-service-type (static-web-site-configuration - ;; XXX: Use a different URL to work around the fact - ;; that (guix git) would use a same-named checkout - ;; directory for 'master' and for the branch 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. - (git-url "https://git.sv.gnu.org/git/guix.git") + (git-url "https://git.savannah.gnu.org/git/guix.git") (directory "/srv/guix-manual-devel") + (cache-directory (string-append %repository-cache-directory + "/guix-master-manual")) (build-file "doc/build.scm") - (environment-variables + (environment-variables '(("GUIX_WEB_SITE_URL" . "/"))))) (frontend-services %sysadmins diff --git a/hydra/modules/sysadmin/web.scm b/hydra/modules/sysadmin/web.scm index b63f160..225b1b4 100644 --- a/hydra/modules/sysadmin/web.scm +++ b/hydra/modules/sysadmin/web.scm @@ -44,7 +44,8 @@ (file "guix.scm") (ref '(branch . "master")) (name "build-program") - (environment-variables '())) + (environment-variables '()) + (cache-directory #f)) "Return a program that pulls code from URL, builds it by loading FILE from that checkout (usually a 'guix.scm' file), and registers the result as ROOT (an indirect GC root) upon success. FILE is loaded in a content where @@ -67,7 +68,10 @@ that's built with Haunt or similar." (return #t)))) (define-values (checkout commit) - (update-cached-checkout #$url #:ref '#$ref)) + (update-cached-checkout #$url #:ref '#$ref + #@$(if cache-directory + `(#:cache-directory ,cache-directory) + '()))) (define obj (let ((variables '#$environment-variables)) @@ -102,6 +106,8 @@ that's built with Haunt or similar." (default "guix.scm")) (environment-variables static-web-site-configuration-environment-variable (default '())) + (cache-directory static-web-site-configuration-cache-directory + (default #f)) (directory static-web-site-configuration-directory (default "/srv/www"))) @@ -113,6 +119,8 @@ that's built with Haunt or similar." #:ref (static-web-site-configuration-git-ref config) #:environment-variables (static-web-site-configuration-environment-variable config) + #:cache-directory + (static-web-site-configuration-cache-directory config) #:name (string-append "update-" (basename -- 2.22.0