chore(ci): add dbt 1.11 to the test matrix - #5999
Open
ARAVIND281 wants to merge 1 commit into
Open
Conversation
Adds '1.11' to the test-dbt-versions matrix, and extends the existing 1.10 branch in install-dev-dbt-% to cover it. The Makefile change is required, not incidental. The default path pins every dbt-* package to ~=$version, and two adapters have no 1.11 release: dbt-trino (latest 1.10.3) and dbt-clickhouse (latest 1.10.2). Asking for dbt-trino~=1.11.0 makes the resolve unsatisfiable, so the new matrix entry would fail at install time. The 1.10 branch already handles exactly this shape: pin dbt-core and dbt-databricks, leave the adapters unpinned, and let the resolver settle on a consistent set. Extending its condition keeps this to two lines; the echo was the only part that hardcoded 1.10.0. Resolved: dbt-core 1.11.8, dbt-bigquery 1.11.3, dbt-snowflake 1.11.6, dbt-databricks 1.11.8, dbt-duckdb 1.11.0, dbt-trino 1.10.3, dbt-clickhouse 1.10.2, dbt-redshift 1.10.2, dbt-athena-community 1.10.2. No numpy<2 constraint was added: 1.11 pulls numpy 2.2.6 and the suite passes on it. No CI script changes are needed either — the version-gated shell in the job already holds for 1.11, including the sort -V comparison, which orders 1.11 above 1.5.0 correctly. Verified locally on Python 3.10: UV=1 make install-dev-dbt-1.11 succeeds (DBT_VERSION == (1, 11, 8)), make dbt-fast-test passes 88 tests, and sqlmesh info --skip-connection reports 11 models in examples/sushi_dbt. Closes SQLMesh#5992 Signed-off-by: Aravind S <63240570+ARAVIND281@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #5992
Adds dbt 1.11 to the
test-dbt-versionsCI matrix.The matrix line is the easy half. The issue flags that 1.11 "may need" the same special Makefile handling 1.10 got — it does, and without it the new matrix entry fails at install time.
Why the Makefile change is required
install-dev-dbt-%pins everydbt-*package to~=$versionon the default path. Two adapters have no 1.11 release at all:dbt-trinodbt-clickhouseSo the default path asks for
dbt-trino~=1.11.0and the resolve is unsatisfiable:The fix is the branch that already exists for 1.10: pin
dbt-core(anddbt-databricks), leave the adapters unpinned, and let the resolver find a consistent set. Extending that condition to 1.11 rather than adding a parallel branch keeps it to a two-line change, and the$$versioninterpolation was already there — only the hardcoded1.10.0in the echo needed generalising.Resolved set with the fix:
Gotchas from the issue, checked
numpy — 1.11 pulls numpy 2.2.6. The
numpy<2awk condition was not extended, because the suite passes on numpy 2; adding the constraint would have been a change with nothing behind it.pydantic — installs 2.12.5 on the full dev path, no
1.6-style special casing needed.dbt-duckdb/dbt-snowflake!=1.10.1pins — both resolve cleanly under the unpinned branch.No CI script changes. The version-gated shell in the job holds for 1.11: the semantic_models/metrics strip is an explicit
1.3|1.4|1.5list, the pytest-path fork is== "1.6", and the version-params check usessort -V, which orders1.11above1.5.0correctly (a naive string compare would not):Version-gated tests — the only upper-bound gates in
tests/dbt/areDBT_VERSION < (1, 9, 5)intest_manifest.py, which 1.11 takes theelseside of. Already correct, no change.Verification
Locally, on Python 3.10 to match the job:
Acceptance criteria
'1.11'in thetest-dbt-versionsmatrixUV=1 make install-dev-dbt-1.11succeeds locallymake dbt-fast-testpassessqlmesh info --skip-connectionworks inexamples/sushi_dbt