diff options
author | Mathieu Othacehe <othacehe@gnu.org> | 2021-03-10 08:48:19 +0100 |
---|---|---|
committer | Mathieu Othacehe <othacehe@gnu.org> | 2021-03-10 19:41:15 +0100 |
commit | 33bb89c939aee88bd211964db600df65d1b656af (patch) | |
tree | 408f20f47952b581feee09760a68734f59500108 /build-aux/hydra/gnu-system.scm | |
parent | cab3b57543bf42247870e56ffb1acd685d854d97 (diff) |
ci: Remove hydra support.
This removes hydra support to use Cuirass as the only continuous integration
system.
* build-aux/hydra/gnu-system.scm: Remove it.
* build-aux/hydra/guix-modular.scm: Ditto.
* build-aux/hydra/guix.scm: Ditto.
* build-aux/cuirass/hydra-to-cuirass.scm: Ditto.
* Makefile.am (EXTRA_DIST): Update it.
(hydra-jobs.scm): Remove it.
(cuirass-jobs.scm): Update it.
* build-aux/hydra/evaluate.scm: Move it to ...
* build-aux/cuirass/evaluate.scm: ... here.
* build-aux/cuirass/guix-modular.scm: Remove it.
* build-aux/cuirass/gnu-system.scm: Ditto.
* guix/packages.scm (%hydra-supported-systems): Rename it to ...
(%cuirass-supported-systems): ... this variable.
* build-aux/check-final-inputs-self-contained: Adapt it.
* etc/release-manifest.scm: Ditto.
* gnu/ci.scm (package->alist): Remove it.
(derivation->job): New procedure.
(package-job, package-cross-job, cross-jobs, image-jobs, system-test-jobs,
tarball-jobs): Use it.
(guix-jobs): New procedure.
(hydra-jobs): Rename it to ...
(cuirass-jobs): ... this procedure.
Diffstat (limited to 'build-aux/hydra/gnu-system.scm')
-rw-r--r-- | build-aux/hydra/gnu-system.scm | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm deleted file mode 100644 index a03324daeb..0000000000 --- a/build-aux/hydra/gnu-system.scm +++ /dev/null @@ -1,88 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2020 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org> -;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -;;; -;;; This file defines build jobs for the Hydra continuation integration -;;; tool. -;;; - -(use-modules (guix inferior) (guix channels) - (guix) - (guix ui) - (srfi srfi-1) - (ice-9 match)) - -;; XXX: Debugging hack: since `hydra-eval-guile-jobs' redirects the output -;; port to the bit bucket, let us write to the error port instead. -(setvbuf (current-error-port) 'line) -(set-current-output-port (current-error-port)) - -(define (find-current-checkout arguments) - "Find the first checkout of ARGUMENTS that provided the current file. -Return #f if no such checkout is found." - (let ((current-root - (canonicalize-path - (string-append (dirname (current-filename)) "/../..")))) - (find (lambda (argument) - (and=> (assq-ref argument 'file-name) - (lambda (name) - (string=? name current-root)))) arguments))) - -(define (hydra-jobs store arguments) - "Return a list of jobs where each job is a NAME/THUNK pair." - - (define checkout - (find-current-checkout arguments)) - - (define commit - (assq-ref checkout 'revision)) - - (define source - (assq-ref checkout 'file-name)) - - (define instance - (checkout->channel-instance source #:commit commit)) - - (define derivation - ;; Compute the derivation of Guix for COMMIT. - (run-with-store store - (channel-instances->derivation (list instance)))) - - ;; TODO: Remove 'show-what-to-build' call when Cuirass' 'evaluate' scripts - ;; uses 'with-build-handler'. - (show-what-to-build store (list derivation)) - (build-derivations store (list derivation)) - - ;; Open an inferior for the just-built Guix. - (let ((inferior (open-inferior (derivation->output-path derivation)))) - (inferior-eval '(use-modules (gnu ci) (ice-9 match)) inferior) - - (map (match-lambda - ((name . fields) - ;; Hydra expects a thunk, so here it is. - (cons name (lambda () fields)))) - (inferior-eval-with-store - inferior store - `(lambda (store) - (map (match-lambda - ((name . thunk) - (cons name (thunk)))) - (hydra-jobs store '((superior-guix-checkout . ,checkout) - ,@arguments)))))))) |