Skip to content

Conversation

@devin-ai-integration
Copy link
Contributor

@devin-ai-integration devin-ai-integration bot commented Jan 25, 2026

Summary

Fixes dbt-fusion CI test failures by pinning the dbt-fusion version to 2.0.0-preview.76 instead of always installing the latest version.

Root cause: The CI workflow was using --update to always install the latest dbt-fusion version. Between Dec 4, 2025 (last successful run with preview.76) and Jan 2025, dbt-fusion released newer preview versions (up to preview.101) that introduced breaking changes affecting Elementary's integration tests.

Fix: Read the dbt-fusion version from a config file (.dbt-fusion-version) in the repo, allowing version changes to be made via PRs:

FUSION_VERSION=$(cat dbt-data-reliability/.dbt-fusion-version)
curl -fsSL https://public.cdn.getdbt.com/fs/install/install.sh | sh -s -- --version "$FUSION_VERSION"

This approach is better than hardcoding because the workflow checks out the PR's code before reading the version file, so PRs can update the pinned version without requiring workflow changes to master first.

Review & Testing Checklist for Human

  • Important: The workflow uses pull_request_target which runs the workflow YAML from master. This PR's CI will still fail because the workflow change hasn't been merged yet. Verify the changes look correct and merge to enable testing.
  • After merging, verify CI passes for all fusion targets (snowflake, bigquery, redshift, databricks_catalog)
  • Consider whether pinning to an older preview version is acceptable long-term, or if a plan to upgrade should be tracked

Notes

This is a temporary fix to stabilize CI. Since dbt-fusion is still in preview and actively evolving, the team may want to periodically test newer versions and update the pin when a compatible version is available. Future version updates can now be done by simply changing the .dbt-fusion-version file.

Linear ticket: CORE-273

Link to Devin run: https://app.devin.ai/sessions/a9f05e67861b4013818ea830c4664b73
Requested by: Yosef Arbiv (@arbiv)

Summary by CodeRabbit

  • Chores
    • Updated CI testing workflow to install a specific tool version by reading a committed version indicator rather than using an update flag, improving reproducibility.
    • Added a committed version indicator set to 2.0.0-preview.76 to pin the installer version used by the workflow.

✏️ Tip: You can customize this high-level summary in your review settings.

- test_dbt_invocations: yaml_selector field not populated in fusion
- test_sample_count_unlimited: meta config override not working in fusion
- test_schema_changes: schema change detection not working in fusion

Co-Authored-By: Yosef Arbiv <yosef.arbiv@gmail.com>
@devin-ai-integration
Copy link
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

@linear
Copy link

linear bot commented Jan 25, 2026

@github-actions
Copy link
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.

@coderabbitai
Copy link

coderabbitai bot commented Jan 25, 2026

📝 Walkthrough

Walkthrough

The CI was changed to install dbt-fusion using a pinned version read from .dbt-fusion-version (value 2.0.0-preview.76) via the installer --version flag instead of using --update. A new file .dbt-fusion-version was added containing the version string.

Changes

Cohort / File(s) Summary
CI configuration
\.github/workflows/test-warehouse.yml
Replace installer --update usage with reading version from .dbt-fusion-version and invoking installer with --version "<version>".
Version file
\.dbt-fusion-version
Add file containing 2.0.0-preview.76 to pin the dbt-fusion installer version for CI.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰
A tiny file tucked away,
Pins fusion so tests can play,
Pre-release seventy-six in sight,
CI hops forward, snug and light,
Carrots saved for tomorrow's byte.

🚥 Pre-merge checks | ✅ 4 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately describes the main change: pinning dbt-fusion to a specific version to fix CI failures, which directly addresses the core objective.
Linked Issues check ✅ Passed The PR addresses CORE-273 by identifying and resolving the root cause of CI failures through version pinning, enabling CI to pass for fusion targets as required.
Out of Scope Changes check ✅ Passed All changes directly address the linked issue: introducing a version file and updating the workflow to use it for pinning dbt-fusion, with no unrelated modifications.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

Co-Authored-By: Yosef Arbiv <yosef.arbiv@gmail.com>
@devin-ai-integration devin-ai-integration bot changed the title Skip failing tests for dbt-fusion Pin dbt-fusion version to 2.0.0-preview.76 to fix CI failures Jan 25, 2026
…kflow

Co-Authored-By: Yosef Arbiv <yosef.arbiv@gmail.com>
@arbiv arbiv merged commit 55a0e39 into master Jan 27, 2026
25 of 31 checks passed
@arbiv arbiv deleted the core-273-fix-fusion-failures branch January 27, 2026 09:17
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.

2 participants