Basic Example
Two concepts to add PipeRider reporting to your CI workflow
The basic example has two workflows:
- Production Job - A daily CI job that builds the models, runs PipeRider, and then attaches the PipeRider data profile report as an artifact (or uploads to your own data storage).
- PR Job - A CI job that is triggered when a pull request is created and builds the models, runs PipeRider on both production and pr environments, then attaches or uploads the comparison report

PipeRider CI Process
The steps for running PipeRider and creating a data profile report for the production environment are as follows.
Run
dbt build
, specifying the the production environment.dbt build --target prod
Run PipeRider specifying the output location as
/tmp/piperider
piperider run --data-source jaffle_shop -o /tmp/piperider
If you used GitHub, there are lots of convenient actions that could empower your workflow.
# GitHub workflow snippet
- name: Create run artifact
run: zip -r run-report.zip /tmp/piperider
- name: Upload profiling result
uses: actions/upload-[email protected]
with:
name: run-report-artifact
path: run-report.zip
Alternatively, you could write your own script to upload the report to your own storage.
your-upload-script.sh /tmp/piperider

jaffle_shop/production-daily-job.yml at main · InfuseAI/jaffle_shop
GitHub
Example Daily Production Job on GitHub
The PR job is trigger when a pull request is created. The following steps will help you transform your model changes, profile the data source and compare the staging environment and production environments automatically.
dbt build --target pr
piperider run --data-source jaffle_shop_pr -o /tmp/piperider/pr
piperider run --data-source jaffle_shop -o /tmp/piperider/prod
Use PipeRider's compare reports feature to generate a data profile comparison report for the PR and Production environments.
piperider compare-reports \
--base /tmp/piperider/prod/run.json \
--target /tmp/piperider/pr/run.json \
-o /tmp/piperider/comparison
The compare reports feature outputs a Markdown formatted data profile diff that you can attach to your pull request comment, or upload to your own storage.
Use a 3rd-party action to help with this task, or build your own solution based on your requirements.
# GitHub workflow snippet
- name: Create PR Comment
uses: peter-evans/create-or-update-[email protected]
with:
issue-number: ${{ github.event.number }}
body-file: /tmp/piperider/comparison/summary.md
Upload the Markdown file to your own storage usding your own script, if required.
post-comparison-summary.sh /tmp/piperider/comparison/summary.md
In addition to the data profile diff Markdown file, PipeRider also outputs a full comparison report. As above, you can as store this as an artifact, or upload to your own storage.
# GitHub workflow snippet
- name: Create run artifact
run: zip -r comparison-report.zip /tmp/piperider/comparison
- name: Upload profiling result
uses: actions/[email protected]
with:
name: comparison-report-artifact
path: comparison-report.zip
Use your own script to upload the comparison report to your own storage.
upload-comparison-report.sh /tmp/piperider/comparison

jaffle_shop/pr-comparison-job.yml at main · InfuseAI/jaffle_shop
GitHub
Example PR Job on GitHub