Skip to content

Commit 8ef32a4

Browse files
authored
Merge pull request #559 from brooklyn-data/bug/ci-fixes-again
Pin dbt-core in versioned snowflake/bigquery tox envs
2 parents dc8dabb + b247edd commit 8ef32a4

2 files changed

Lines changed: 42 additions & 6 deletions

File tree

specs/ci-rework/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -745,6 +745,26 @@ support drop**:
745745
**Files changed:** `scripts/ci/test.sh`, `scripts/ci/_lib.sh`,
746746
`.github/workflows/release.yml` (matrix 42 → 15 slots), `README.md`.
747747

748+
**Follow-up (2026-06-02 re-run) — Root cause 3: dbt-core prerelease leak.**
749+
After the above shipped, the re-run was nearly green (14/16) but
750+
`snowflake 1.10` and `bigquery 1.10` failed fast at `dbt clean`. Cause:
751+
the version-pinned tox envs pinned only the **adapter**
752+
(`dbt-snowflake~=1.10.0`) and let `dbt-core` float. With a
753+
`dbt-core==2.0.0a1` prerelease now on PyPI, the 1.10 adapter's loose
754+
dbt-core dependency resolved to that alpha (verified:
755+
`pip install --dry-run 'dbt-snowflake~=1.10.0'``dbt-core 2.0.0a1`),
756+
which is incompatible with the 1.10 adapter — `dbt clean` printed
757+
success but exited 1. Postgres 1.10 was unaffected because its env
758+
already pinned `dbt-core~=1.10.0`. **Fix:** pin `dbt-core` to the
759+
matching minor in every versioned snowflake/bigquery env (1.9/1.10/1.11),
760+
mirroring the postgres pattern (`pip install --dry-run 'dbt-core~=1.10.0'
761+
'dbt-snowflake~=1.10.0'``dbt-core 1.10.22`). The unversioned "latest"
762+
envs are intentionally left to float (their `<2.0.0` adapter cap keeps
763+
core on stable 1.11.x today, and letting them eventually surface a real
764+
dbt 2.0 break is the early-warning we want). Databricks versioned envs
765+
have the same latent issue but are stubbed/not-run; apply the same pin
766+
when Databricks is reactivated. **Files changed:** `tox.ini`.
767+
748768
---
749769

750770
#### 12.3.1. Drop EOL dbt versions — original plan (see 12.3.0 for what shipped)

tox.ini

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -124,23 +124,32 @@ commands =
124124

125125
[testenv:integration_snowflake_1_11_0]
126126
changedir = integration_test_project
127-
deps = dbt-snowflake~=1.11.0
127+
# Pin dbt-core to the matching minor. The adapter alone lets dbt-core float,
128+
# and once a dbt-core 2.0.0 prerelease landed on PyPI the resolver pulled it
129+
# in (the 1.10 line was hit first), breaking the run. See specs §12.3.0.
130+
deps =
131+
dbt-core~=1.11.0
132+
dbt-snowflake~=1.11.0
128133
commands =
129134
dbt clean
130135
dbt deps
131136
dbt build --target snowflake
132137

133138
[testenv:integration_snowflake_1_10_0]
134139
changedir = integration_test_project
135-
deps = dbt-snowflake~=1.10.0
140+
deps =
141+
dbt-core~=1.10.0
142+
dbt-snowflake~=1.10.0
136143
commands =
137144
dbt clean
138145
dbt deps
139146
dbt build --target snowflake
140147

141148
[testenv:integration_snowflake_1_9_0]
142149
changedir = integration_test_project
143-
deps = dbt-snowflake~=1.9.0
150+
deps =
151+
dbt-core~=1.9.0
152+
dbt-snowflake~=1.9.0
144153
commands =
145154
dbt clean
146155
dbt deps
@@ -211,23 +220,30 @@ commands =
211220

212221
[testenv:integration_bigquery_1_11_0]
213222
changedir = integration_test_project
214-
deps = dbt-bigquery~=1.11.0
223+
# Pin dbt-core to the matching minor — see the snowflake 1.11 env comment.
224+
deps =
225+
dbt-core~=1.11.0
226+
dbt-bigquery~=1.11.0
215227
commands =
216228
dbt clean
217229
dbt deps
218230
dbt build --target bigquery --vars '"my_var": "my value"'
219231

220232
[testenv:integration_bigquery_1_10_0]
221233
changedir = integration_test_project
222-
deps = dbt-bigquery~=1.10.0
234+
deps =
235+
dbt-core~=1.10.0
236+
dbt-bigquery~=1.10.0
223237
commands =
224238
dbt clean
225239
dbt deps
226240
dbt build --target bigquery --vars '"my_var": "my value"'
227241

228242
[testenv:integration_bigquery_1_9_0]
229243
changedir = integration_test_project
230-
deps = dbt-bigquery~=1.9.0
244+
deps =
245+
dbt-core~=1.9.0
246+
dbt-bigquery~=1.9.0
231247
commands =
232248
dbt clean
233249
dbt deps

0 commit comments

Comments
 (0)