Skip to content

[Breaking Change] Remove deprecated path fallback mechanism for jobs and pipelines - #3225

Merged
andrewnester merged 10 commits into
mainfrom
fix/fallback-path-error
Aug 25, 2025
Merged

[Breaking Change] Remove deprecated path fallback mechanism for jobs and pipelines#3225
andrewnester merged 10 commits into
mainfrom
fix/fallback-path-error

Conversation

@andrewnester

@andrewnesterandrewnester commented Jul 10, 2025

Copy link
Copy Markdown
Contributor

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

@andrewnesterandrewnester changed the title Convert warning about using fallback paths to error[Breaking Change] Convert warning about using fallback paths to errorJul 10, 2025
@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Jul 10, 2025

Copy link
Copy Markdown
Collaborator

Run: 17207257792

Env✅‌pass🙈‌skip
✅‌aws linux310486
✅‌aws windows311485
✅‌aws-ucws linux424384
✅‌aws-ucws windows425383
✅‌azure linux310485
✅‌azure windows311484
✅‌azure-ucws linux426381
✅‌azure-ucws windows427380
✅‌gcp linux309487
✅‌gcp windows310486

Comment threadbundle/config/mutator/translate_paths_jobs.go Outdated
Comment threadbundle/config/mutator/translate_paths_pipelines.go Outdated

@shreyas-goenkashreyas-goenka left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs an entry in NEXT_CHANGELOG

Comment threadbundle/config/mutator/translate_paths_pipelines.go
Comment threadNEXT_CHANGELOG.md Outdated
### CLI

### Bundles
* [Breaking Change] Convert warning about using fallback paths to error ([#3225](https://github.com/databricks/cli/pull/3225))

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we combine the two changelog entries into one? Someone without context might assume that there were two breaking changes.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment threadNEXT_CHANGELOG.md Outdated
@andrewnesterandrewnester changed the title [Breaking Change] Convert warning about using fallback paths to error[Breaking Change] Remove deprecated path fallback mechanism for jobs and pipelinesJul 28, 2025
@andrewnester
andrewnester added this pull request to the merge queueAug 25, 2025
Merged via the queue into main with commit 30c24ffAug 25, 2025
13 checks passed
@andrewnester
andrewnester deleted the fix/fallback-path-error branch August 25, 2025 11:59
Comment threadNEXT_CHANGELOG.md
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))

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

deco-sdk-taggingBot added a commit that referenced this pull request Aug 27, 2025
## 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))
denik pushed a commit that referenced this pull request May 20, 2026
…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
denik pushed a commit that referenced this pull request May 20, 2026
## 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))
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@andrewnester@eng-dev-ecosystem-bot@pietern@denik@shreyas-goenka