Skip to main content

Overview

This guide walks you through migrating your dbt™ jobs from GitHub Actions to Paradime’s Bolt orchestration platform. Paradime offers a purpose-built solution for dbt™ orchestration with features like deferred runs, smart scheduling, and integrated monitoring.

Part 1: Understanding Your Current GitHub Actions Setup

Example GitHub Actions Workflow Here’s a typical GitHub Actions workflow for running dbt™ jobs:
What This Workflow Does
  1. Triggers on a daily schedule, manual dispatch, or push to main
  2. Installs dbt™ and dependencies
  3. Runs dbt™ seed, run, and test commands
  4. Uses GitHub Secrets for warehouse credentials
  5. Notifies on failure (basic)

Part 2: Prerequisites for Paradime Migration

Before migrating, ensure you have: 1. Paradime Workspace Setup
  • Active Paradime account
  • Workspace created and configured
  • Access to the Bolt application
2. Data Warehouse Connection
  • Production connection configured in Paradime
  • This connection should have the same permissions as your GitHub Actions credentials
  • Navigate to: Settings → Connections to set this up
3. Git Repository Connected
  • Your dbt™ project repository connected to Paradime
  • Git credentials configured
  • Navigate to: Settings → Git Integration
4. GitHub App Integration (for Native CI/CD) 5. dbt™ Project
  • Your dbt™ project accessible in Paradime IDE
  • Models materialized and tested in development

Part 3: Creating Your First Paradime Schedule

Step 1: Access Bolt
  1. Log into your Paradime workspace
  2. Navigate to Bolt from the left sidebar
  3. Click Create Schedule
Step 2: Configure Schedule Settings Fill in the basic settings:
  • Type: Choose Standard (equivalent to a basic GitHub Actions job)
  • Name: daily_production_run (descriptive name for your schedule)
  • Git Branch: main (or your production branch)
  • Owner Email: Your email address
Step 3: Add Commands Add your dbt™ commands in sequence (equivalent to the steps in your GitHub Action):
Pro Tip: Each command runs sequentially. If one fails, subsequent commands won’t execute.
Step 4: Configure Trigger Select your trigger type:
  • Scheduled Run: For time-based execution (like cron)
    • Choose Cron Schedule: 0 6 * * * (daily at 6 AM UTC)
    • Or use presets like @daily, @hourly, @weekly
  • On Merge: Trigger when PR is merged to specified branch
  • On Run Completion: Chain jobs together
Step 5: Set Up Notifications Configure alerts to know when jobs succeed or fail:
  • Slack Notifications:
    • Toggle Slack Notify On: Select failed and/or passed
    • Enter channel: #data-team-alerts
  • Email Notifications:
    • Toggle Email Notify On: Select failed and/or passed
    • Enter email addresses
Step 6: Deploy Click Create Schedule to deploy your job.

Method 2: Using Schedules as Code (YAML)

For teams that prefer infrastructure-as-code, Paradime supports YAML-based schedules. Step 1: Create paradime_schedules.yml In your dbt™ project root, create or edit paradime_schedules.yml:
Step 2: Commit and Push
Step 3: Sync in Paradime Paradime will automatically detect and sync your schedule configuration.

Part 4: Migration Mapping Guide

Here’s how GitHub Actions concepts map to Paradime Bolt:

Part 5: Advanced Features in Paradime

Native GitHub Integration Benefits With the Paradime GitHub App installed, you get:
  • Automatic PR checks: Turbo CI runs automatically on every pull request
  • Merge triggers: Deploy changes instantly when PRs are merged
  • Lineage Diff comments: Automated comments showing downstream impact on Looker, Tableau, ThoughtSpot, and dbt™ mesh
  • No GitHub Actions needed: Paradime handles triggering and status reporting
  • Centralized logs: All CI/CD runs visible in Bolt dashboard
Installation: Follow the guide at docs.paradime.io/app-help/documentation/integrations/ci-cd/github

Deferred Runs (Optimization)

Paradime offers Deferred Schedules that only run changed models:
Benefits:
  • Faster execution (only modified models)
  • Lower compute costs
  • Smart state comparison

Turbo CI for Pull Requests

