From 880bd67ce47a7151fb75de35b7523a9473d92a0c Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sat, 29 Nov 2025 00:28:09 +0000 Subject: workflow: Do not validate in run-workflow. --- ravanan/workflow.scm | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/ravanan/workflow.scm b/ravanan/workflow.scm index 9650f21..1ae7f98 100644 --- a/ravanan/workflow.scm +++ b/ravanan/workflow.scm @@ -641,20 +641,9 @@ area need not be shared. @var{store} is the path to the shared ravanan store. store batch-system guix-daemon-socket))) - ;; Check if all inputs are available and are of the right type. - (vector-for-each (lambda (formal-input) - (let* ((id (assoc-ref formal-input "id")) - (type (assoc-ref formal-input "type")) - ;; Either an input is provided or we have a - ;; default. - (input-value (or (assoc-ref inputs id) - (assoc-ref formal-input "default")))) - (unless input-value - (user-error "Input `~a' not provided" id)) - (unless (match-type input-value - (formal-parameter-type type)) - (user-error "Input `~a' not of type `~a'" id type)))) - (scheduler-proc-formal-inputs scheduler-proc)) + ;; All validation of the workflow must happen in build-workflow, and all + ;; validation of the inputs must happen in the schedule function of the + ;; scheduler. No validation must happen here. (guard (c ((job-failure? c) (let ((script (job-failure-script c)) (inputs (job-failure-inputs c))) -- cgit 1.4.1