databricks-cli/bundle
Denis Bilenko e4cd782852
Remove bundle.{Parallel,ReadOnlyBundle} (#2414)
## Changes
- Remove bundle.Parallel & bundle.ReadOnlyBundle.
- Add bundle.ApplyParallel, as a helper to migrate from bundle.Parallel.
- Keep ReadOnlyMutator as a separate type but it's now a subtype of
Mutator so it works on regular *Bundle. Having it as a separate type
prevents non-readonly mutators being passed to ApplyParallel
- validate.Validate becomes a function (was Mutator).

## Why
This a follow up to #2390 where we removed most of the tools to
construct chains of mutators. Same motivation applies here.

When it comes to read-only bundles, it's a leaky abstraction -- since
it's a shallow copy, it does not actually guarantee or enforce readonly
access to bundle. A better approach would be to run parallel operations
on independent narrowly-focused deep-copied structs, with just enough
information to carry out the task (this is not implemented here, but the
eventual goal). Now that we can just write regular code in phases and
not limited to mutator interface, we can switch to that approach.

## Tests
Existing tests.

---------

Co-authored-by: shreyas-goenka <88374338+shreyas-goenka@users.noreply.github.com>
2025-03-03 13:35:36 +00:00
..
apps Remove bundle.{Seq,If,Defer,newPhase,logString}, switch to regular functions (#2390) 2025-02-27 11:41:58 +00:00
artifacts Remove bundle.{Seq,If,Defer,newPhase,logString}, switch to regular functions (#2390) 2025-02-27 11:41:58 +00:00
config Remove bundle.{Parallel,ReadOnlyBundle} (#2414) 2025-03-03 13:35:36 +00:00
deploy Remove bundle.{Parallel,ReadOnlyBundle} (#2414) 2025-03-03 13:35:36 +00:00
docsgen Populate missing bundle config reference doc descriptions and fix resource reference doc template (#2314) 2025-02-24 18:59:12 +00:00
env Remove support for DATABRICKS_BUNDLE_INCLUDES (#1317) 2024-03-27 10:13:54 +00:00
internal build(deps): bump github.com/databricks/databricks-sdk-go from 0.57.0 to 0.58.1 (#2357) 2025-02-25 11:20:29 +00:00
libraries Raise an error when there are multiple local libraries with the same basename used (#2382) 2025-02-27 16:32:50 +00:00
metadata Make `file_path` and `artifact_path` fields consistent with json tag (#987) 2023-11-15 13:37:26 +00:00
paths Fixed adding /Workspace prefix for resource paths (#1866) 2024-10-30 17:34:11 +00:00
permissions Remove bundle.{Seq,If,Defer,newPhase,logString}, switch to regular functions (#2390) 2025-02-27 11:41:58 +00:00
phases Raise an error when there are multiple local libraries with the same basename used (#2382) 2025-02-27 16:32:50 +00:00
render Use CreatePipeline instead of PipelineSpec for resources.Pipeline struct (#2287) 2025-02-07 17:22:51 +00:00
resources Use CreatePipeline instead of PipelineSpec for resources.Pipeline struct (#2287) 2025-02-07 17:22:51 +00:00
run Remove bundle.{Seq,If,Defer,newPhase,logString}, switch to regular functions (#2390) 2025-02-27 11:41:58 +00:00
schema build(deps): bump github.com/databricks/databricks-sdk-go from 0.57.0 to 0.58.1 (#2357) 2025-02-25 11:20:29 +00:00
scripts Add acceptance test for 'experimental.scripts' (#2240) 2025-01-27 15:28:33 +00:00
tests Remove bundle.{Parallel,ReadOnlyBundle} (#2414) 2025-03-03 13:35:36 +00:00
trampoline Remove bundle.{Seq,If,Defer,newPhase,logString}, switch to regular functions (#2390) 2025-02-27 11:41:58 +00:00
bundle.go Set bundle auth configuration in command context (#2195) 2025-01-29 11:02:08 +00:00
bundle_test.go Enable testifylint and fix the issues (#2065) 2025-01-02 12:03:41 +01:00
context.go Rename variable `bundle -> b` (#989) 2023-11-15 14:03:36 +00:00
context_test.go Enable testifylint and fix the issues (#2065) 2025-01-02 12:03:41 +01:00
mutator.go Remove bundle.{Seq,If,Defer,newPhase,logString}, switch to regular functions (#2390) 2025-02-27 11:41:58 +00:00
mutator_read_only.go Remove bundle.{Parallel,ReadOnlyBundle} (#2414) 2025-03-03 13:35:36 +00:00
mutator_test.go Remove bundle.{Seq,If,Defer,newPhase,logString}, switch to regular functions (#2390) 2025-02-27 11:41:58 +00:00
root.go Enable perfsprint linter and apply autofix (#2071) 2025-01-07 10:49:23 +00:00
root_test.go Enable gofumpt and goimports in golangci-lint (#1999) 2024-12-12 10:28:42 +01:00