databricks-cli/bundle/config
Andrew Nester 56e393c743
Allow specifying CLI version constraints required to run the bundle (#1320)
## Changes
Allow specifying CLI version constraints required to run the bundle

Example of configuration:

#### only allow specific version
```
bundle:
  name: my-bundle
  databricks_cli_version: "0.210.0"
```

#### allow all patch releases
```
bundle:
  name: my-bundle
  databricks_cli_version: "0.210.*"
```

#### constrain minimum version
```
bundle:
  name: my-bundle
  databricks_cli_version: ">= 0.210.0"
```

#### constrain range
```
bundle:
  name: my-bundle
  databricks_cli_version: ">= 0.210.0, <= 1.0.0"
```

For other examples see:
https://github.com/Masterminds/semver?tab=readme-ov-file#checking-version-constraints

Example error
```
sh-3.2$ databricks bundle validate
Error: Databricks CLI version constraint not satisfied. Required: >= 1.0.0, current: 0.216.0
```
## Tests
Added unit test cover all possible configuration permutations

---------

Co-authored-by: Lennart Kats (databricks) <lennart.kats@databricks.com>
2024-04-02 12:55:21 +00:00
..
generate Added `bundle generate pipeline` command (#1139) 2024-01-25 11:35:14 +00:00
loader Return diagnostics from `config.Load` (#1324) 2024-03-28 10:59:03 +00:00
mutator Allow specifying CLI version constraints required to run the bundle (#1320) 2024-04-02 12:55:21 +00:00
paths Use dynamic configuration model in bundles (#1098) 2024-02-16 19:41:58 +00:00
resources Use dynamic configuration model in bundles (#1098) 2024-02-16 19:41:58 +00:00
testdata First look for databricks.yml before falling back to bundle.yml (#580) 2023-07-18 12:16:34 +02:00
variable Return `application_id` for service principal lookups (#1245) 2024-03-04 16:12:10 +00:00
artifact.go Use dynamic configuration model in bundles (#1098) 2024-02-16 19:41:58 +00:00
artifacts_test.go Added exec.NewCommandExecutor to execute commands with correct interpreter (#1075) 2023-12-21 15:45:23 +00:00
bundle.go Allow specifying CLI version constraints required to run the bundle (#1320) 2024-04-02 12:55:21 +00:00
deployment.go Added warning when trying to deploy bundle with `--fail-if-running` and running resources (#1163) 2024-02-07 11:17:17 +00:00
experimental.go Make a notebook wrapper for Python wheel tasks optional (#797) 2023-09-26 14:32:20 +00:00
filename.go Move bundle configuration filename code (#917) 2023-10-25 09:54:39 +00:00
filename_test.go Move bundle configuration filename code (#917) 2023-10-25 09:54:39 +00:00
git.go Use dynamic configuration model in bundles (#1098) 2024-02-16 19:41:58 +00:00
lock.go Persist deployment metadata in WSFS (#845) 2023-10-27 12:55:43 +00:00
lock_test.go Acquire lock prior to deploy (#270) 2023-03-22 16:37:26 +01:00
resources.go Use dynamic configuration model in bundles (#1098) 2024-02-16 19:41:58 +00:00
resources_test.go Support Unity Catalog Registered Models in bundles (#846) 2023-10-16 15:32:49 +00:00
root.go Return diagnostics from `config.Load` (#1324) 2024-03-28 10:59:03 +00:00
root_test.go Return diagnostics from `config.Load` (#1324) 2024-03-28 10:59:03 +00:00
sync.go Use dynamic configuration model in bundles (#1098) 2024-02-16 19:41:58 +00:00
target.go Use dynamic configuration model in bundles (#1098) 2024-02-16 19:41:58 +00:00
workspace.go Make `file_path` and `artifact_path` fields consistent with json tag (#987) 2023-11-15 13:37:26 +00:00
workspace_test.go Resolve configuration before performing verification (#890) 2023-10-20 13:10:31 +00:00