From 93038d41f3633a69eecf842e519de9015ee772c4 Mon Sep 17 00:00:00 2001 From: Sam Novod Date: Wed, 29 Jan 2025 09:58:25 -0500 Subject: [PATCH 1/2] Make WDL wait on validation --- wdl/GetTdrSchemaJson/GetTdrSchemaJson.wdl | 30 +++++++++++++---------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/wdl/GetTdrSchemaJson/GetTdrSchemaJson.wdl b/wdl/GetTdrSchemaJson/GetTdrSchemaJson.wdl index 62bbf77..b7362ac 100644 --- a/wdl/GetTdrSchemaJson/GetTdrSchemaJson.wdl +++ b/wdl/GetTdrSchemaJson/GetTdrSchemaJson.wdl @@ -22,6 +22,8 @@ workflow GetTDRSchemaJson { call GenerateSchemaJson { input: + # Set so this step only runs if the input is validated + input_validated = ValidateInputs.validated, input_metadata_tsv = input_metadata_tsv, billing_project = billing_project, workspace_name = workspace_name, @@ -29,6 +31,10 @@ workflow GetTDRSchemaJson { docker_name = docker_name, force_disparate_rows_to_string = force_disparate_rows_to_string } + + output { + File tdr_schema_json = GenerateSchemaJson.tdr_schema_json + } } task ValidateInputs { @@ -70,6 +76,10 @@ task ValidateInputs { runtime { docker: docker_name } + + output { + Boolean validated = true + } } @@ -81,22 +91,16 @@ task GenerateSchemaJson { String? terra_table_names String docker_name Boolean force_disparate_rows_to_string + Boolean input_validated } command <<< - if [ ! -z "~{input_metadata_tsv}" ]; then - python /etc/terra_utils/python/generate_tdr_schema_json.py \ - --input_tsv ~{input_metadata_tsv} \ - ~{if force_disparate_rows_to_string then "--force_disparate_rows_to_string" else ""} - - else - python /etc/terra_utils/python/generate_tdr_schema_json.py \ - --billing_project ~{billing_project} \ - --workspace_name ~{workspace_name} \ - --terra_table_names ~{terra_table_names} \ - ~{if force_disparate_rows_to_string then "--force_disparate_rows_to_string" else ""} - fi - + python /etc/terra_utils/python/generate_tdr_schema_json.py \ + ~{"--input_tsv " + input_metadata_tsv} \ + ~{"--billing_project " + billing_project} \ + ~{"--workspace_name " + workspace_name} \ + ~{"--terra_table_names " + terra_table_names} \ + ~{if force_disparate_rows_to_string then "--force_disparate_rows_to_string" else ""} >>> output { From c6648a11be4fc8b3c4e5f99575bcc3eba90e48c3 Mon Sep 17 00:00:00 2001 From: Sam Novod Date: Wed, 29 Jan 2025 10:21:46 -0500 Subject: [PATCH 2/2] remove validation step --- wdl/GetTdrSchemaJson/GetTdrSchemaJson.wdl | 58 ----------------------- 1 file changed, 58 deletions(-) diff --git a/wdl/GetTdrSchemaJson/GetTdrSchemaJson.wdl b/wdl/GetTdrSchemaJson/GetTdrSchemaJson.wdl index b7362ac..2d4cf45 100644 --- a/wdl/GetTdrSchemaJson/GetTdrSchemaJson.wdl +++ b/wdl/GetTdrSchemaJson/GetTdrSchemaJson.wdl @@ -11,19 +11,8 @@ workflow GetTDRSchemaJson { } String docker_name = select_first([docker, "us-central1-docker.pkg.dev/operations-portal-427515/ops-toolbox/ops_terra_utils_slim:latest"]) - call ValidateInputs { - input: - input_metadata_tsv = input_metadata_tsv, - billing_project = billing_project, - workspace_name = workspace_name, - terra_table_names = terra_table_names, - docker_name = docker_name - } - call GenerateSchemaJson { input: - # Set so this step only runs if the input is validated - input_validated = ValidateInputs.validated, input_metadata_tsv = input_metadata_tsv, billing_project = billing_project, workspace_name = workspace_name, @@ -37,52 +26,6 @@ workflow GetTDRSchemaJson { } } -task ValidateInputs { - input { - File? input_metadata_tsv - String? billing_project - String? workspace_name - String? terra_table_names - String docker_name - } - - command <<< - set -euo pipefail - - python3 <>> - - runtime { - docker: docker_name - } - - output { - Boolean validated = true - } -} - - task GenerateSchemaJson { input { File? input_metadata_tsv @@ -91,7 +34,6 @@ task GenerateSchemaJson { String? terra_table_names String docker_name Boolean force_disparate_rows_to_string - Boolean input_validated } command <<<