Skip to content

Add default scala template to databricks cli - #3906

Merged
lennartkats-db merged 2 commits into
databricks:mainfrom
garlandz-db:default_scala_template
Nov 13, 2025
Merged

Add default scala template to databricks cli#3906
lennartkats-db merged 2 commits into
databricks:mainfrom
garlandz-db:default_scala_template

Conversation

@garlandz-db

@garlandz-dbgarlandz-db commented Nov 11, 2025

Copy link
Copy Markdown
Contributor

Changes

This adds a new default scala DABs template as a follow up to databricks/bundle-examples#119

Why

This is to provide an off the shelf template for customers to start using scala dbconnect to develop scala jobs in Databricks

Tests

Manually tested user flow interactively and as job workload for both standard and serverless

@lennartkats-dblennartkats-db 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.

Great!!! Please tell your coding agent to add it to the list of templates and to add acceptance tests for it!

@pietern

Copy link
Copy Markdown
Contributor

Please also add an entry in NEXT_CHANGELOG.md to call it out in the release notes.

You can look at earlier entries in CHANGELOG.md for inspiration.

Comment threadNEXT_CHANGELOG.md Outdated
### Dependency updates

### Bundles
* Add `default-scala` template for Scala projects to build jar jobs in Serverless or with Standard Clusters ([#XXXX](https://github.com/databricks/cli/pull/XXXX))

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.

Please update the URL inline

@lennartkats-dblennartkats-db 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.

Please take a look at the test failures + the NEXT_CHANGELOG file. I just merged the associated databricks/bundle-examples#119 PR.

And please let me know if you made any changes compared to the original template in the samples repo.

@garlandz-db
garlandz-dbforce-pushed the default_scala_template branch 2 times, most recently from dbb4781 to be1d47aCompareNovember 12, 2025 18:36
@garlandz-db

Copy link
Copy Markdown
ContributorAuthor

the changes made under default-scala were all whitespaces and formatting. claude's summary

 The changes are purely formatting/whitespace fixes to comply with the CLI's code quality standards:
1. Trailing Newlines Added (5 files):
- README.md - Added final newline at end of file
- project/plugins.sbt.tmpl - Added final newline at end of file
- resources/{{.project_name}}.job.yml.tmpl - Added final newline at end of file
- src/main/scala/com/examples/NycTaxi.scala - Removed extra blank line at end
2. Trailing Whitespace Removed (2 files):
- resources/.gitkeep - Removed one extra blank line at end
- src/main/scala/com/examples/Main.scala - Changed trailing spaces to plain newlines (lines 16 & 27)

@github-actions

Copy link
Copy Markdown
Contributor

An authorized user can trigger integration tests manually by following the instructions below:

Trigger:
go/deco-tests-run/cli

Inputs:

  • PR number: 3906
  • Commit SHA: d1316b18ac5f927daf7bdf278d9cb76a7f8f45c9

Checks will be approved automatically on success.

@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Nov 13, 2025

Copy link
Copy Markdown
Collaborator

Run: 19329645227

Env🔄​flaky💚​RECOVERED🙈​SKIP✅​pass🙈​skipTime
💚​aws linux1135960619:15
💚​aws windows1136060517:31
💚​aws-ucws linux1149449738:35
💚​aws-ucws windows1149549634:25
🔄​azure linux41135560526:25
💚​azure windows1136060427:28
💚​azure-ucws linux1149049636:22
🔄​azure-ucws windows21148949554:22
💚​gcp linux1135560821:37
🔄​gcp windows31135360726:36
10 failing tests:
Test Nameaws linuxaws windowsaws-ucws linuxaws-ucws windowsazure linuxazure windowsazure-ucws linuxazure-ucws windowsgcp linuxgcp windows
TestAccept💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
TestAccept/bundle/deployment/bind/job/job-abort-bind✅​p✅​p✅​p✅​p✅​p✅​p✅​p✅​p✅​p🔄​f
TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p✅​p✅​p✅​p✅​p🔄​f✅​p✅​p
TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p✅​p✅​p✅​p✅​p🔄​f✅​p✅​p
TestAccept/bundle/resources/experiments/basic✅​p✅​p✅​p✅​p🔄​f✅​p✅​p✅​p✅​p✅​p
TestAccept/bundle/resources/experiments/basic/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p✅​p🔄​f✅​p✅​p✅​p✅​p✅​p
TestAccept/bundle/run/app-with-job🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
TestAccept/bundle/templates/default-python/integration_classic✅​p✅​p✅​p✅​p🔄​f✅​p✅​p✅​p✅​p🔄​f
TestAccept/bundle/templates/default-python/integration_classic/DATABRICKS_BUNDLE_ENGINE=direct/UV_PYTHON=3.10✅​p✅​p✅​p✅​p✅​p✅​p✅​p✅​p✅​p🔄​f
TestAccept/bundle/templates/default-python/integration_classic/DATABRICKS_BUNDLE_ENGINE=direct/UV_PYTHON=3.9✅​p✅​p✅​p✅​p🔄​f✅​p✅​p✅​p✅​p✅​p
Top 50 slowest tests (at least 2 minutes):
durationenvtestname
12:34azure-ucws linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
10:37azure-ucws linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
9:16azure windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
9:08azure-ucws windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
8:02azure windowsTestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
7:15aws-ucws linuxTestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
7:13aws windowsTestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
6:38aws linuxTestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
6:07gcp windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
5:54gcp windowsTestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
5:53gcp linuxTestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
5:49aws-ucws windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
5:44azure-ucws linuxTestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
5:42gcp linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
5:38aws-ucws windowsTestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
5:33gcp windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
5:27aws-ucws linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
5:22azure-ucws windowsTestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
4:20azure linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
3:28azure-ucws windowsTestAccept/bundle/templates/default-python/integration_classic/DATABRICKS_BUNDLE_ENGINE=direct/UV_PYTHON=3.12
3:01azure-ucws windowsTestAccept/bundle/resources/synced_database_tables/basic
2:47aws linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
2:45azure windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
2:41azure-ucws linuxTestAccept/bundle/resources/synced_database_tables/basic
2:41aws-ucws linuxTestAccept/bundle/templates/default-python/combinations/classic/DATABRICKS_BUNDLE_ENGINE=terraform/DLT=no/NBOOK=yes/PY=yes
2:36azure windowsTestAccept/bundle/templates/default-python/integration_classic/DATABRICKS_BUNDLE_ENGINE=terraform/UV_PYTHON=3.10
2:36azure-ucws linuxTestAccept/bundle/deployment/bind/dashboard
2:34aws windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
2:33aws-ucws linuxTestAccept/bundle/templates/default-python/combinations/classic/DATABRICKS_BUNDLE_ENGINE=direct/DLT=yes/NBOOK=no/PY=no
2:30azure-ucws windowsTestAccept/bundle/templates/default-python/integration_classic/DATABRICKS_BUNDLE_ENGINE=direct/UV_PYTHON=3.11
2:23aws-ucws linuxTestAccept/bundle/templates/default-python/combinations/serverless/DATABRICKS_BUNDLE_ENGINE=direct/DLT=yes/NBOOK=no/PY=yes
2:23aws-ucws linuxTestAccept/bundle/templates/default-python/integration_classic/DATABRICKS_BUNDLE_ENGINE=direct/UV_PYTHON=3.13
2:20aws linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
2:18gcp linuxTestAccept/bundle/templates/default-python/integration_classic/DATABRICKS_BUNDLE_ENGINE=terraform/UV_PYTHON=3.11
2:18azure-ucws windowsTestAccept/bundle/deployment/unbind/grants
2:17azure-ucws windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
2:16aws-ucws linuxTestAccept/bundle/templates/default-python/integration_classic/DATABRICKS_BUNDLE_ENGINE=terraform/UV_PYTHON=3.13
2:15aws windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
2:15azure windowsTestAccept/bundle/templates/default-python/integration_classic/DATABRICKS_BUNDLE_ENGINE=terraform/UV_PYTHON=3.11
2:12aws-ucws linuxTestAccept/bundle/templates/default-python/combinations/serverless/DATABRICKS_BUNDLE_ENGINE=terraform/DLT=yes/NBOOK=yes/PY=yes
2:10azure linuxTestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
2:10azure-ucws windowsTestAccept/bundle/templates/default-python/integration_classic/DATABRICKS_BUNDLE_ENGINE=terraform/UV_PYTHON=3.10
2:10azure-ucws windowsTestAccept/bundle/resources/models/basic/DATABRICKS_BUNDLE_ENGINE=terraform
2:10gcp linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
2:08aws-ucws windowsTestAccept/bundle/local_state_staleness/DATABRICKS_BUNDLE_ENGINE=terraform
2:07azure-ucws windowsTestAccept/bundle/templates/default-python/integration_classic/DATABRICKS_BUNDLE_ENGINE=terraform/UV_PYTHON=3.13
2:06azure linuxTestAccept/bundle/resources/dashboards/detect-change/DATABRICKS_BUNDLE_ENGINE=terraform
2:06aws-ucws linuxTestAccept/bundle/templates/default-python/combinations/serverless/DATABRICKS_BUNDLE_ENGINE=direct/DLT=no/NBOOK=no/PY=yes
2:04aws-ucws linuxTestAccept/bundle/templates/default-python/combinations/serverless/DATABRICKS_BUNDLE_ENGINE=terraform/DLT=no/NBOOK=yes/PY=yes
2:03gcp linuxTestAccept/bundle/templates/default-python/integration_classic/DATABRICKS_BUNDLE_ENGINE=terraform/UV_PYTHON=3.10

@lennartkats-db
lennartkats-db added this pull request to the merge queueNov 13, 2025
Merged via the queue into databricks:main with commit f6a35c5Nov 13, 2025
13 checks passed
deco-sdk-taggingBot added a commit that referenced this pull request Nov 19, 2025
## Release v0.278.0
### Dependency updates
* Upgrade Go SDK to 0.91.0 ([#3948](#3948))
* Bump Alpine Linux to 3.22 in the Docker image ([#3942](#3942))
### Bundles
* Update templates to use serverless environment version 4 and matching Python version ([#3897](#3897))
* Add a language prompt to the `default-minimal` template ([#3918](#3918))
* Add `default-scala` template for Scala projects with SBT build configuration and example code ([#3906](#3906))
denik pushed a commit that referenced this pull request May 20, 2026
## Changes
<!-- Brief summary of your changes that is easy to understand -->
This adds a new default scala DABs template as a follow up to
databricks/bundle-examples#119
## Why
<!-- Why are these changes needed? Provide the context that the reviewer
might be missing.
For example, were there any decisions behind the change that are not
reflected in the code itself? -->
This is to provide an off the shelf template for customers to start
using scala dbconnect to develop scala jobs in Databricks
## Tests
<!-- How have you tested the changes? -->
Manually tested user flow interactively and as job workload for both
standard and serverless
<!-- If your PR needs to be included in the release notes for next
release,
add a separate entry in NEXT_CHANGELOG.md as part of your PR. -->
denik pushed a commit that referenced this pull request May 20, 2026
## Release v0.278.0
### Dependency updates
* Upgrade Go SDK to 0.91.0 ([#3948](#3948))
* Bump Alpine Linux to 3.22 in the Docker image ([#3942](#3942))
### Bundles
* Update templates to use serverless environment version 4 and matching Python version ([#3897](#3897))
* Add a language prompt to the `default-minimal` template ([#3918](#3918))
* Add `default-scala` template for Scala projects with SBT build configuration and example code ([#3906](#3906))
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.

4 participants

@garlandz-db@pietern@eng-dev-ecosystem-bot@lennartkats-db