Skip to content

fix: install elementary without [vertica] extra to prevent dbt-core downgrade#966

Merged
haritamar merged 1 commit intomasterfrom
devin/1773324984-fix-vertica-install
Mar 12, 2026
Merged

fix: install elementary without [vertica] extra to prevent dbt-core downgrade#966
haritamar merged 1 commit intomasterfrom
devin/1773324984-fix-vertica-install

Conversation

@devin-ai-integration
Copy link
Copy Markdown
Contributor

Summary

Fixes the Vertica CI failure in the "Install dependencies" step.

The "Install Elementary" step was running pip install "./elementary[vertica]", which re-resolves dbt-vertica's full dependency tree. Since dbt-vertica pins dbt-core~=1.8, pip downgrades dbt-core from the latest to 1.7.3. That old dbt-core is incompatible with newer protobuf (MessageToJson() lost the including_default_value_fields kwarg), causing dbt deps to crash immediately after.

The fix: for Vertica, install elementary without the [vertica] extra — dbt-vertica is already installed (with --no-deps) in the prior "Install dbt-vertica" step, so the extra is unnecessary and harmful. This mirrors the same approach already used in the elementary repo's test-warehouse.yml.

Review & Testing Checklist for Human

  • Verify the Vertica CI job passes end-to-end — this is a CI-only change that cannot be tested locally. Trigger the test-warehouse workflow with warehouse-type: vertica and confirm it gets past "Install dependencies" and completes the full test suite.
  • Confirm no other adapters are affected — the else branch preserves the original behavior for all non-Vertica warehouses.

Notes

  • The root cause is upstream: dbt-vertica on PyPI still pins dbt-core~=1.8. If/when that is relaxed, this workaround could be removed.
  • This worked on the Vertica PR branch (devin/1773274966-vertica-support) because the elementary repo's workflow already had this fix — but the dbt-data-reliability repo's workflow was missing it.

Link to Devin session: https://app.devin.ai/sessions/9c1f4f76777145b08c5fca7658b5899c
Requested by: @haritamar

…owngrade

The 'Install Elementary' step was using pip install './elementary[vertica]'
which re-resolved dbt-vertica's dependencies, causing dbt-core to be
downgraded to ~1.7.3. The older dbt-core is incompatible with newer
protobuf (MessageToJson() missing 'including_default_value_fields' arg),
breaking the subsequent 'Install dependencies' step (dbt deps).

Since dbt-vertica is already installed with --no-deps in the prior step,
we install elementary without the [vertica] extra to preserve the
correct dbt-core version.

Co-Authored-By: Itamar Hartstein <haritamar@gmail.com>
@devin-ai-integration
Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@github-actions
Copy link
Copy Markdown
Contributor

👋 @devin-ai-integration[bot]
Thank you for raising your pull request.
Please make sure to add tests and document all user-facing changes.
You can do this by editing the docs files in the elementary repository.

@haritamar haritamar merged commit a4143a5 into master Mar 12, 2026
26 of 27 checks passed
@haritamar haritamar deleted the devin/1773324984-fix-vertica-install branch March 12, 2026 14:30
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.

1 participant