Skip to content

Conversation

@lennartkats-db
Copy link
Contributor

Changes

This adds a language prompt (Python / SQL / other) to the default-minimal template.

Why

pyproject.toml and conftest.py are not relevant for non-Python DABs projects like Apps projects.

Tests

  • Acceptance tests now exercise a non-Python minimal template

lennartkats-db and others added 2 commits November 13, 2025 12:22
- Simplified PR description to be more concise
- Added changelog entry for default-minimal template (#3885)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Added a `language_choice` property to the default-python template that prompts users to select their project's primary language: python, sql, or other.

- `language_choice` (order 8): User-facing prompt with options "python", "sql", "other"
- `language` (order 9): Derived property that maps user selection to template behavior
  - "python" → "python" (includes pyproject.toml and tests)
  - "sql"/"other" → "sql" (excludes pyproject.toml and tests)

- Updated `__preamble.tmpl` to skip `pyproject.toml` for SQL/other projects by adding it to the existing conditional that skips tests
- The derived `language` property controls which files are included/excluded in the generated project

- Added concise "//" comment following the pattern used in lakeflow-pipelines template
- Explains the derivation logic and what gets included/excluded

The default-python template previously had a hardcoded `language` property set to "python" with no way for users to customize it for SQL or other language projects. This change allows users to:
1. Choose their project language upfront during template initialization
2. Get appropriate files for their language choice (Python projects get pyproject.toml and tests, others don't)
3. Have the README and other files reflect their language choice

This makes the template more flexible and reduces manual cleanup for SQL/other language users.

- Updated acceptance tests for default-python template
- Manually verified all three language options:
  - python: includes pyproject.toml and tests
  - sql: excludes pyproject.toml and tests, README shows "SQL source code"
  - other: excludes pyproject.toml and tests, README shows "SQL source code"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@eng-dev-ecosystem-bot
Copy link
Collaborator

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

Run: 19338646974

Env 🔄​flaky 💚​RECOVERED 🙈​SKIP ✅​pass 🙈​skip Time
💚​ aws linux 1 1 359 607 17:06
💚​ aws windows 1 1 360 606 14:34
💚​ aws-ucws linux 1 1 494 498 22:30
💚​ aws-ucws windows 1 1 495 497 19:14
💚​ azure linux 1 1 359 606 17:19
💚​ azure windows 1 1 360 605 16:00
💚​ azure-ucws linux 1 1 490 497 22:03
💚​ azure-ucws windows 1 1 491 496 20:22
🔄​ gcp linux 4 1 1 351 609 16:49
🔄​ gcp windows 5 1 1 351 608 16:52
10 failing tests:
Test Name aws linux aws windows aws-ucws linux aws-ucws windows azure linux azure windows azure-ucws linux azure-ucws windows gcp linux gcp windows
TestAccept 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
TestAccept/bundle/run/app-with-job 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
TestAccept/bundle/templates/default-python/combinations/classic ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p 🔄​f 🔄​f
TestAccept/bundle/templates/default-python/combinations/classic/DATABRICKS_BUNDLE_ENGINE=direct/DLT=no/NBOOK=yes/PY=no ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p 🔄​f ✅​p
TestAccept/bundle/templates/default-python/combinations/classic/DATABRICKS_BUNDLE_ENGINE=terraform/DLT=yes/NBOOK=yes/PY=yes ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p 🔄​f
TestAccept/bundle/templates/default-python/combinations/serverless ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p 🔄​f
TestAccept/bundle/templates/default-python/integration_classic ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p 🔄​f ✅​p
TestAccept/bundle/templates/default-python/integration_classic/DATABRICKS_BUNDLE_ENGINE=terraform/UV_PYTHON=3.13 ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p 🔄​f ✅​p
TestFsCpFileToFile ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p 🔄​f
TestFsCpFileToFile/dbfs_to_local ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p ✅​p 🔄​f
Top 30 slowest tests (at least 2 minutes):
duration env testname
7:47 azure-ucws linux TestAccept/bundle/resources/synced_database_tables/basic
6:45 aws windows TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
6:23 gcp windows TestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
6:18 aws-ucws linux TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
6:05 gcp linux TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
6:04 aws-ucws linux TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
6:03 gcp windows TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
5:59 aws linux TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
5:57 gcp linux TestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
5:54 aws linux TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
5:53 aws windows TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
5:50 gcp linux TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
5:40 aws-ucws windows TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
5:36 gcp windows TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
5:34 aws-ucws windows TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
5:33 aws linux TestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
5:24 aws-ucws windows TestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
5:21 aws windows TestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
5:14 azure-ucws windows TestAccept/bundle/resources/synced_database_tables/basic
5:09 aws-ucws linux TestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
4:37 azure linux TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
4:25 azure windows TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
4:15 azure windows TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
4:14 azure linux TestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
4:12 azure-ucws windows TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
4:05 azure windows TestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
3:50 azure-ucws windows TestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
3:48 azure-ucws windows TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
2:08 azure-ucws linux TestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
2:06 azure-ucws linux TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform

@lennartkats-db
Copy link
Contributor Author

Tests fail, will do another pass on this

- Only skip pyproject.toml for SQL language, not all lakeflow templates
- Revert default-python to use hardcoded language property
- Keep language_choice only in default-minimal template
- Add back pyproject.toml for Python lakeflow-pipelines
@lennartkats-db lennartkats-db added this pull request to the merge queue Nov 13, 2025
Merged via the queue into main with commit e2fdfd9 Nov 13, 2025
13 checks passed
@lennartkats-db lennartkats-db deleted the add-minimal-language-prompt branch November 13, 2025 17:16
deco-sdk-tagging bot 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))
Sign up for free to 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