Databricks CLI
Go to file
Ilia Babanov cbf75b157d
Avoid race-conditions while executing sub-commands (#1201)
## Changes
`executor.Exec` now uses `cmd.CombinedOutput`. Previous implementation
was hanging on my windows VM during `bundle deploy` on the
`ReadAll(MultiReader(stdout, stderr))` line.

The problem is related to the fact the MultiReader reads sequentially,
and the `stdout` is the first in line. Even simple `io.ReadAll(stdout)`
hangs on me, as it seems like the command that we spawn (python wheel
build) waits for the error stream to be finished before closing stdout
on its own side? Reading `stderr` (or `out`) in a separate go-routine
fixes the deadlock, but `cmd.CombinedOutput` feels like a simpler
solution.

Also noticed that Exec was not removing `scriptFile` after itself, fixed
that too.

## Tests
Unit tests and manually
2024-02-12 15:04:14 +00:00
.codegen Always require path parameters as positional arguments (#1129) 2024-01-17 14:14:20 +00:00
.github Release Windows packages to winget-pkgs (#1144) 2024-01-29 09:44:09 +00:00
.vscode Cleanup after previous PR comments (#724) 2023-09-04 07:07:17 +00:00
bundle Added `--restart` flag for `bundle run` command (#1191) 2024-02-09 14:33:14 +00:00
cmd Added `--restart` flag for `bundle run` command (#1191) 2024-02-09 14:33:14 +00:00
docs Rename bricks -> databricks (#389) 2023-05-16 18:35:39 +02:00
internal Use mockery to generate mocks compatible with testify/mock (#1190) 2024-02-08 15:18:53 +00:00
libs Avoid race-conditions while executing sub-commands (#1201) 2024-02-12 15:04:14 +00:00
.codegen.json Allow referencing bundle resources by name (#872) 2024-01-04 21:04:42 +00:00
.gitattributes Upgrade Go SDK to v0.29.0 (#1111) 2024-01-11 08:16:25 +00:00
.gitignore Add a foundation for built-in templates (#685) 2023-08-25 09:03:42 +00:00
.goreleaser.yaml Discontinue 32-bit Windows build (#1024) 2023-11-29 14:06:51 +00:00
.mockery.yaml Use mockery to generate mocks compatible with testify/mock (#1190) 2024-02-08 15:18:53 +00:00
CHANGELOG.md Release v0.212.4 (#1183) 2024-02-07 15:05:03 +00:00
LICENSE Update LICENSE (#1013) 2024-02-08 20:26:41 +00:00
Makefile `make snapshot` to build file in `.databricks/databricks` (#927) 2023-10-27 10:50:41 +00:00
NOTICE Use mockery to generate mocks compatible with testify/mock (#1190) 2024-02-08 15:18:53 +00:00
README.md Fix typo in README.md (#510) 2023-06-21 20:26:09 +02:00
go.mod Bump golang.org/x/term from 0.16.0 to 0.17.0 (#1197) 2024-02-12 13:12:41 +00:00
go.sum Bump golang.org/x/term from 0.16.0 to 0.17.0 (#1197) 2024-02-12 13:12:41 +00:00
main.go Consolidate environment variable interaction (#747) 2023-09-11 08:18:43 +00:00
main_test.go Consolidate environment variable interaction (#747) 2023-09-11 08:18:43 +00:00

README.md

Databricks CLI

build

This project is in Public Preview.

Documentation about the full REST API coverage is available in the docs folder.

Documentation is available at https://docs.databricks.com/dev-tools/cli/databricks-cli.html.

Installation

This CLI is packaged as a dependency-free binary executable and may be located in any directory. See https://github.com/databricks/cli/releases for releases and the docs pages for installation instructions.

Authentication

This CLI follows the Databricks Unified Authentication principles.

You can find a detailed description at https://github.com/databricks/databricks-sdk-go#authentication.