summary refs log tree commit diff
path: root/bin
diff options
context:
space:
mode:
authorArun Isaac2025-11-24 00:57:12 +0000
committerArun Isaac2025-11-24 01:33:27 +0000
commit124c5c51c24b0eacba891da9c6a2e4bc9eb1937a (patch)
treeaef236cbb49a7591bddac49f888851dd0627428c /bin
parentd22f48630c08ef79fe25c580126a8d9bd373c522 (diff)
downloadravanan-124c5c51c24b0eacba891da9c6a2e4bc9eb1937a.tar.gz
ravanan-124c5c51c24b0eacba891da9c6a2e4bc9eb1937a.tar.lz
ravanan-124c5c51c24b0eacba891da9c6a2e4bc9eb1937a.zip
reader: Resolve YAML inputs file type ambiguities.
Resolve YAML inputs file type ambiguities by reading them along with
the workflow file and using the workflow input types to guide their
type coercion.
Diffstat (limited to 'bin')
-rwxr-xr-xbin/ravanan7
1 files changed, 5 insertions, 2 deletions
diff --git a/bin/ravanan b/bin/ravanan
index c8d37e9..2cb05e2 100755
--- a/bin/ravanan
+++ b/bin/ravanan
@@ -24,6 +24,7 @@ exec guile --no-auto-compile -e main -s "$0" "$@"
              (rnrs io ports)
              (srfi srfi-26)
              (srfi srfi-37)
+             (srfi srfi-71)
              (ice-9 filesystem)
              (ice-9 match)
              (web uri)
@@ -259,6 +260,8 @@ files that have the token in the @verbatim{SLURM_JWT=token} format."
                    (store (if (file-name-absolute? (assq-ref args 'store))
                               (assq-ref args 'store)
                               (canonicalize-path (assq-ref args 'store))))
+                   (workflow inputs (read-workflow+inputs workflow-file
+                                                          inputs-file))
                    (outputs (guard (c ((manifest-file-error? c)
                                        ;; Steps may provide their own
                                        ;; SoftwareRequirement. So, at this
@@ -288,8 +291,8 @@ files that have the token in the @verbatim{SLURM_JWT=token} format."
                                                    (assq-ref args 'guix-channels-file))
                                                   #:modules '((guile)
                                                               (guix channels))))
-                                            (read-workflow workflow-file)
-                                            (read-inputs inputs-file)
+                                            workflow
+                                            inputs
                                             (case (assq-ref args 'batch-system)
                                               ((single-machine)
                                                (or (assq-ref args 'scratch)