Test Code Changes On Pull Requests
Last updated
Last updated
This template creates a Bolt schedule that automatically executes dbt™ model builds and tests when a new pull request is opened against your main branch. It builds and tests only the models affected by your code changes in a temporary schema, ensuring data quality before merging into production.
Scheduler Environment is connected to your data warehouse provider with a dedicated target named ci
Paradime Github app is installed and authorize access to the dbt™️ repository used in Paradime. Not on GitHub? Check our Turbo CI guide for other Git Provider providers.
Schedule Type
Turbo CI
Enables automated validation of pull request changes.
Schedule Name
turbo ci run
A descriptive name indicating the purpose of the schedule
Deferred Schedule
hourly run
Specifies the production schedule to compare against for state changes.
Git Branch
main
Uses your default production branch to ensure correct code comparison.
The template uses a single command optimized for pull request validation:
dbt build --select state:modified+ --target ci
: This builds only the models that have been modified in the pull request, along with their downstream dependencies, in the "ci" target environment.
Type: Scheduled Run (Cron)
Cron Schedule: OFF
(This schedule will be triggered by a new pull request event, not a cron schedule)
For custom Trigger configurations, see Trigger Types documentation.
Email Alerts:
Success: Confirms models built and tested successfully
Failure: Alerts when models fail to build or tests fail
SLA Breach: Alerts if the run takes longer than 120 minutes
For custom notification configurations, see Notification Settings documentation.
Tailor this template to your specific needs:
Adjust Deferred Schedule to the production schedule you want Turbo CI to compare against for state changes.
Hourly checks for frequent data updates (0 * * * *
)
Daily checks for standard reporting (0 0 * * *
)
Modify command settings with the dbt™ commands to suit your testing requirements, such as running specific model selectors or additional tests.
Add more notifications destinations (Slack, MS Teams) to match your team's workflows.
Customize Temporary Schema Naming via the dbt generate_schema_name.sql
macro to handle the temporary schema prefix.