Databricks CLI
Go to file
Lennart Kats (databricks) 433f401c83
Add validation for Git settings in bundles (#578)
## Changes

This checks whether the Git settings are consistent with the actual Git
state of a source directory.

(This PR adds to https://github.com/databricks/cli/pull/577.) 

Previously, we would silently let users configure their Git branch to
e.g. `main` and deploy with that metadata even if they were actually on
a different branch.

With these changes, the following config would result in an error when
deployed from any other branch than `main`:

```
bundle:
  name: example

workspace:
  git:
    branch: main

environments:
  ...
```

> not on the right Git branch:
>   expected according to configuration: main
>   actual: my-feature-branch

It's not very useful to set the same branch for all environments,
though. For development, it's better to just let the CLI auto-detect the
right branch. Therefore, it's now possible to set the branch just for a
single environment:

```
bundle:
  name: example 2

environments:
  development:
    default: true

  production:
    # production can only be deployed from the 'main' branch
    git:
      branch: main
```

Adding to that, the `mode: production` option actually checks that users
explicitly set the Git branch as seen above. Setting that branch helps
avoid mistakes, where someone accidentally deploys to production from
the wrong branch. (I could see us offering an escape hatch for that in
the future.)

# Testing

Manual testing to validate the experience and error messages. Automated
unit tests.

---------

Co-authored-by: Fabian Jakobs <fabian.jakobs@databricks.com>
2023-07-30 12:44:33 +00:00
.codegen Release v0.202.0 (#619) 2023-07-27 13:23:55 +00:00
.github Remove workflow to publish binaries to S3 (#622) 2023-07-27 14:19:50 +00:00
.vscode Rename bricks -> databricks (#389) 2023-05-16 18:35:39 +02:00
bundle Add validation for Git settings in bundles (#578) 2023-07-30 12:44:33 +00:00
cmd Add validation for Git settings in bundles (#578) 2023-07-30 12:44:33 +00:00
docs Rename bricks -> databricks (#389) 2023-05-16 18:35:39 +02:00
folders Don't depend on working directory in folders.FindDirWithLeaf (#54) 2022-09-14 15:08:55 +02:00
internal Extend deployment mode support (#577) 2023-07-30 07:19:49 +00:00
libs Extend deployment mode support (#577) 2023-07-30 07:19:49 +00:00
python Auto detect Python wheel packages and infer build command (#603) 2023-07-26 10:07:26 +00:00
.codegen.json Integrate with auto-release infra (#581) 2023-07-18 17:48:35 +02:00
.gitattributes Release v0.201.0 (#586) 2023-07-18 17:13:48 +00:00
.gitignore Rename bricks -> databricks (#389) 2023-05-16 18:35:39 +02:00
.goreleaser.yaml Rename bricks -> databricks (#389) 2023-05-16 18:35:39 +02:00
CHANGELOG.md Release v0.202.0 (#619) 2023-07-27 13:23:55 +00:00
LICENSE Create LICENSE (#467) 2023-06-14 14:38:52 +00:00
Makefile goreleaser deprecated --rm-dist in favor of --clean (#349) 2023-04-20 11:59:34 +02:00
NOTICE Create NOTICE (#468) 2023-06-14 20:05:08 +02:00
README.md Fix typo in README.md (#510) 2023-06-21 20:26:09 +02:00
go.mod Bump github.com/databricks/databricks-sdk-go from 0.12.0 to 0.13.0 (#585) 2023-07-18 15:30:00 +00:00
go.sum Bump github.com/databricks/databricks-sdk-go from 0.12.0 to 0.13.0 (#585) 2023-07-18 15:30:00 +00:00
main.go Remove dependency on global state for remaining commands (#613) 2023-07-27 10:03:08 +00:00
main_test.go Remove dependency on global state in generated commands (#595) 2023-07-25 20:19:07 +02: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.