fix: Add explicit warning when using python wheel wrappers with source-linked deployment

This commit is contained in:
Ilya Kuznetsov 2024-11-19 10:46:40 +01:00
parent aeb9813d25
commit 8c8fb35861
No known key found for this signature in database
GPG Key ID: 91F3DDCF5D21CDDF
2 changed files with 22 additions and 0 deletions

View File

@ -6,6 +6,7 @@ import (
"strings" "strings"
"github.com/databricks/cli/bundle" "github.com/databricks/cli/bundle"
"github.com/databricks/cli/bundle/config"
"github.com/databricks/cli/bundle/libraries" "github.com/databricks/cli/bundle/libraries"
"github.com/databricks/cli/libs/diag" "github.com/databricks/cli/libs/diag"
"github.com/databricks/cli/libs/log" "github.com/databricks/cli/libs/log"
@ -22,6 +23,9 @@ func WrapperWarning() bundle.Mutator {
func (m *wrapperWarning) Apply(ctx context.Context, b *bundle.Bundle) diag.Diagnostics { func (m *wrapperWarning) Apply(ctx context.Context, b *bundle.Bundle) diag.Diagnostics {
if isPythonWheelWrapperOn(b) { if isPythonWheelWrapperOn(b) {
if config.IsExplicitlyEnabled(b.Config.Presets.SourceLinkedDeployment) {
return diag.Warningf("Python wheel notebook wrapper is not available when using source-linked deployment mode. You can disable this mode by setting 'presets.source_linked_deployment: false'")
}
return nil return nil
} }

View File

@ -335,6 +335,24 @@ func TestNoWarningWhenPythonWheelWrapperIsOn(t *testing.T) {
require.NoError(t, diags.Error()) require.NoError(t, diags.Error())
} }
func TestPythonWheelWithSourceLinkedDeployment(t *testing.T) {
enabled := true
b := &bundle.Bundle{
Config: config.Root{
Experimental: &config.Experimental{
PythonWheelWrapper: true,
},
Presets: config.Presets{
SourceLinkedDeployment: &enabled,
},
},
}
diags := bundle.Apply(context.Background(), b, WrapperWarning())
require.NoError(t, diags.Error())
require.Contains(t, diags[0].Summary, "Python wheel notebook wrapper is not available when using source-linked deployment mode")
}
func TestSparkVersionLowerThanExpected(t *testing.T) { func TestSparkVersionLowerThanExpected(t *testing.T) {
testCases := map[string]bool{ testCases := map[string]bool{
"13.1.x-scala2.12": false, "13.1.x-scala2.12": false,