about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMunyoki Kilyungi2025-09-05 12:19:48 +0300
committerMunyoki Kilyungi2025-09-19 15:35:40 +0300
commit621e7133c7de98e45d2a6a6c060559b2837e25e4 (patch)
tree0d131532086203071118d2a58959c98777f8182e
parentec0f12810ab0bbe2bd7b07056c044ec48853fe26 (diff)
downloadgn-machines-621e7133c7de98e45d2a6a6c060559b2837e25e4.tar.gz
Remove use of the "bin/genenetwork2" script.
-rw-r--r--genenetwork-development.scm49
1 files changed, 35 insertions, 14 deletions
diff --git a/genenetwork-development.scm b/genenetwork-development.scm
index d1a550c..a11bc56 100644
--- a/genenetwork-development.scm
+++ b/genenetwork-development.scm
@@ -200,7 +200,7 @@ executed."
   (match-record config <genenetwork-configuration>
     (gn2-repository gn3-repository gn-libs-repository gn3-port genotype-files)
     (with-imported-modules '((guix build utils))
-      (with-packages (list bash coreutils git-minimal nss-certs)
+      (with-packages (list bash coreutils git-minimal nss-certs genenetwork2)
         #~(begin
             (use-modules (guix build utils)
                          (srfi srfi-26))
@@ -232,10 +232,6 @@ executed."
             (invoke "git" "clone" "--depth" "1" #$gn2-repository)
             (with-directory-excursion "genenetwork2"
               (show-head-commit))
-            ;; This is a dummy SERVER_PORT to placate
-            ;; bin/genenetwork2. TODO: Fix bin/genenetwork2 so that
-            ;; this is not needed.
-            (setenv "SERVER_PORT" "8080")
             ;; Use a profile with all dependencies except
             ;; genenetwork3.
             (setenv "GN2_PROFILE"
@@ -249,7 +245,30 @@ executed."
             (setenv "GN3_LOCAL_URL" (string-append "http://localhost:" (number->string #$gn3-port)))
             (setenv "GENENETWORK_FILES" #$genotype-files)
             (setenv "HOME" "/tmp")
+	    ;; This file is cosmetic
+	    (setenv
+             "GN2_SETTINGS"
+             #$(mixed-text-file "gn2.conf"
+		 "GN2_SECRETS=\"/tmp/secret.py\"\n"
+                 "AI_SEARCH_ENABLED=True\n"
+		 "TEST_FEATURE_SWITCH=True\n"
+		 "GN3_LOCAL_URL=\"http://localhost:120\"\n"
+		 "GN3_GUILE_SERVER_URL=\"http://localhost:120\"\n"
+                 "GN_SERVER_URL=\"https://cd.genenetwork.org/api3/\"\n"
+                 "AUTH_SERVER_URL=\"https://auth-cd.genenetwork.org/\"\n"
+                 "SQL_URI=\"mysql://webqtlout:webqtlout@localhost/db_webqtl?unix_socket=/run/mysqld/mysqld.sock\"\n"
+                 "SSL_PRIVATE_KEY=\"/tmp/ssl-private.pem\"\n"
+                 "AUTH_SERVER_SSL_PUBLIC_KEY=\"/tmp/gn-auth-ssl-public-key.pem\"\n"))
             (setenv "SQL_URI" "mysql://webqtlout:webqtlout@localhost/db_webqtl?unix_socket=/run/mysqld/mysqld.sock&charset=utf8")
+	    (setenv "PATH" (string-append (getenv "GN2_PROFILE") "/bin:$PATH"))
+	    (setenv "R_LIBS_SITE" (string-append (getenv "GN2_PROFILE") "/site-library"))
+	    (setenv "JS_GUIX_PATH" (string-append (getenv "GN2_PROFILE") "/share/genenetwork2/javascript"))
+	    (setenv "GUIX_GENENETWORK_FILES" (string-append (getenv "GN2_PROFILE") "/share/genenetwork2"))
+	    (setenv "GENENETWORK_FILES" "/export/data/genenetwork/genotype_files")
+	    (setenv "PLINK_COMMAND" (string-append (getenv "GN2_PROFILE") "/bin/plink2"))
+	    (setenv "GEMMA_COMMAND" (string-append (getenv "GN2_PROFILE") "/bin/gemma"))
+	    (setenv "GEMMA_WRAPPER_COMMAND" (string-append (getenv "GN2_PROFILE") "/bin/gemma-wrapper"))
+	    (setenv "HOME" "/tmp")
             (chdir "genenetwork2")
             ;; XXXX: FIXME: R/Qtl tests fail because files are generated in
             ;; the "/tmp" directory.  Currently, "/tmp" is mapped by gn2/gn3
@@ -346,10 +365,7 @@ genenetwork3 source from the latest commit of @var{project}."
            (repository gn2-repository)
            (ci-jobs (list (forge-laminar-job
                            (name "genenetwork2")
-                           (run (genenetwork2-tests
-                                 config
-                                 (list "sh" "bin/genenetwork2" "./gn2/default_settings.py"
-                                       "-c" "-m" "pytest")))
+                           (run (genenetwork2-tests config (list "python3" "-m" "pytest")))
                            ;; If unit tests pass, redeploy genenetwork2 and
                            ;; trigger Mechanical Rob.
                            (after (with-imported-modules '((guix build utils))
@@ -365,8 +381,7 @@ genenetwork3 source from the latest commit of @var{project}."
                            (name "genenetwork2-mechanical-rob")
                            (run (genenetwork2-tests
                                  config
-                                 (list "sh" "bin/genenetwork2" "./gn2/default_settings.py"
-                                       "-c" "test/requests/test-website.py"
+                                 (list "python3" "test/requests/tests-website.py"
                                        "--all" (string-append "http://localhost:" (number->string gn2-port)))))
                            (trigger? #f))))
            (ci-jobs-trigger 'webhook))
@@ -543,9 +558,15 @@ server described by CONFIG, a <genenetwork-configuration> object."
 
             ;; Start genenetwork2.
             (with-directory-excursion
-		(string-append #$repositories "/genenetwork2")
-	      (invoke #$(file-append bash "/bin/sh")
-		      "bin/genenetwork2" "gn2/default_settings.py" "-gunicorn-dev")))))))
+	     (string-append #$repositories "/genenetwork2")
+	     (invoke #$(file-append gunicorn "/bin/gunicorn")
+               "--bind" (string-append "0.0.0.0:" (number->string #$gn2-port))
+               "--workers" "20"
+               "--keep-alive" "6000"
+               "--max-requests" "100"
+               "--max-requests-jitter" "30"
+               "--timeout" "1200"
+               "gn2.wsgi")))))))
 
 (define (genenetwork3-cd-gexp config)
   "Return a G-expression that runs the latest genenetwork3 development