databricks-cli/bundle/config/mutator
Andrew Nester 953dcb4972
Added support for experimental scripts section (#632)
## Changes
Added support for experimental scripts section

It allows execution of arbitrary bash commands during certain bundle
lifecycle steps.

## Tests
Example of configuration

```yaml
bundle:
  name: wheel-task


workspace:
  host: ***

experimental:
  scripts:
    prebuild: |
      echo 'Prebuild 1'
      echo 'Prebuild 2'
    postbuild: "echo 'Postbuild 1' && echo 'Postbuild 2'" 
    predeploy: |
      echo 'Checking go version...'
      go version
    postdeploy: |
      echo 'Checking python version...'
      python --version

resources:
  jobs:
    test_job:
      name: "[${bundle.environment}] My Wheel Job"
      tasks:
        - task_key: TestTask
          existing_cluster_id: "***"
          python_wheel_task:
            package_name: "my_test_code"
            entry_point: "run"
          libraries:
          - whl: ./dist/*.whl
```

Output
```bash
andrew.nester@HFW9Y94129 wheel % databricks bundle deploy
artifacts.whl.AutoDetect: Detecting Python wheel project...
artifacts.whl.AutoDetect: Found Python wheel project at /Users/andrew.nester/dabs/wheel
'Prebuild 1'
'Prebuild 2'

artifacts.whl.Build(my_test_code): Building...
artifacts.whl.Build(my_test_code): Build succeeded
'Postbuild 1'
'Postbuild 2'

'Checking go version...'
go version go1.19.9 darwin/arm64

Starting upload of bundle files
Uploaded bundle files at /Users/andrew.nester@databricks.com/.bundle/wheel-task/default/files!

artifacts.Upload(my_test_code-0.0.0a0-py3-none-any.whl): Uploading...
artifacts.Upload(my_test_code-0.0.0a0-py3-none-any.whl): Upload succeeded
Starting resource deployment
Resource deployment completed!
'Checking python version...'
Python 2.7.18
```
2023-09-14 10:14:13 +00:00
..
default_target.go Renamed `environments` to `targets` in bundle configuration (#670) 2023-08-17 15:22:32 +00:00
default_target_test.go Renamed `environments` to `targets` in bundle configuration (#670) 2023-08-17 15:22:32 +00:00
default_workspace_paths.go Added support for bundle.Seq, simplified Mutator.Apply interface (#403) 2023-05-24 14:45:19 +02:00
default_workspace_paths_test.go Added support for bundle.Seq, simplified Mutator.Apply interface (#403) 2023-05-24 14:45:19 +02:00
default_workspace_root.go Renamed `environments` to `targets` in bundle configuration (#670) 2023-08-17 15:22:32 +00:00
default_workspace_root_test.go Renamed `environments` to `targets` in bundle configuration (#670) 2023-08-17 15:22:32 +00:00
expand_workspace_root.go Added support for bundle.Seq, simplified Mutator.Apply interface (#403) 2023-05-24 14:45:19 +02:00
expand_workspace_root_test.go Extend deployment mode support (#577) 2023-07-30 07:19:49 +00:00
load_git_details.go Fix bundle git branch validation (#645) 2023-08-07 17:29:02 +00:00
mutator.go Added support for experimental scripts section (#632) 2023-09-14 10:14:13 +00:00
override_compute.go Consolidate environment variable interaction (#747) 2023-09-11 08:18:43 +00:00
override_compute_test.go Cleanup after previous PR comments (#724) 2023-09-04 07:07:17 +00:00
populate_current_user.go databricks bundle init template v2: optional stubs, DLT support (#700) 2023-09-06 09:52:31 +00:00
populate_current_user_test.go Extend deployment mode support (#577) 2023-07-30 07:19:49 +00:00
process_include.go Added support for bundle.Seq, simplified Mutator.Apply interface (#403) 2023-05-24 14:45:19 +02:00
process_include_test.go Added support for bundle.Seq, simplified Mutator.Apply interface (#403) 2023-05-24 14:45:19 +02:00
process_root_includes.go Consolidate environment variable interaction (#747) 2023-09-11 08:18:43 +00:00
process_root_includes_test.go Consolidate environment variable interaction (#747) 2023-09-11 08:18:43 +00:00
process_target_mode.go Support Model Serving Endpoints in bundles (#682) 2023-09-07 21:54:31 +00:00
process_target_mode_test.go Support Model Serving Endpoints in bundles (#682) 2023-09-07 21:54:31 +00:00
run_as.go Added run_as section for bundle configuration (#692) 2023-08-23 16:47:07 +00:00
select_default_target.go Renamed `environments` to `targets` in bundle configuration (#670) 2023-08-17 15:22:32 +00:00
select_default_target_test.go Renamed `environments` to `targets` in bundle configuration (#670) 2023-08-17 15:22:32 +00:00
select_target.go List available targets when incorrect target passed (#756) 2023-09-08 15:37:55 +00:00
select_target_test.go Renamed `environments` to `targets` in bundle configuration (#670) 2023-08-17 15:22:32 +00:00
set_variables.go Consolidate environment variable interaction (#747) 2023-09-11 08:18:43 +00:00
set_variables_test.go Consolidate environment variable interaction (#747) 2023-09-11 08:18:43 +00:00
trampoline.go Consolidate environment variable interaction (#747) 2023-09-11 08:18:43 +00:00
trampoline_test.go Consolidate environment variable interaction (#747) 2023-09-11 08:18:43 +00:00
translate_paths.go Make resource and artifact paths in bundle config relative to config folder (#708) 2023-09-04 09:55:01 +00:00
translate_paths_artifacts.go Make resource and artifact paths in bundle config relative to config folder (#708) 2023-09-04 09:55:01 +00:00
translate_paths_jobs.go Make resource and artifact paths in bundle config relative to config folder (#708) 2023-09-04 09:55:01 +00:00
translate_paths_pipelines.go Make resource and artifact paths in bundle config relative to config folder (#708) 2023-09-04 09:55:01 +00:00
translate_paths_test.go Fixed marking libraries from DBFS as remote (#750) 2023-09-08 09:53:57 +00:00
validate_git_details.go Add validation for Git settings in bundles (#578) 2023-07-30 12:44:33 +00:00
validate_git_details_test.go Add validation for Git settings in bundles (#578) 2023-07-30 12:44:33 +00:00