databricks-cli/libs
Pieter Noordhuis 4ccc70aeac
Consolidate environment variable interaction (#747)
## Changes

There are a couple places throughout the code base where interaction
with environment variables takes place. Moreover, more than one of these
would try to read a value from more than one environment variable as
fallback (for backwards compatibility). This change consolidates those
accesses.

The majority of diffs in this change are mechanical (i.e. add an
argument or replace a call).

This change:
* Moves common environment variable lookups for bundles to
`bundles/env`.
* Adds a `libs/env` package that wraps `os.LookupEnv` and `os.Getenv`
and allows for overrides to take place in a `context.Context`. By
scoping overrides to a `context.Context` we can avoid `t.Setenv` in
testing and unlock parallel test execution for integration tests.
* Updates call sites to pass through a `context.Context` where needed.
* For bundles, introduces `DATABRICKS_BUNDLE_ROOT` as new primary
variable instead of `BUNDLE_ROOT`. This was the last environment
variable that did not use the `DATABRICKS_` prefix.

## Tests

Unit tests pass.
2023-09-11 08:18:43 +00:00
..
auth Fix IsServicePrincipal() only working for workspace admins (#732) 2023-09-05 11:20:55 +00:00
cmdio Add enum support for bundle templates (#668) 2023-09-08 12:07:22 +00:00
databrickscfg Always resolve .databrickscfg file (#659) 2023-08-14 12:45:08 +00:00
env Consolidate environment variable interaction (#747) 2023-09-11 08:18:43 +00:00
errs Added ability for deferred mutator execution (#380) 2023-05-16 18:01:50 +02:00
filer Update Go SDK to v0.19.0 (#729) 2023-09-05 09:43:57 +00:00
fileset Never ignore root directory when enumerating files in a repository (#683) 2023-08-21 07:35:02 +00:00
flags Upgraded Go version to 1.21 (#664) 2023-08-15 13:50:40 +00:00
git Never ignore root directory when enumerating files in a repository (#683) 2023-08-21 07:35:02 +00:00
jsonschema Add enum support for bundle templates (#668) 2023-09-08 12:07:22 +00:00
locker Correct name for force acquire deploy flag (#656) 2023-08-15 19:03:43 +00:00
log Upgraded Go version to 1.21 (#664) 2023-08-15 13:50:40 +00:00
notebook Error out if notebook file does not exist locally (#261) 2023-03-21 18:13:16 +01:00
set Added support for sync.include and sync.exclude sections (#671) 2023-08-18 08:07:25 +00:00
sync Added support for sync.include and sync.exclude sections (#671) 2023-08-18 08:07:25 +00:00
template Minor default template tweaks (#758) 2023-09-11 07:36:44 +00:00
terraform Add bundle destroy command (#300) 2023-04-06 12:54:58 +02:00
testfile Refactor and cover edge cases in sync integration tests (#160) 2023-01-10 13:16:30 +01:00