Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Workflow:TobikoData Sqlmesh Github CICD automation

From Leeroopedia


Knowledge Sources
Domains Data_Engineering, CICD, Automation
Last Updated 2026-02-07 21:00 GMT

Overview

End-to-end process for configuring and operating SQLMesh's GitHub CI/CD bot to automate testing, PR environment creation, plan generation, and production deployment through GitHub pull request workflows.

Description

This workflow covers the setup and operation of SQLMesh's built-in GitHub CI/CD integration. The bot automatically runs unit tests on pull requests, creates isolated PR environments for data validation, generates production deployment plans, and handles production deployment upon approval. The system integrates with GitHub's pull request lifecycle, using PR comments for interaction and GitHub Check Runs for status reporting. It follows a Command Pattern architecture with a controller orchestrating individual command executions.

Key outcomes:

  • Automated unit test execution on every PR update
  • Isolated PR environments showing the impact of proposed changes
  • Production deployment plans posted as PR comments
  • Approval-gated production deployment with configurable approvers

Usage

Execute this workflow when setting up automated CI/CD for a SQLMesh project hosted on GitHub. This is ideal for teams that want to enforce testing, review, and controlled deployment of data transformation changes through their existing GitHub pull request workflow.

Execution Steps

Step 1: Bot Configuration

Create the CI/CD bot configuration file that defines deployment behavior, required approvers, and trigger conditions. The configuration specifies which GitHub users can approve deployments, how changes should be categorized, and what commands trigger deployment. Settings can be provided via a YAML configuration file or environment variables.

Key considerations:

  • Define required approvers with their GitHub usernames
  • Configure merge method (merge, squash, rebase) for auto-merge
  • Set up deployment triggers (command-based or approval-based)
  • Specify the SQLMesh project path and connection settings

Step 2: GitHub Actions Integration

Set up the GitHub Actions workflow that invokes the SQLMesh CI/CD bot on relevant PR events. The workflow triggers on pull request creation, update, and review submission. It installs SQLMesh, configures database credentials, and runs the sqlmesh_cicd CLI command.

Key considerations:

  • Configure workflow triggers for pull_request and pull_request_review events
  • Provide database credentials as GitHub secrets
  • Install SQLMesh with the github extra for GitHub API access
  • Set the GITHUB_TOKEN for API interactions

Step 3: Automated Test Execution

When a PR is created or updated, the bot automatically runs all unit tests defined in the project. Test results are reported through GitHub Check Runs with detailed pass/fail information. Failed tests block the PR from being deployed.

Key considerations:

  • Tests run on every push to the PR branch
  • Results appear as GitHub Check Run status
  • Detailed failure messages are posted as PR comments
  • Test execution uses the same framework as local testing

Step 4: PR Environment Creation

The bot creates an isolated virtual environment for the PR, materializing only the changed models. This allows reviewers to inspect actual data changes caused by the PR. The environment is named after the PR and automatically cleaned up when the PR is closed.

Key considerations:

  • PR environments share unchanged data with production
  • Only modified models are physically materialized
  • Reviewers can query the PR environment to validate changes
  • Environment cleanup happens automatically on PR close

Step 5: Production Plan Generation

The bot generates a production deployment plan and posts the summary as a PR comment. The plan shows all affected models, the type of change (breaking/non-breaking), and the scope of backfill required. This gives reviewers full visibility into the deployment impact.

Key considerations:

  • The plan summary is posted as a formatted PR comment
  • Breaking changes are highlighted for reviewer attention
  • Backfill scope and affected downstream models are listed
  • The plan is regenerated on each PR update

Step 6: Approval and Production Deployment

Once the PR is approved by the required approvers, the bot proceeds with production deployment. It applies the generated plan, executing backfills and updating the virtual layer. Upon successful deployment, the bot auto-merges the PR and reports the deployment status.

Key considerations:

  • Approval requirements are configurable per project
  • Deployment can also be triggered by a deploy command in PR comments
  • The bot reports deployment progress through Check Runs
  • Failed deployments are reported with error details for debugging

Execution Diagram

GitHub URL

Workflow Repository