From aff70c5de2a7d5ee9be1df238c67363e8f85901b Mon Sep 17 00:00:00 2001 From: Arpit Jasapara Date: Thu, 2 Jan 2025 11:49:12 -0800 Subject: [PATCH] Add conditionals for catalog variable --- .../.azure/devops-pipelines/deploy-cicd.yml.tmpl | 3 ++- .../.github/workflows/deploy-cicd.yml.tmpl | 3 ++- .../databricks.yml.tmpl | 16 +++++++++++++--- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/template/{{.input_root_dir}}/.azure/devops-pipelines/deploy-cicd.yml.tmpl b/template/{{.input_root_dir}}/.azure/devops-pipelines/deploy-cicd.yml.tmpl index dd6b6d64..c038a4b7 100644 --- a/template/{{.input_root_dir}}/.azure/devops-pipelines/deploy-cicd.yml.tmpl +++ b/template/{{.input_root_dir}}/.azure/devops-pipelines/deploy-cicd.yml.tmpl @@ -59,7 +59,8 @@ jobs: # Update databricks.yml - script: | - echo -e " staging:\n variables:\n catalog_name: {{ .input_staging_catalog_name }}\n workspace:\n host: {{template `databricks_staging_workspace_host` .}}\n\n prod:\n variables:\n catalog_name: {{ .input_prod_catalog_name }}\n workspace:\n host: {{template `databricks_prod_workspace_host` .}}\n\n test:\n variables:\n catalog_name: {{ .input_test_catalog_name }}\n workspace:\n host: {{template `databricks_staging_workspace_host` .}}" >> "$(PROJECT_NAME_ALPHA)\databricks.yml" + {{if (eq .input_include_models_in_unity_catalog `yes`)}}echo -e " staging:\n variables:\n catalog_name: {{ .input_staging_catalog_name }}\n workspace:\n host: {{template `databricks_staging_workspace_host` .}}\n\n prod:\n variables:\n catalog_name: {{ .input_prod_catalog_name }}\n workspace:\n host: {{template `databricks_prod_workspace_host` .}}\n\n test:\n variables:\n catalog_name: {{ .input_test_catalog_name }}\n workspace:\n host: {{template `databricks_staging_workspace_host` .}}" >> "$(PROJECT_NAME_ALPHA)\databricks.yml" + {{- else}}echo -e " staging:\n workspace:\n host: {{template `databricks_staging_workspace_host` .}}\n\n prod:\n workspace:\n host: {{template `databricks_prod_workspace_host` .}}\n\n test:\n workspace:\n host: {{template `databricks_staging_workspace_host` .}}" >> "$(PROJECT_NAME_ALPHA)\databricks.yml"{{end}} displayName: 'Update databricks.yml' # Initialize CICD Bundle diff --git a/template/{{.input_root_dir}}/.github/workflows/deploy-cicd.yml.tmpl b/template/{{.input_root_dir}}/.github/workflows/deploy-cicd.yml.tmpl index 84513181..4116df21 100644 --- a/template/{{.input_root_dir}}/.github/workflows/deploy-cicd.yml.tmpl +++ b/template/{{.input_root_dir}}/.github/workflows/deploy-cicd.yml.tmpl @@ -53,7 +53,8 @@ jobs: - name: Update databricks.yml id: update run: | - echo -e " staging:\n variables:\n catalog_name: {{ .input_staging_catalog_name }}\n workspace:\n host: {{template `databricks_staging_workspace_host` .}}\n\n prod:\n variables:\n catalog_name: {{ .input_prod_catalog_name }}\n workspace:\n host: {{template `databricks_prod_workspace_host` .}}\n\n test:\n variables:\n catalog_name: {{ .input_test_catalog_name }}\n workspace:\n host: {{template `databricks_staging_workspace_host` .}}" >> "$(PROJECT_NAME_ALPHA)\databricks.yml" + {{if (eq .input_include_models_in_unity_catalog `yes`)}}echo -e " staging:\n variables:\n catalog_name: {{ .input_staging_catalog_name }}\n workspace:\n host: {{template `databricks_staging_workspace_host` .}}\n\n prod:\n variables:\n catalog_name: {{ .input_prod_catalog_name }}\n workspace:\n host: {{template `databricks_prod_workspace_host` .}}\n\n test:\n variables:\n catalog_name: {{ .input_test_catalog_name }}\n workspace:\n host: {{template `databricks_staging_workspace_host` .}}" >> "$(PROJECT_NAME_ALPHA)\databricks.yml" + {{- else}}echo -e " staging:\n workspace:\n host: {{template `databricks_staging_workspace_host` .}}\n\n prod:\n workspace:\n host: {{template `databricks_prod_workspace_host` .}}\n\n test:\n workspace:\n host: {{template `databricks_staging_workspace_host` .}}" >> "$(PROJECT_NAME_ALPHA)\databricks.yml"{{end}} - name: Initialize Bundle id: initialize run: | diff --git a/template/{{.input_root_dir}}/{{template `project_name_alphanumeric_underscore` .}}/databricks.yml.tmpl b/template/{{.input_root_dir}}/{{template `project_name_alphanumeric_underscore` .}}/databricks.yml.tmpl index 1816090b..de207874 100644 --- a/template/{{.input_root_dir}}/{{template `project_name_alphanumeric_underscore` .}}/databricks.yml.tmpl +++ b/template/{{.input_root_dir}}/{{template `project_name_alphanumeric_underscore` .}}/databricks.yml.tmpl @@ -13,8 +13,8 @@ variables: description: Model name for the model training. {{ if (eq .input_include_models_in_unity_catalog `no`) }}default: ${bundle.target}-{{template `model_name` .}} {{- else -}}default: {{template `model_name` .}}{{end}} - catalog_name: - description: The catalog name to save the trained model + {{ if (eq .input_include_models_in_unity_catalog `yes`) }}catalog_name: + description: The catalog name to save the trained model{{end}} include: # Resources folder contains ML artifact resources for the ML project that defines model and experiment @@ -34,27 +34,37 @@ targets: dev: {{ if (eq .input_include_models_in_unity_catalog `yes`)}} # UC Catalog Name {{ end }} mode: development default: true + {{- if (eq .input_include_models_in_unity_catalog `yes`)}} + variables: + catalog_name: dev + {{- end}} workspace: # TODO: add dev workspace URL host: -{{ if (eq .input_setup_cicd_and_project `CICD_and_Project`)}} +{{- if (eq .input_setup_cicd_and_project `CICD_and_Project`)}} staging: + {{- if (eq .input_include_models_in_unity_catalog `yes`) }} variables: catalog_name: {{ .input_staging_catalog_name }} + {{- end}} workspace: host: {{template `databricks_staging_workspace_host` .}} prod: + {{- if (eq .input_include_models_in_unity_catalog `yes`)}} variables: catalog_name: {{ .input_prod_catalog_name }} + {{- end}} workspace: host: {{template `databricks_prod_workspace_host` .}} test: + {{- if (eq .input_include_models_in_unity_catalog `yes`)}} variables: catalog_name: {{ .input_test_catalog_name }} + {{- end}} workspace: host: {{template `databricks_staging_workspace_host` .}} {{ end }} \ No newline at end of file