civodul pushed a commit to branch master in repository maintenance. commit 7f84068ef02ca48a4c676c49d916da0c30a7c40c Author: Ludovic Courtès <l...@gnu.org> AuthorDate: Thu Mar 27 23:09:18 2025 +0100
hydra: services: Turn ‘build-package-metadata.scm’ job into a timer. * hydra/modules/sysadmin/web.scm (guix-web-site-mcron-jobs): Rename to… (guix-web-site-shepherd-services): … this. Return a list of shepherd services. (guix-web-site-service-type)[extensions]: Adjust accordingly. --- hydra/modules/sysadmin/web.scm | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/hydra/modules/sysadmin/web.scm b/hydra/modules/sysadmin/web.scm index 2fc8512e..e6aa30a5 100644 --- a/hydra/modules/sysadmin/web.scm +++ b/hydra/modules/sysadmin/web.scm @@ -33,7 +33,6 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages texinfo) #:use-module (gnu services) - #:use-module (gnu services mcron) #:use-module (gnu services shepherd) #:use-module (gnu services web) #:use-module (gnu system shadow) @@ -325,7 +324,7 @@ taken from a Git repository.") ;; Directory where to store 'packages.json' and 'sources.json'. "/srv/package-metadata") -(define guix-web-site-mcron-jobs +(define guix-web-site-shepherd-services ;; Job that periodically builds 'packages.json' and 'sources.json'. (let ((program (program-file "build-package-metadata" #~(execl #$(file-append guix "/bin/guix") @@ -334,8 +333,17 @@ taken from a Git repository.") #$(local-file "../../build-package-metadata.scm") #$%package-metadata-directory)))) - (list #~(job "30 */6 * * *" #$program - #:user "static-web-site")))) + (list (shepherd-service + (provision '(update-package-metadata)) + (requirement '(user-processes)) + (modules '((shepherd service timer))) + (start #~(make-timer-constructor + (cron-string->calendar-event "30 */6 * * *") + (command '(#$program) #:user "static-web-site"))) + (stop #~(make-timer-destructor)) + (actions (list shepherd-trigger-action)) + (documentation "Update package metadata served as +https://guix.gnu.org/packages.json and https://guix.gnu.org/sources.json.";))))) (define guix-web-site-activation (with-imported-modules '((guix build utils)) @@ -356,8 +364,8 @@ taken from a Git repository.") (const guix-static-web-sites)) (service-extension activation-service-type (const guix-web-site-activation)) - (service-extension mcron-service-type - (const guix-web-site-mcron-jobs)) + (service-extension shepherd-root-service-type + (const guix-web-site-shepherd-services)) (service-extension nginx-service-type (const (list guix.gnu.org-nginx-server))))) (description