Uh oh!
There was an error while loading. Please reload this page.
[Breaking Change] Remove deprecated path fallback mechanism for jobs and pipelines - #3225
Conversation
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
shreyas-goenka
left a comment
There was a problem hiding this comment.
This needs an entry in NEXT_CHANGELOG
Uh oh!
There was an error while loading. Please reload this page.
0db4578 to
3461407Compare| ### CLI | ||
| ### Bundles | ||
| * [Breaking Change] Convert warning about using fallback paths to error ([#3225](https://github.com/databricks/cli/pull/3225)) |
There was a problem hiding this comment.
Should we combine the two changelog entries into one? Someone without context might assume that there were two breaking changes.
There was a problem hiding this comment.
I don't mind both but I prefer to keep PRs links with titles like we normally do but call out what's notable additionally
Uh oh!
There was an error while loading. Please reload this page.
4581d2b to
ce5a4caCompareUh oh!
There was an error while loading. Please reload this page.
| pipeline definition location instead of the configuration file location. Previously, the CLI would show a | ||
| warning and fallback to resolving the path relative to the resource location. Users must update their bundle | ||
| configurations to define all relative paths relative to the configuration file where the path is specified. | ||
| See more details here: ([#3225](https://github.com/databricks/cli/pull/3225)) |
There was a problem hiding this comment.
This sounds scary, but it only affects users with a configuration that already displays warnings. It removes behavior that was already considered deprecated. Is it possible to make it sound less scary?
## Release v0.266.0 ### Notable Changes * Breaking change: DABs now return an error when paths are incorrectly defined relative to the job or pipeline definition location instead of the configuration file location. Previously, the CLI would show a warning and fallback to resolving the path relative to the resource location. Users must update their bundle configurations to define all relative paths relative to the configuration file where the path is specified. See more details here: ([#3225](#3225)) * Add support volumes in Python support ([#3383])(#3383)) ### Bundles * [Breaking Change] Remove deprecated path fallback mechanism for jobs and pipelines ([#3225](#3225)) * Add support for Lakebase synced database tables in DABs ([#3467](#3467)) * Rename Delta Live Tables to Lakeflow Declarative Pipelines in the default-python template ([#3476](#3476)). * Fixed bundle init not working on Standard tier ([#3496](#3496))
…and pipelines (#3225) ## Changes Removed deprecated path fallback mechanism for jobs and pipelines Effectively, it removes an old deprecated behaviour and only relies on the new one introduced here #1273 ## What's changing? Assuming there are the following 2 bundle configuration files in your bundle - `./resources/my_job.yml` - this is where the job is defined - `./override.yml` - this is where the notebook path of the job task is overridden ``` ./resources/my_job.yml resources: jobs: my_job: name: "my job" tasks: - task_key: notebook_example job_cluster_key: default notebook_task: # if not overridden, this resolves to ./resources/original_notebook.py notebook_path: ./original_notebook.py ``` ``` ./override.yml targets: development: resources: jobs: my_job: tasks: - task_key: notebook_example notebook_task: # before this PR: this resolves to <BUNDLE_ROOT>/../src/notebook.py first and if that cannot be done, resolves to <BUNDLE_ROOT>/src/notebook.py # with this PR: this resolves only to <BUNDLE_ROOT>/../src/notebook.py notebook_path: ../src/notebook.py ``` **Before** this change, on `bundle validate / deploy` the notebook_path for notebook_example would resolve to `./src/notebook.py` relative to the bundle root because the relative path was relative to where the job is defined (`/resources/my_job.yml`) **After** this change, the notebook_path for notebook_example would resolve to `../src/notebook.py` relative to the bundle root because now the path is calculated relative to where it's defined (`./override.yml`) ## Action items If you are affected by this change, you can do one of the following: 1. **(recommended)** Make necessary configuration changes to have relative paths defined relative to configuration files they are in, or 2. Pin the CLI version which you use to 0.261.0 or earlier ## Tests Covered by existing acceptance tests
## Release v0.266.0 ### Notable Changes * Breaking change: DABs now return an error when paths are incorrectly defined relative to the job or pipeline definition location instead of the configuration file location. Previously, the CLI would show a warning and fallback to resolving the path relative to the resource location. Users must update their bundle configurations to define all relative paths relative to the configuration file where the path is specified. See more details here: ([#3225](#3225)) * Add support volumes in Python support ([#3383])(#3383)) ### Bundles * [Breaking Change] Remove deprecated path fallback mechanism for jobs and pipelines ([#3225](#3225)) * Add support for Lakebase synced database tables in DABs ([#3467](#3467)) * Rename Delta Live Tables to Lakeflow Declarative Pipelines in the default-python template ([#3476](#3476)). * Fixed bundle init not working on Standard tier ([#3496](#3496))
Changes
Removed deprecated path fallback mechanism for jobs and pipelines
Effectively, it removes an old deprecated behaviour and only relies on the new one introduced here #1273
What's changing?
Assuming there are the following 2 bundle configuration files in your bundle
./resources/my_job.yml- this is where the job is defined./override.yml- this is where the notebook path of the job task is overriddenBefore this change, on
bundle validate / deploythe notebook_path for notebook_example would resolve to./src/notebook.pyrelative to the bundle root because the relative path was relative to where the job is defined (/resources/my_job.yml)After this change, the notebook_path for notebook_example would resolve to
../src/notebook.pyrelative to the bundle root because now the path is calculated relative to where it's defined (./override.yml)Action items
If you are affected by this change, you can do one of the following:
Tests
Covered by existing acceptance tests