aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Isaac2023-12-20 09:54:36 +0000
committerArun Isaac2023-12-20 10:22:52 +0000
commite340a5aae98cc0cb5b6ca8a42e0a61dc55fb184f (patch)
treefa47a9eaf03149e7927bc9878848b5fb86bc3998
parentaaf6750858e061e5f5740fb1edbc49b68b3c4717 (diff)
downloadgn-machines-e340a5aae98cc0cb5b6ca8a42e0a61dc55fb184f.tar.gz
Use guix-channel-job-gexp for gn-transform-databases CI job.
* genenetwork-development.scm: Import (guix ci). (transform-genenetwork-database-tests): Delete variable. (%default-guix-channel-with-substitutes): New variable. (transform-genenetwork-database-project): Use guix-channel-job-gexp for transform-genenetwork-database-tests CI job. * genenetwork/development-helper.scm: Delete file.
-rw-r--r--genenetwork-development.scm29
-rw-r--r--genenetwork/development-helper.scm47
2 files changed, 11 insertions, 65 deletions
diff --git a/genenetwork-development.scm b/genenetwork-development.scm
index 0890c5c..19023bd 100644
--- a/genenetwork-development.scm
+++ b/genenetwork-development.scm
@@ -54,6 +54,7 @@
(gnu system file-systems)
(guix build-system gnu)
(guix channels)
+ (guix ci)
(guix git-download)
(guix least-authority)
((guix licenses) #:prefix license:)
@@ -79,6 +80,10 @@
(define %guix-daemon-uri
"/var/host-guix/daemon-socket/socket")
+(define %default-guix-channel-with-substitutes
+ (channel-with-substitutes-available %default-guix-channel
+ "https://ci.guix.gnu.org"))
+
;; We cannot refer to sudo in the store since that sudo does not have
;; the setuid bit set. See "(guix) Setuid Programs".
(define sudo
@@ -758,20 +763,6 @@ described by CONFIG, a <genenetwork-configuration> object."
(description "run64 is a SRFI-64 test runner for Scheme.")
(license license:gpl3+)))
-(define transform-genenetwork-database-tests
- (with-imported-modules (source-module-closure '((genenetwork development-helper))
- #:select? import-module?)
- #~(lambda (source)
- ((@@ (genenetwork development-helper)
- command-in-source-gexp)
- source
- #$(profile
- (content (packages->manifest
- (list gnu-make guile-3.0 guile-dbi guile-dbd-mysql
- ccwl guile-libyaml guile-sparql run64)))
- (allow-collisions? #t))
- (list "make" "check")))))
-
(define (transform-genenetwork-database project)
(with-imported-modules '((guix build utils))
(with-packages (list ccwl git-minimal gnu-make guile-3.0 guile-dbd-mysql
@@ -825,10 +816,12 @@ described by CONFIG, a <genenetwork-configuration> object."
(repository "https://git.genenetwork.org/gn-transform-databases/")
(ci-jobs (list (forge-laminar-job
(name "transform-genenetwork-database-tests")
- (run (derivation-job-gexp
- this-forge-project
- this-forge-laminar-job
- transform-genenetwork-database-tests
+ (run (guix-channel-job-gexp
+ (list (channel
+ (name 'gn-bioinformatics)
+ (url (forge-project-repository this-forge-project))
+ (branch "master"))
+ %default-guix-channel-with-substitutes)
#:guix-daemon-uri %guix-daemon-uri)))
(forge-laminar-job
(name "transform-genenetwork-database")
diff --git a/genenetwork/development-helper.scm b/genenetwork/development-helper.scm
deleted file mode 100644
index 20edfbf..0000000
--- a/genenetwork/development-helper.scm
+++ /dev/null
@@ -1,47 +0,0 @@
-;;; genenetwork-machines --- Guix configuration for genenetwork machines
-;;; Copyright © 2022, 2023 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2022 Frederick Muriuki Muriithi <fredmanglis@gmail.com>
-;;;
-;;; This file is part of genenetwork-machines.
-;;;
-;;; genenetwork-machines 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.
-;;;
-;;; genenetwork-machines 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 genenetwork-machines. If not, see
-;;; <https://www.gnu.org/licenses/>.
-
-(define-module (genenetwork development-helper)
- #:use-module (ice-9 match)
- #:use-module (guix gexp)
- #:use-module (guix profiles)
- #:use-module (guix search-paths)
- #:use-module (forge build utils))
-
-(define (command-in-source-gexp source profile command)
- "Return a G-expression that runs COMMAND in PROFILE and with SOURCE
-as the current directory. SOURCE and PROFILE are store items. COMMAND
-is a list of strings specifying the command to be executed."
- (with-imported-modules '((guix build utils))
- (with-profile profile
- #~(begin
- (use-modules (rnrs exceptions)
- (guix build utils))
-
- (chdir #$source)
- (guard (condition ((invoke-error? condition)
- (format (current-error-port)
- "`~a~{ ~a~}' failed with exit status ~a~%"
- (invoke-error-program condition)
- (invoke-error-arguments condition)
- (invoke-error-exit-status condition))
- (exit #f)))
- (apply invoke '#$command))
- (mkdir-p #$output)))))