From 7ee4844373b31c43eb1d1a2cbf46edfab0b7a71b Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Wed, 11 Sep 2024 15:58:25 +0100 Subject: workflow: Ensure required inputs are specified. * ravanan/workflow.scm: Import (ravanan ui). (run-workflow): Error out when required inputs are not specified. --- ravanan/workflow.scm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ravanan/workflow.scm b/ravanan/workflow.scm index 87458e0..98e7f1c 100644 --- a/ravanan/workflow.scm +++ b/ravanan/workflow.scm @@ -29,6 +29,7 @@ #:use-module (ravanan vectors) #:use-module (ravanan work command-line-tool) #:use-module (ravanan work utils) + #:use-module (ravanan ui) #:export (run-workflow)) (define %supported-requirements @@ -286,6 +287,14 @@ authenticate to the slurm API with. @var{slurm-api-endpoint} and (else (error "output not found" output-id))))) + ;; Ensure required inputs are specified. + (vector-for-each (lambda (input) + (let ((input-id (assoc-ref input "id"))) + (unless (or (optional-input? input) + (assoc input-id inputs)) + (user-error "Required input `~a' not specified" + input-id)))) + (assoc-ref cwl "inputs")) (let ((cell-values (run-propnet (propnet (workflow->propagators name cwl) -- cgit v1.2.3