Commit Graph

1829 Commits

Author SHA1 Message Date
Denis Bilenko (aider) 60812fc5d7 feat: Interpret timestamp as UTC in setmtime.py script 2025-03-05 15:58:58 +01:00
Denis Bilenko f1a22fc486 use UnixNano() for time 2025-03-05 15:49:15 +01:00
Denis Bilenko 106ce9438e do not add extra newline in RECORD 2025-03-05 15:36:39 +01:00
Denis Bilenko 63e6d623c0 show diff between original and new 2025-03-05 15:34:24 +01:00
Denis Bilenko f2b5dd97a6 update ruff exclude 2025-03-05 15:29:25 +01:00
Denis Bilenko bde1181644 add missing setmtime.py 2025-03-05 15:22:18 +01:00
Denis Bilenko edf361ce6c fix bug in Version: line; add "selftest patchwhl" command + acceptance test 2025-03-05 15:18:59 +01:00
Denis Bilenko (aider) 5c46e62374 feat: Implement fixed modification time and deterministic wheel filename in test 2025-03-05 14:52:23 +01:00
Denis Bilenko f681a9261f refactor: Update TODO comment with specific mtime for prebuilt wheel test 2025-03-05 14:52:20 +01:00
Denis Bilenko 34c2265965 test: Add TODO comment for prebuilt patch wheel test 2025-03-05 14:50:52 +01:00
Denis Bilenko (aider) e7af1a606d feat: Implement wheel METADATA and RECORD file verification in test 2025-03-05 14:47:42 +01:00
Denis Bilenko 130ed8b78b test: Add TODO comment for future METADATA and RECORD file verification 2025-03-05 14:47:40 +01:00
Denis Bilenko 9e62ba87a3 use Buffer in parseRecord 2025-03-05 14:44:10 +01:00
Denis Bilenko e73dafca83 use CutSuffix 2025-03-05 11:54:56 +01:00
Denis Bilenko 4a2485fcc9 add a comment to findFiles 2025-03-05 11:51:59 +01:00
Denis Bilenko d79e0db71b use cutSuffix; add link to pep 2025-03-05 11:50:09 +01:00
Denis Bilenko 04eed7a0d9 rm unnecessary replace; add a comment with example 2025-03-05 11:47:20 +01:00
Denis Bilenko 704bb5cb0e use strings.Cut 2025-03-05 11:45:51 +01:00
Denis Bilenko fe275654fb
Merge branch 'main' into denik/wheel-patch 2025-03-05 11:42:54 +01:00
Andrew Nester 4dba35dff4
Upgrade TF provider to 1.68.0 (#2426)
## Changes
Upgrade TF provider to 1.68.0

- Added support for Volumes as a destination for Cluster log conf
2025-03-05 10:20:55 +00:00
Andrew Nester 294db2ecca
Upgrade Go SDK to 0.59.0 (#2425)
## Changes
- Added `service-principal-secrets` command
- Added `budget-policy-id` for apps
- `experiments.log-inputs` now requires `ID` parameter as an input
- Added `genie.get-space` command
- Added `providers.list-provider-share-assets` command

For the whole list of SDK changes see:
https://github.com/databricks/databricks-sdk-go/releases/tag/v0.59.0
2025-03-05 10:20:51 +00:00
shreyas-goenka b21fdac209
Update VSCode settings to resolve files named `script` as shell scripts (#2419)
## Why
VSCode for me resolves `script` as YAML files showing incorrect syntax
coloring. This setting forces VSCode to treat all files named `script`
as shell scripts leading to better syntax highlighting.

These files are common place in our acceptance tests.

## Tests
Manually.
2025-03-05 10:02:40 +00:00
Denis Bilenko 75b169fa71 CalculateNewVersion -> calculateNewVersion 2025-03-05 10:51:56 +01:00
Denis Bilenko 97f87d2544 rm -short support; not a big win with parallel runs 2025-03-05 10:45:45 +01:00
Denis Bilenko d7daebfba0 replace findMetadataAndRecord with more general findFiles 2025-03-05 10:44:32 +01:00
Denis Bilenko 1fbb81eb87
Disable ruff cache (#2430)
There is no perf difference, it's fast in both cases:

```
~/work/cli % hyperfine 'ruff format -qn'
Benchmark 1: ruff format -qn
  Time (mean ± σ):      22.5 ms ±   4.1 ms    [User: 23.6 ms, System: 106.7 ms]
  Range (min … max):    17.3 ms …  50.2 ms    52 runs
```

but it no longer produces .ruff_cache which can confuse acceptance test
runner

```
~/work/cli % find . -type d | grep ruff
./.ruff_cache
./.ruff_cache/0.8.3
./libs/notebook/testdata/.ruff_cache
./libs/notebook/testdata/.ruff_cache/0.8.3
./libs/sync/testdata/.ruff_cache
./libs/sync/testdata/.ruff_cache/0.8.3
./acceptance/bundle/templates/default-sql/.ruff_cache
./acceptance/bundle/templates/default-sql/.ruff_cache/0.8.3
```
2025-03-05 08:45:51 +01:00
Denis Bilenko b9eeecd5a1 add a log 2025-03-04 18:27:45 +01:00
Denis Bilenko ca55524f94 remove glob matching in readMetadataAndRecord, rename to findMetadataAndRecord 2025-03-04 18:17:17 +01:00
Denis Bilenko 138ced54eb use full struct, not pointer 2025-03-04 18:07:01 +01:00
Denis Bilenko 5abb022506 clean up and simplify parsing 2025-03-04 18:02:57 +01:00
Denis Bilenko (aider) 653ca59edf (no commit message provided) 2025-03-04 18:02:57 +01:00
Denis Bilenko (aider) b0348de83b fix: Correctly parse wheel filename version without build tag 2025-03-04 18:02:57 +01:00
Denis Bilenko (aider) 5a60b73ad8 fix: Correctly parse wheel filename with build tags 2025-03-04 18:02:57 +01:00
Denis Bilenko (aider) 3135f4e38f feat: Add comprehensive test cases for wheel filename parsing 2025-03-04 18:02:57 +01:00
Denis Bilenko 95a64fd3cb docs: Add comprehensive wheel filename parsing test cases as comment 2025-03-04 18:02:57 +01:00
Denis Bilenko a100671b8b
Merge branch 'main' into denik/wheel-patch 2025-03-04 16:21:02 +01:00
Denis Bilenko cc59dec5f5 parallel tests and short/non-short mode 2025-03-04 16:18:34 +01:00
Denis Bilenko 62f1c36f89 lint fix 2025-03-04 16:11:50 +01:00
Andrew Nester 41961226be
Switch to use GET workspaces-files/{name} instead of workspace/export for state files (#2423)
## Changes
Switch to use GET workspaces-files/{name} instead of workspace/export
for state files.

## Why
`/api/2.0./workspaces-files/{name}` has a higher limit which allows to
export state files larger than 10 MBs (which is the current limit for
`workspace/export`). We don't use the same API for read in other places
and fully replacing existing Filer because it doesn't correct get the
file content for notebooks and returns "File Not Found" error instead.

## Tests
All existing tests pass
2025-03-04 15:03:51 +00:00
Denis Bilenko 18daa3feff clean up 2025-03-04 15:52:59 +01:00
Denis Bilenko 9f9f89078e clean up 2025-03-04 15:47:25 +01:00
shreyas-goenka 549b226cbc
Add the `auth.ProcessEnv` function (#2404)
## Changes
This function provides all environment variables necessary to
authenticate the downstream applications to the same credentials as the
parent process.

It's used in https://github.com/databricks/cli/pull/2278 and will also
be useful for the `databricks bundle exec` command.

## Tests
Unit test.
2025-03-04 14:47:11 +00:00
Denis Bilenko f31928af40 fix Windows 2025-03-04 15:45:59 +01:00
Denis Bilenko 5c44533bb1 clean up 2025-03-04 15:40:57 +01:00
Denis Bilenko b4273f9624 fix re-patching and add test 2025-03-04 15:38:29 +01:00
Denis Bilenko 552920dfe4 clean up 2025-03-04 14:15:19 +01:00
Denis Bilenko a999ca91e8 fix test 2025-03-04 14:12:25 +01:00
Anton Nekipelov c0f5436a28
Add support for schemas in deployment bind/unbind commands (#2406)
## Changes
1. Changed `FindResourceByConfigKey` to return schema resources
2. Implemented the `Exists` method for schema resources

## Why
This PR adds support for schema resources in deployment operations,
enabling users to:
- Bind schemas using `databricks bundle deployment bind <myschema_key>
<schema_full_name>`
- Unbind schemas using `databricks bundle deployment unbind
<myschema_key>`

Where:
- `myschema_key` is a resource key defined in the bundle's .yml file
- `schema_full_name` references an existing schema in the Databricks
workspace

These capabilities allow for more flexible resource management of
schemas within bundles.

## Tests

Added a new integration test that tests bind and unbind methods together
with bundle deployment and destruction.
2025-03-04 12:46:39 +00:00
Denis Bilenko 9637241725 wip 2025-03-04 13:08:28 +01:00
Anton Nekipelov bcce6b0ece
Enable TestAuthDescribeFailure integration test (#2420)
## Changes
1. remove t.Skip directive from TestAuthDescribeFailure integration test
2. remove checking the host in the test

## Why
1. This enables integration test that exercises `databricks auth
describe` command, which was previously throwing errors in the CI/CD
pipeline. For the nonexistent profile check to fail, we need to create a
new profile file for the CLI to check (otherwise the configuration skips
checking of the provided profile actually exists).
2. I removed the assertion for the host part because it is not relevant
for the test, and setting that up just required more code in the test
setup.

## Tests
The integration test is passing
2025-03-04 11:43:26 +00:00