Introducing dbt CI Checks
Validate how dbt code changes impact Hightouch syncs directly from GitHub
![Hugo Darwood.](https://hightouch.com/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fpwmfmi47%2Fproduction%2F89bf0da4cedd02bf91b9abf28747c73eb3d4cc2c-500x500.png%3Fw%3D200%26h%3D200%26fit%3Dcrop%26crop%3Dcenter&w=3840&q=75&dpl=dpl_2FtECsfwWKZkenrGpm439ukMoetJ)
Hugo Darwood
![Alexis Jones .](https://hightouch.com/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fpwmfmi47%2Fproduction%2Fa3632990421907125746873f6b79d1702b178c4a-300x300.png%3Fw%3D200%26h%3D200%26fit%3Dcrop%26crop%3Dcenter&w=3840&q=75&dpl=dpl_2FtECsfwWKZkenrGpm439ukMoetJ)
Alexis Jones
October 18, 2022
4 minutes
dbt + Hightouch (continues to) = ❤️
dbt has taken the data world by storm, with no signs of stopping and we’re excited to experience the magic in person (and virtually!) with ten thousand of our closest friends at dbt Coalesce. This launch further deepens our integrations with the popular data transformation tool, making it easier than ever for our customers to use the warehouse as their single source of truth for Data Activation. By enabling our dbt integration, you can:
- Pull existing dbt models via Git and sync modeled data directly from the warehouse to 100+ apps
- Trigger Hightouch syncs and sync sequences to execute after dbt Cloud jobs run
- See your Hightouch sync dependencies on your dbt lineage graph with our support for dbt Exposures, and now
- Check your GitHub commits and pull requests before they go live to validate that your dbt model changes won’t impact downstream syncs.
If you’re new to dbt (we’ve been there!), we recently wrote a primer on dbt with some simple tips on how you can jumpstart your knowledge.
Hightouch drives our mission-critical workflows, so it’s important to be able to know when our syncs break and what’s impacted downstream, or more preferably, to avoid breaking them altogether. Thanks to Hightouch’s Git Sync, dbt Exposures, and dbt CI checks features, we’re able to avoid sync outages by knowing exactly what will happen to our models and syncs before we make changes to the upstream entities and systems they depend on.
Erik Edelmann
Head of BI & Analytics Engineering
•
Vendr
Setting up dbt CI Checks
In the Hightouch app, navigate to Extensions >> dbt Models and your configured source (Snowflake in our example). Toggle "GitHub Pull Request Checks" to "Enabled". Please note: as a prerequisite, you'll need to first activate dbt model sync for your source.
![CI-checks-config.png](https://hightouch.com/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fpwmfmi47%2Fproduction%2F38f0a3d786e197482bf9fc54e1f84503ee096aa4-1540x1040.png&w=3840&q=75&dpl=dpl_2FtECsfwWKZkenrGpm439ukMoetJ)
dbt CI checks configuration in Hightouch app
And that's it! Once configured, Hightouch will run a check on any pull request made to the dbt model's git repository.
![dbt-failed-ci-check.png](https://hightouch.com/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fpwmfmi47%2Fproduction%2F8cb8a8fafb8e213c50f14a9aa8d4c097fe4715aa-2170x982.png&w=3840&q=75&dpl=dpl_2FtECsfwWKZkenrGpm439ukMoetJ)
Validate your model changes won't break a downstream sync with dbt CI checks
The check will fail if a downstream Hightouch sync is impacted by the PR.
![dbt-CI-checks-broken-sync.png](https://hightouch.com/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fpwmfmi47%2Fproduction%2F4e536cdf5ab6a87b42599b491ff0cca5180d9c56-2978x748.png&w=3840&q=75&dpl=dpl_2FtECsfwWKZkenrGpm439ukMoetJ)
Failed code check details
Coupled with our dbt Exposures integration, you now have both a lineage graph for how your dbt models are related to your Hightouch syncs along with the real-time guardrails needed to ensure sync resliency as you submit pull requests.
![dbt-lineage.png](https://hightouch.com/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fpwmfmi47%2Fproduction%2Faafa177b8185fcf2a9a84dee51edebe830276169-2158x992.png&w=3840&q=75&dpl=dpl_2FtECsfwWKZkenrGpm439ukMoetJ)
Lineage graph via dbt Exposures
This initial release supports CI checks for model-level changes. Our next release will also run checks at the column level 🙌.
Next Steps
dbt CI checks is in public beta today for all Hightouch customers. You can read the docs to learn more. And if you’re at Coalesce, check out our talk all about how to capture value locked in your data warehouse, and come join us at Dave & Busters for a night of games, gimlets, and good times!