🎉 Paradime supports native GitHub integration for Turbo CI! No need to write GitHub Actions workflows manually. Option 1: Native GitHub App Integration (Recommended) The easiest way to enable Turbo CI is through Paradime’s native GitHub app, which automatically triggers CI checks when you open a pull request. Setup Steps:
  1. Install the Paradime GitHub App:
    • Navigate to Settings > Integrations in Paradime
    • Click Connect next to GitHub Integration
    • Follow the authentication flow and select your repositories
    • Click Install and authorize
    • Complete the user-level OAuth by going to Profile > Profile Settings
  2. Create a Turbo CI Schedule in Bolt:
  3. That’s it! When you open a pull request, Paradime will automatically:
    • Trigger the Turbo CI schedule
    • Build modified models in a temporary schema (paradime_turbo_ci_pr_<commit_sha>)
    • Run tests on changed models
    • Post status checks directly to your PR
📚 Documentation: GitHub Integration Setup | Turbo CI Guide Option 2: Manual GitHub Actions (Alternative) If you prefer to manage your own GitHub Actions workflow or need custom logic:

Continuous Deployment on Merge

🎉 Paradime supports native GitHub integration for Continuous Deployment! Automatically deploy when PRs are merged. Option 1: Native GitHub App Integration (Recommended) With the Paradime GitHub app installed (see Turbo CI setup above), you can enable automatic deployments on merge without any GitHub Actions configuration. Setup in Bolt UI:
  1. Create or edit a schedule in Bolt
  2. Set Schedule Type to Deferred
  3. Enable Trigger on Merge
  4. Select your production branch (e.g., main)
  5. Configure your commands:
Or via YAML:
How it works:
  • When a PR is merged to your production branch, Paradime automatically triggers the schedule
  • Only modified models are deployed (using state comparison)
  • Status updates are posted to Slack
  • No GitHub Actions workflow needed!
📚 Documentation: GitHub Native CD Guide Option 2: Manual GitHub Actions (Alternative) If you need custom deployment logic or prefer managing workflows yourself:

Part 6: Step-by-Step Migration Process

Phase 1: Parallel Run (Week 1)
  1. Keep GitHub Actions running as-is
  2. Create equivalent schedules in Paradime Bolt
  3. Monitor both for consistency
  4. Compare results and timing
Phase 2: Validation (Week 2)
  1. Verify all jobs run successfully in Paradime
  2. Test notifications (Slack/email)
  3. Check monitoring and logs
  4. Validate data quality remains consistent
Phase 3: Cutover (Week 3)
  1. Disable GitHub Actions schedules (comment out cron)
  2. Keep GitHub Actions files for emergency fallback
  3. Monitor Paradime closely for first few days
  4. Update documentation and runbooks
Phase 4: Cleanup (Week 4+)
  1. Archive GitHub Actions workflows
  2. Update team documentation
  3. Train team on Bolt interface
  4. Optimize schedules using deferred runs

Part 7: Troubleshooting Common Issues

Issue 1: Schedule Not Running Check:
  • Schedule is not paused (look for pause icon)
  • Cron syntax is correct
  • Branch exists and is accessible
  • Production connection is active
Issue 2: Commands Failing Check:
  • Connection credentials are valid
  • Target profile exists in profiles.yml
  • Models exist in specified branch
  • Check logs in Bolt → Run History
Issue 3: Notifications Not Sending Check:
  • Slack workspace is connected (Settings → Integrations)
  • Channel names are correct (include #)
  • Email addresses are valid
  • Notification toggles are enabled
Issue 4: Git Sync Issues Check:
  • Git credentials are valid
  • Branch exists
  • Repository is accessible
  • Try manual sync in Settings

Part 8: Best Practices

1. Naming Conventions Use descriptive, consistent names:
  • daily_full_refresh
  • hourly_incremental_models
  • schedule1
  • test
2. Start Simple Begin with Standard schedules, then adopt:
  • Deferred runs for optimization
  • Turbo CI for PR validation
  • On Run Completion for dependencies
3. Monitor Proactively
  • Set up Slack notifications for all production jobs
  • Review Run History weekly
  • Check SLA compliance in analytics
4. Use Version Control
  • Keep paradime_schedules.yml in git
  • Review changes in PRs
  • Document major changes
5. Leverage Deferred Runs After establishing baseline schedules:
  • Identify frequently-modified models
  • Create deferred schedules for efficiency
  • Monitor compute savings

Part 9: Quick Reference

Common Cron Schedules
Essential Commands
Useful Links

Conclusion

Migrating from GitHub Actions to Paradime Bolt offers:
  • Simplified management: No infrastructure to maintain
  • Better observability: Built-in monitoring and analytics
  • Cost optimization: Deferred runs and smart scheduling
  • Native dbt™ integration: Purpose-built for dbt™ workflows
  • Team collaboration: Centralized scheduling and monitoring
Start with a simple schedule migration, validate in parallel, then gradually adopt advanced features like deferred runs and Turbo CI for maximum efficiency.
Questions or Issues?