Andrew Nester
ac37a592f1
Added exec.NewCommandExecutor to execute commands with correct interpreter ( #1075 )
...
## Changes
Instead of handling command chaining ourselves, we execute passed
commands as-is by storing them, in temp file and passing to correct
interpreter (bash or cmd) based on OS.
Fixes #1065
## Tests
Added unit tests
2023-12-21 15:45:23 +00:00
Serge Smertin
7171874db0
Added `process.Background()` and `process.Forwarded()` ( #804 )
...
## Changes
This PR adds higher-level wrappers for calling subprocesses. One of the
steps to get https://github.com/databricks/cli/pull/637 in, as
previously discussed.
The reason to add `process.Forwarded()` is to proxy Python's `input()`
calls from a child process seamlessly. Another use-case is plugging in
`less` as a pager for the list results.
## Tests
`make test`
2023-09-27 09:04:44 +00:00
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