databricks-cli/bundle
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
..
artifacts Apply Python wheel trampoline if workspace library is used (#755) 2023-09-08 13:45:21 +00:00
config Added support for experimental scripts section (#632) 2023-09-14 10:14:13 +00:00
deploy Make bundle deploy work if no resources are defined (#767) 2023-09-13 22:50:37 +00:00
deployer Fix locker unlock for destroy (#492) 2023-06-19 15:57:25 +02:00
env Consolidate environment variable interaction (#747) 2023-09-11 08:18:43 +00:00
internal/tf Update Terraform provider schema structs from 1.23.0 (#713) 2023-08-30 13:58:28 +00:00
libraries Apply Python wheel trampoline if workspace library is used (#755) 2023-09-08 13:45:21 +00:00
phases Added support for experimental scripts section (#632) 2023-09-14 10:14:13 +00:00
python Apply Python wheel trampoline if workspace library is used (#755) 2023-09-08 13:45:21 +00:00
run Use interactive prompt to select resource to run if not specified (#762) 2023-09-11 18:03:12 +00:00
schema Make bundle and sync fields optional (#757) 2023-09-11 08:16:22 +00:00
scripts Added support for experimental scripts section (#632) 2023-09-14 10:14:13 +00:00
tests List available targets when incorrect target passed (#756) 2023-09-08 15:37:55 +00:00
bundle.go Make bundle deploy work if no resources are defined (#767) 2023-09-13 22:50:37 +00:00
bundle_test.go Consolidate environment variable interaction (#747) 2023-09-11 08:18:43 +00:00
context.go Make sync command work in bundle context; reorder args (#207) 2023-02-20 11:33:30 +01: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 Added support for bundle.Seq, simplified Mutator.Apply interface (#403) 2023-05-24 14:45:19 +02:00
deferred_test.go Added support for bundle.Seq, simplified Mutator.Apply interface (#403) 2023-05-24 14:45:19 +02:00
mutator.go Added support for bundle.Seq, simplified Mutator.Apply interface (#403) 2023-05-24 14:45:19 +02:00
mutator_test.go Added support for bundle.Seq, simplified Mutator.Apply interface (#403) 2023-05-24 14:45:19 +02:00
root.go Consolidate environment variable interaction (#747) 2023-09-11 08:18:43 +00:00
root_test.go Consolidate environment variable interaction (#747) 2023-09-11 08:18:43 +00:00
seq.go Added support for bundle.Seq, simplified Mutator.Apply interface (#403) 2023-05-24 14:45:19 +02:00
seq_test.go Added support for bundle.Seq, simplified Mutator.Apply interface (#403) 2023-05-24 14:45:19 +02:00