databricks-cli/internal
shreyas-goenka 3700785dfa
Add support for validating CLI version when loading a jsonschema object (#883)
## Changes
Updates to bundle templates can require updated versions of the CLI.
This PR extends the JSON schema representation to allow template authors
to set a min CLI version they require for their templates.

This is required to make improvements/additions to the mlops-stacks repo

## Tests
Tested using unit tests and manually. 

For manualy testing, I created a custom build of the CLI using go
releaser and then tested it against a local instance of mlops-stack
When mlops-stack schema has:
```
  "min_databricks_cli_version": "v5000.1.1",
```

output (error as expected)
```
shreyas.goenka@THW32HFW6T bricks % ./dist/cli_darwin_arm64/databricks bundle init  ~/mlops-stack
Error: minimum CLI version "v5000.1.1" is greater than current CLI version "v0.207.2-dev+1b992c0". Please upgrade your current Databricks CLI
```

When the mlops-stack schema has:
```
  "min_databricks_cli_version": "v0.1.1",
```

output (validation passes)
```
shreyas.goenka@THW32HFW6T bricks % ./dist/cli_darwin_arm64/databricks bundle init  ~/mlops-stack
Welcome to MLOps Stack. For detailed information on project generation, see the README at https://github.com/databricks/mlops-stack/blob/main/README.md.

Project Name [my-mlops-project]: ^C
```
2023-10-19 14:01:48 +00:00
..
acc Update Go SDK to 0.23.0 and use custom marshaller (#772) 2023-10-16 06:56:06 +00:00
build Add support for validating CLI version when loading a jsonschema object (#883) 2023-10-19 14:01:48 +00:00
bundle Escape workspace path string in regexp in artifacts integration test (#886) 2023-10-19 12:06:46 +00:00
python Added test to submit and run various Python tasks on multiple DBR versions (#806) 2023-10-03 11:18:55 +00:00
testdata Error when unknown keys are encounters during template execution (#766) 2023-09-14 15:53:20 +00:00
testjsons Update Go SDK to 0.23.0 and use custom marshaller (#772) 2023-10-16 06:56:06 +00:00
testutil Run tests to verify backend tag validation behavior (#814) 2023-09-29 08:38:06 +00:00
alerts_test.go Update alerts command integration test (#512) 2023-06-22 10:30:52 +02:00
api_test.go Rename bricks -> databricks (#389) 2023-05-16 18:35:39 +02:00
clusters_test.go Do not generate prompts for certain commands (#438) 2023-06-05 19:38:45 +02:00
filer_test.go Added test to submit and run various Python tasks on multiple DBR versions (#806) 2023-10-03 11:18:55 +00:00
fs_cat_test.go Added test to submit and run various Python tasks on multiple DBR versions (#806) 2023-10-03 11:18:55 +00:00
fs_cp_test.go Added test to submit and run various Python tasks on multiple DBR versions (#806) 2023-10-03 11:18:55 +00:00
fs_ls_test.go Added test to submit and run various Python tasks on multiple DBR versions (#806) 2023-10-03 11:18:55 +00:00
fs_mkdir_test.go Added test to submit and run various Python tasks on multiple DBR versions (#806) 2023-10-03 11:18:55 +00:00
fs_rm_test.go Added test to submit and run various Python tasks on multiple DBR versions (#806) 2023-10-03 11:18:55 +00:00
git_clone_test.go Fix git clone integration test for non-existing repo (#610) 2023-07-27 13:51:57 +00:00
helpers.go Added test to submit and run various Python tasks on multiple DBR versions (#806) 2023-10-03 11:18:55 +00:00
init_test.go Error when unknown keys are encounters during template execution (#766) 2023-09-14 15:53:20 +00:00
jobs_test.go Update Go SDK to 0.23.0 and use custom marshaller (#772) 2023-10-16 06:56:06 +00:00
locker_test.go Added test to submit and run various Python tasks on multiple DBR versions (#806) 2023-10-03 11:18:55 +00:00
repos_test.go Add provider detection to the repos create command (#528) 2023-06-27 14:17:13 +02:00
secrets_test.go Remove dependency on global state for remaining commands (#613) 2023-07-27 10:03:08 +00:00
sync_test.go Refactor change computation for sync (#785) 2023-10-03 13:47:46 +00:00
tags_test.go Run tests to verify backend tag validation behavior (#814) 2023-09-29 08:38:06 +00:00
version_test.go Use cmdio in version command for `--output` flag (#419) 2023-06-01 12:03:22 +02:00
workspace_test.go Fix workspace import test (#844) 2023-10-06 18:09:56 +00:00