aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--genenetwork-development.scm91
1 files changed, 7 insertions, 84 deletions
diff --git a/genenetwork-development.scm b/genenetwork-development.scm
index 62a9b9b..579e0c2 100644
--- a/genenetwork-development.scm
+++ b/genenetwork-development.scm
@@ -31,7 +31,7 @@
((gnu packages check) #:select (python-pylint))
((gnu packages ci) #:select (laminar))
((gnu packages compression) #:select (gzip))
- ((gnu packages databases) #:select (virtuoso-ose yoyo-migrations))
+ ((gnu packages databases) #:select (virtuoso-ose))
((gnu packages gnupg) #:select (guile-gcrypt))
((gnu packages graphviz) #:select (graphviz))
((gnu packages guile) #:select (guile-3.0 guile-git guile-zlib))
@@ -227,66 +227,6 @@ command to be executed."
(genenetwork3-tests (list "pytest" "-k" "unit_test")
(package->development-manifest genenetwork3)))
-(define (gn-auth-migrations-yoyo-ini-gexp config)
- "Return a G-expression to construct a @file{yoyo.ini} configuration
-file for a genenetwork service described by @var{config}, a
-@code{<genenetwork-configuration>} object."
- (match-record config <genenetwork-configuration>
- (auth-db-path)
- (with-extensions (list guile-ini guile-lib guile-smc)
- #~ (begin
- (use-modules (srfi srfi-26)
- (ini))
-
- (call-with-output-file #$output
- (cut scm->ini
- `(("DEFAULT"
- ("sources" . "gn-auth/migrations/auth/")
- ("database" . #$(string-append "sqlite:///" auth-db-path))
- ("migration_table" . "_yoyo_migration")
- ("batch_mode" . "on")
- ("verbosity" . "2")))
- #:port <>))))))
-
-(define (gn-auth-migrations config)
- "Return a G-expression that runs the migrations for the
-auth(entic|oris)ation database. This is the actual migration run by
-the genenetwork user."
- (match-record config <genenetwork-configuration>
- (auth-db-path)
- (with-imported-modules '((guix build utils))
- #~(begin
- (use-modules (guix build utils))
-
- ;; Initialize an empty database file if it does not
- ;; already exist.
- (unless (file-exists? #$auth-db-path)
- (call-with-output-file #$auth-db-path
- (const #t)))
- ;; Run migrations.
- (invoke #$(file-append yoyo-migrations "/bin/yoyo")
- "apply" "--config"
- #$(computed-file "yoyo.ini"
- (gn-auth-migrations-yoyo-ini-gexp config)))))))
-
-(define (gn-auth-migrations-laminar config)
- "Return a G-expression that runs the migrations for the
-auth(entic|oris)ation database. This is the wrapper script run by the
-laminar user."
- (match-record config <genenetwork-configuration>
- (gn-auth-repository)
- (with-packages (list git-minimal nss-certs)
- (with-imported-modules '((guix build utils))
- #~(begin
- (use-modules (guix build utils))
-
- ;; Clone the latest gn-auth repository.
- (invoke "git" "clone" "--depth" "1" #$gn-auth-repository)
- ;; Run the actual migrations as the genenetwork user.
- (invoke #$sudo "--user=genenetwork"
- #$(program-file "gn-auth-migrations"
- (gn-auth-migrations config))))))))
-
(define genenetwork3-pylint
(with-imported-modules (source-module-closure '((genenetwork development-helper))
#:select? import-module?)
@@ -441,14 +381,15 @@ genenetwork3 source from the latest commit of @var{project}."
(url (forge-project-repository this-forge-project))
(branch "main")))
#:guix-daemon-uri %guix-daemon-uri))
- ;; If unit tests pass, trigger the auth migrations.
- (after (with-imported-modules '((guix build utils))
+ ;; If unit tests pass, restart the auth server.
+ (after (with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(when (string=? (getenv "RESULT") "success")
- (invoke #$(file-append laminar "/bin/laminarc")
- "queue" "gn-auth-migrations"))))))
+ (invoke #$sudo
+ #$(file-append shepherd "/bin/herd")
+ "restart" "gn-auth"))))))
(forge-laminar-job
(name "gn-auth-pylint")
(run (derivation-job-gexp
@@ -464,20 +405,7 @@ genenetwork3 source from the latest commit of @var{project}."
(genenetwork3-tests (list "mypy" ".")
(manifest-cons python-mypy
(package->development-manifest gn-auth)))
- #:guix-daemon-uri %guix-daemon-uri)))
- (forge-laminar-job
- (name "gn-auth-migrations")
- (run (gn-auth-migrations-laminar config))
- ;; If migrations run successfully, redeploy gn-auth
- (after (with-imported-modules '((guix build utils))
- #~(begin
- (use-modules (guix build utils))
-
- (when (string=? (getenv "RESULT") "success")
- (invoke #$sudo
- #$(file-append shepherd "/bin/herd")
- "restart" "gn-auth")))))
- (trigger? #f))))
+ #:guix-daemon-uri %guix-daemon-uri)))))
(ci-jobs-trigger 'webhook)))))
(define (genenetwork2-cd-gexp config)
@@ -1160,11 +1088,6 @@ gn-auth."
(file-append shepherd "/bin/herd") " start gn-auth, "
(file-append shepherd "/bin/herd") " stop gn-auth, "
(file-append shepherd "/bin/herd") " restart gn-auth\n"
- ;; Permit the laminar user to run auth db
- ;; migrations as the genenetwork user.
- "\nlaminar ALL = (genenetwork) NOPASSWD: "
- (program-file "gn-auth-migrations"
- (gn-auth-migrations (genenetwork-configuration)))
;; Permit the acme user to restart nginx.
"\nacme ALL = NOPASSWD: " (file-append shepherd "/bin/herd") " restart nginx\n"))
(services (cons* (service forge-service-type