All materials
github-actions-template.yml
ymlgithub-actions-template.yml
# GitHub Actions workflow for dbt + Soda Core quality checks
# Runs on every pull request to verify data quality before merge
#
# Customize:
# - Update the database path if your DuckDB file is in a different location
# - Update the soda checks file path if you named it differently
# - Add or remove dbt test targets as needed
name: Data Quality Checks
on:
pull_request:
branches: [main]
jobs:
dbt-test:
name: dbt Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: |
pip install dbt-core dbt-duckdb
- name: Install dbt packages
run: dbt deps
- name: Build dbt models
run: dbt build
- name: Run dbt tests
run: dbt test
soda-check:
name: Soda Core Checks
runs-on: ubuntu-latest
needs: dbt-test # Soda checks run after dbt builds the tables
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: |
pip install dbt-core dbt-duckdb soda-core-duckdb
- name: Build dbt models
run: dbt build
- name: Run Soda Core checks
run: |
# Update these paths to match your project structure
soda scan -d my_duckdb -c soda_config.yml soda_checks.yml