diff options
author | Mathieu Othacehe <othacehe@gnu.org> | 2020-10-01 11:46:53 +0200 |
---|---|---|
committer | Mathieu Othacehe <othacehe@gnu.org> | 2020-10-01 11:46:53 +0200 |
commit | 3ca014d1df35c50f50c6658166d1149ccd2f0e19 (patch) | |
tree | 48f3fc4e42901b089194a07a6224b22331117642 | |
parent | 5627bfe45ce46f498979b4ad2deab1fdfed22b6c (diff) | |
download | guix-3ca014d1df35c50f50c6658166d1149ccd2f0e19.tar.gz |
ci: Add nix-name and system keys.
Add 'nix-name and 'system properties to hydra objects. This way Cuirass won't have to go through every derivation to add those properties. * gnu/ci.scm (package->alist, image-jobs, system-test-jobs, tarball-jobs): Add 'nix-name and 'system properties. * build-aux/hydra/guix-modular.scm (build-job): Ditto.
-rw-r--r-- | build-aux/hydra/guix-modular.scm | 24 | ||||
-rw-r--r-- | gnu/ci.scm | 52 |
2 files changed, 43 insertions, 33 deletions
diff --git a/build-aux/hydra/guix-modular.scm b/build-aux/hydra/guix-modular.scm index 8e07e7cd01..c70e9d8d55 100644 --- a/build-aux/hydra/guix-modular.scm +++ b/build-aux/hydra/guix-modular.scm @@ -43,17 +43,19 @@ for SYSTEM. Use VERSION as the version identifier." (define build (primitive-load (string-append source "/build-aux/build-self.scm"))) - `((derivation . ,(derivation-file-name - (run-with-store store - (build source #:version version #:system system - #:pull-version 1 - #:guile-version "2.2")))) ;the latest 2.2.x - (description . "Modular Guix") - (long-description - . "This is the modular Guix package as produced by 'guix pull'.") - (license . ,license:gpl3+) - (home-page . ,%guix-home-page-url) - (maintainers . (,%guix-bug-report-address))))) + (let ((drv (run-with-store store + (build source #:version version #:system system + #:pull-version 1 + #:guile-version "2.2")))) + `((derivation . ,(derivation-file-name drv)) ;the latest 2.2.x + (nix-name . ,(derivation-name drv)) + (system . ,(derivation-system drv)) + (description . "Modular Guix") + (long-description + . "This is the modular Guix package as produced by 'guix pull'.") + (license . ,license:gpl3+) + (home-page . ,%guix-home-page-url) + (maintainers . (,%guix-bug-report-address)))))) (define (hydra-jobs store arguments) "Return Hydra jobs." diff --git a/gnu/ci.scm b/gnu/ci.scm index 2329a38b84..c985cd653b 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm @@ -75,28 +75,30 @@ #:optional (package-derivation package-derivation)) "Convert PACKAGE to an alist suitable for Hydra." (parameterize ((%graft? #f)) - `((derivation . ,(derivation-file-name - (package-derivation store package system - #:graft? #f))) - (description . ,(package-synopsis package)) - (long-description . ,(package-description package)) - - ;; XXX: Hydra ignores licenses that are not a <license> structure or a - ;; list thereof. - (license . ,(let loop ((license (package-license package))) - (match license - ((? license?) - (license-name license)) - ((lst ...) - (map loop license))))) - - (home-page . ,(package-home-page package)) - (maintainers . ("bug-guix@gnu.org")) - (max-silent-time . ,(or (assoc-ref (package-properties package) - 'max-silent-time) - 3600)) ;1 hour by default - (timeout . ,(or (assoc-ref (package-properties package) 'timeout) - 72000))))) ;20 hours by default + (let ((drv (package-derivation store package system + #:graft? #f))) + `((derivation . ,(derivation-file-name drv)) + (nix-name . ,(derivation-name drv)) + (system . ,(derivation-system drv)) + (description . ,(package-synopsis package)) + (long-description . ,(package-description package)) + + ;; XXX: Hydra ignores licenses that are not a <license> structure or a + ;; list thereof. + (license . ,(let loop ((license (package-license package))) + (match license + ((? license?) + (license-name license)) + ((lst ...) + (map loop license))))) + + (home-page . ,(package-home-page package)) + (maintainers . ("bug-guix@gnu.org")) + (max-silent-time . ,(or (assoc-ref (package-properties package) + 'max-silent-time) + 3600)) ;1 hour by default + (timeout . ,(or (assoc-ref (package-properties package) 'timeout) + 72000)))))) ;20 hours by default (define (package-job store job-name package system) "Return a job called JOB-NAME that builds PACKAGE on SYSTEM." @@ -201,6 +203,8 @@ SYSTEM." "Return a list of jobs that build images for SYSTEM." (define (->alist drv) `((derivation . ,(derivation-file-name drv)) + (nix-name . ,(derivation-name drv)) + (system . ,(derivation-system drv)) (description . "Stand-alone image of the GNU system") (long-description . "This is a demo stand-alone image of the GNU system.") @@ -304,6 +308,8 @@ system.") (system-test-value test)))) `((derivation . ,(derivation-file-name drv)) + (nix-name . ,(derivation-name drv)) + (system . ,(derivation-system drv)) (description . ,(format #f "Guix '~a' system test" (system-test-name test))) (long-description . ,(system-test-description test)) @@ -333,6 +339,8 @@ system.") "Return Hydra jobs to build the self-contained Guix binary tarball." (define (->alist drv) `((derivation . ,(derivation-file-name drv)) + (nix-name . ,(derivation-name drv)) + (system . ,(derivation-system drv)) (description . "Stand-alone binary Guix tarball") (long-description . "This is a tarball containing binaries of Guix and all its dependencies, and ready to be installed on \"foreign\" distributions.") |