diff --git a/README.md b/README.md index 1ab25ed9..3c917a8f 100644 --- a/README.md +++ b/README.md @@ -113,6 +113,13 @@ Cromshell is a CLI for submitting workflows to a Cromwell server and monitoring/ * `-c/--color` Color outliers in task level cost results. * `-d/--detailed` Get the cost for a workflow at the task level. + #### Validate WDL + * `validate --dependencies-zip [wdl_zip_file]` + * Validate a WDL file. + * Runs both miniwdl and womtool validation by default, but can be configured to run only one or the other. + * Womtool validation via Cromwell server API does not support validation of imported files, however miniwdl does. + * `--dependencies-zip` MiniWDL option: ZIP file or directory containing workflow source files that are used to resolve local imports. + ## Features: * Running `submit` will create a new folder in the `~/.cromshell/${CROMWELL_URL}/` directory named with the cromwell job id of the newly submitted job. It will copy your wdl and json inputs into the folder for reproducibility. diff --git a/src/cromshell/validate/command.py b/src/cromshell/validate/command.py index 4054772f..c072d692 100644 --- a/src/cromshell/validate/command.py +++ b/src/cromshell/validate/command.py @@ -80,6 +80,10 @@ def main( return_code = 0 + if no_womtool and no_miniwdl: + LOGGER.error("At least one validation tool must be enabled.") + raise MissingArgumentError("At least one validation tool must be enabled.") + if not no_womtool: if not wdl_json: LOGGER.error("WDL JSON file is required.")