databricks-cli/bundle
shreyas-goenka 4bf88b4209
Support multiple locations for diagnostics (#1610)
## Changes
This PR changes `diag.Diagnostics` to allow including multiple locations
associated with the diagnostic message. The diagnostics that now return
multiple locations with this PR are:
1. Warning for unknown keys in config.
2. Use of experimental.run_as
3. Accidental sync.exludes that exclude all files.

## Tests
Existing unit tests pass. New unit test case to assert on error message
when multiple locations are included.

Example output:
```
➜  bundle-playground-2 ~/cli2/cli/cli bundle validate              
Warning: You are using the legacy mode of run_as. The support for this mode is experimental and might be removed in a future release of the CLI. In order to run the DLT pipelines in your DAB as the run_as user this mode changes the owners of the pipelines to the run_as identity, which requires the user deploying the bundle to be a workspace admin, and also a Metastore admin if the pipeline target is in UC.
  at experimental.use_legacy_run_as
  in resources.yml:10:22
     databricks.yml:13:22

Name: fix run_if
Target: default
Workspace:
  User: shreyas.goenka@databricks.com
  Path: /Users/shreyas.goenka@databricks.com/.bundle/fix run_if/default

Found 1 warning
```
2024-07-23 17:20:11 +00:00
..
artifacts Allow artifacts (JARs, wheels) to be uploaded to UC Volumes (#1591) 2024-07-16 08:57:04 +00:00
config Support multiple locations for diagnostics (#1610) 2024-07-23 17:20:11 +00:00
deploy Use local Terraform state only when lineage match (#1588) 2024-07-18 09:47:59 +00:00
env Remove support for DATABRICKS_BUNDLE_INCLUDES (#1317) 2024-03-27 10:13:54 +00:00
internal Upgrade TF provider to 1.49.0 (#1617) 2024-07-23 16:15:02 +00:00
libraries Fixed seg fault when specifying environment key for tasks (#1443) 2024-05-21 10:00:04 +00:00
metadata Make `file_path` and `artifact_path` fields consistent with json tag (#987) 2023-11-15 13:37:26 +00:00
permissions Properly deal with nil values in `convert.FromTyped` (#1511) 2024-06-21 13:43:21 +00:00
phases Return early in bundle destroy if no deployment exists (#1581) 2024-07-09 15:08:38 +00:00
python Return early in bundle destroy if no deployment exists (#1581) 2024-07-09 15:08:38 +00:00
render Support multiple locations for diagnostics (#1610) 2024-07-23 17:20:11 +00:00
run Processing and completion of positional args to bundle run (#1120) 2024-04-22 11:50:13 +00:00
schema Added support for complex variables (#1467) 2024-06-26 10:25:32 +00:00
scripts Print diagnostics in 'bundle deploy' (#1579) 2024-07-10 11:14:57 +00:00
tests Support multiple locations for diagnostics (#1610) 2024-07-23 17:20:11 +00:00
bundle.go Use `vfs.Path` for filesystem interaction (#1554) 2024-07-03 10:13:22 +00:00
bundle_read_only.go Use `vfs.Path` for filesystem interaction (#1554) 2024-07-03 10:13:22 +00:00
bundle_test.go Update error checks that use the `os` package to use `errors.Is` (#1461) 2024-06-03 12:39:36 +00:00
context.go Rename variable `bundle -> b` (#989) 2023-11-15 14:03:36 +00:00
context_test.go Add command that writes the materialized bundle configuration to stdout (#95) 2022-11-21 15:39:53 +01:00
deferred.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
deferred_test.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
if.go Return early in bundle destroy if no deployment exists (#1581) 2024-07-09 15:08:38 +00:00
if_test.go Return early in bundle destroy if no deployment exists (#1581) 2024-07-09 15:08:38 +00:00
log_string.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
mutator.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
mutator_read_only.go Added validate mutator to surface additional bundle warnings (#1352) 2024-04-18 15:13:16 +00:00
mutator_test.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
parallel.go Added validate mutator to surface additional bundle warnings (#1352) 2024-04-18 15:13:16 +00:00
parallel_test.go Fix flaky tests for the parallel mutator (#1426) 2024-05-13 12:16:43 +00:00
root.go Move folders package into libs (#1184) 2024-02-07 16:33:18 +00:00
root_test.go Remove support for DATABRICKS_BUNDLE_INCLUDES (#1317) 2024-03-27 10:13:54 +00:00
seq.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
seq_test.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00