From 88bfabf111dfc794dc8c8f6d44d253842b39b55e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Mon, 27 Aug 2018 22:47:14 +0200 Subject: hydra: Add support for manifests. * build-aux/hydra/gnu-system.scm (arguments->manifests, manifests->packages): New procedures. (hydra-jobs): Add a "manifests" subset. * doc/guix.texi (Continuous Integration): Update accordingly. --- doc/guix.texi | 56 ++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 38 insertions(+), 18 deletions(-) (limited to 'doc/guix.texi') diff --git a/doc/guix.texi b/doc/guix.texi index 19a497c746..cccf166d03 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -18165,23 +18165,43 @@ The type of the Cuirass service. Its value must be a @code{cuirass-configuration} object, as described below. @end defvr -To add build jobs, you have to set the @code{specifications} field of -the configuration. Here is an example of a service defining a build job -based on a specification that can be found in Cuirass source tree. This -service polls the Guix repository and builds a subset of the Guix -packages, as prescribed in the @file{gnu-system.scm} example spec: - -@example -(let ((spec #~((#:name . "guix") - (#:url . "git://git.savannah.gnu.org/guix.git") - (#:load-path . ".") - (#:file . "build-aux/cuirass/gnu-system.scm") - (#:proc . cuirass-jobs) - (#:arguments (subset . "hello")) - (#:branch . "master")))) - (service cuirass-service-type - (cuirass-configuration - (specifications #~(list '#$spec))))) +To add build jobs, you have to set the @code{specifications} field of the +configuration. Here is an example of a service that polls the Guix repository +and builds the packages from a manifest. Some of the packages are defined in +the @code{"custom-packages"} input, which is the equivalent of +@code{GUIX_PACKAGE_PATH}. + +@example +(define %cuirass-specs + #~(list + '((#:name . "my-manifest") + (#:load-path-inputs . ("guix")) + (#:package-path-inputs . ("custom-packages")) + (#:proc-input . "guix") + (#:proc-file . "build-aux/cuirass/gnu-system.scm") + (#:proc . cuirass-jobs) + (#:proc-args . ((subset . "manifests") + (systems . ("x86_64-linux")) + (manifests . (("config" . "guix/manifest.scm"))))) + (#:inputs . (((#:name . "guix") + (#:url . "git://git.savannah.gnu.org/guix.git") + (#:load-path . ".") + (#:branch . "master") + (#:no-compile? . #t)) + ((#:name . "config") + (#:url . "git://git.example.org/config.git") + (#:load-path . ".") + (#:branch . "master") + (#:no-compile? . #t)) + ((#:name . "custom-packages") + (#:url . "git://git.example.org/custom-packages.git") + (#:load-path . ".") + (#:branch . "master") + (#:no-compile? . #t))))))) + +(service cuirass-service-type + (cuirass-configuration + (specifications %cuirass-specs))) @end example While information related to build jobs is located directly in the @@ -18208,7 +18228,7 @@ Owner's group of the @code{cuirass} process. Number of seconds between the poll of the repositories followed by the Cuirass jobs. -@item @code{database} (default: @code{"/var/run/cuirass/cuirass.db"}) +@item @code{database} (default: @code{"/var/lib/cuirass/cuirass.db"}) Location of sqlite database which contains the build results and previously added specifications. -- cgit v1.2.3