Skip to content

CI Upgrade - Adding in CI stage to run tests for DBT v1.11 #5992

Description

@cmgoffena13

Add dbt 1.11 to CI matrix (AI Notes)

Background

CI already tests dbt versions 1.3–1.10 via the test-dbt-versions job in .github/workflows/pr.yaml. dbt-core 1.11 is released; SQLMesh should add it to the matrix.

Steps

  1. Add '1.11' to the CI matrix in .github/workflows/pr.yaml: dbt-version: ['1.3', '1.4', '1.5', '1.6', '1.7', '1.8', '1.9', '1.10', '1.11']
  2. Verify locally before opening PR:
uv venv .venv && source .venv/bin/activate
UV=1 make install-dev-dbt-1.11
make dbt-fast-test
cd examples/sushi_dbt && sqlmesh info --skip-connection
  1. Fix Makefile if install fails (install-dev-dbt-% in Makefile):
    1.11 uses the default path (pins all dbt-* to ~=1.11.0)
    If dependency resolution fails, may need special handling like 1.10 (some adapters unpinned: dbt-duckdb, dbt-bigquery, etc.)

  2. Fix tests if needed:
    Version-gated tests in tests/dbt/ using DBT_VERSION from sqlmesh/dbt/util.py
    Feature gates in sqlmesh/dbt/ (e.g. DBT_VERSION >= (1, 9, 0) for event_time)

  3. No CI script changes expected for 1.11:
    >= 1.6 → keeps semantic_models/metrics in test fixtures
    >= 1.5 → keeps version params in sushi_dbt example
    Not 1.6 → runs full make dbt-fast-test (not the stripped pytest path)

Gotchas

  • Dependency conflicts: 1.10 needed special Makefile handling (unpin some adapters). 1.11 may need similar.
  • numpy: Makefile applies numpy<2 for dbt 1.3–1.5 and 1.10 only. If 1.11 install pulls numpy 2 and breaks, extend the awk condition.
  • pydantic: Only 1.6 skips web/lsp install. 1.11 should install full dev deps.
  • dbt-duckdb pin in pyproject.toml: Base pyproject.toml has dbt-duckdb>=1.7.1 — install-dev-dbt-1.11 temporarily rewrites this during install, then restores.
  • dbt-snowflake!=1.10.1: Base pyproject excludes a bad snowflake release; verify 1.11 snowflake adapter resolves cleanly.

Acceptance criteria

  • '1.11' in test-dbt-versions matrix
  • UV=1 make install-dev-dbt-1.11 succeeds locally
  • make dbt-fast-test passes
  • sqlmesh info --skip-connection works in examples/sushi_dbt
  • CI green on PR to upstream

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions