In private development
Planned. The GitHub App is not available; the reusable workflow is in preview and needs the emo command line, which is not released yet.
GitHub App
- Home
- Integrations
- GitHub App
Pull request checks for data pipelines.
As designed, the GitHub App lints, tests and prices every pull request that changes a pipeline, and links a preview dashboard. Green checks become the gate for deploying.
Planned
Open
Any pull request that changes a pipeline
Check
Lint, golden tests, cost and a preview link
Gate
Make the checks required in your branch rules
Deploy
From the merged commit, with the same command
Overview
What the GitHub App is.
As designed, Emolysis checks pull requests so that every change to a pipeline is linted, tested and priced before it is merged and deployed, by a GitHub App or by a reusable workflow in your own CI.
As designed, you install the app on your GitHub organization or account and choose the repositories it can see. On each pull request it reports four checks: lint against your platform's rules, golden tests run on DuckDB with the fixtures committed in the repository, a cost estimate for your target platform, and a link to a preview dashboard.
Make the checks required in your branch rules and green checks become your deploy gate. Your normal review and merge rules still apply, and what is deployed runs on your platform under your account.
Features
Four checks on every pull request.
As designed, each check reports pass or fail with the details a reviewer needs, so the discussion starts from facts.
Lint
SQL and Python checked against your platform's lint rules, so known traps, such as Unity Catalog permissions on Databricks or identifier case on Snowflake, are caught before anything runs.
Golden tests
Each pipeline's golden tests run on DuckDB with the fixtures committed in tests/. A failure shows the failing case and the rows that differ.
Cost
An estimate of what the change costs to run on your target platform, next to the cost note each template carries, with the cost drivers named.
Preview
A link to a preview dashboard built from the change, so reviewers can see the result and not only the diff.
Narrow permissions
The app asks only for read access to repository contents and metadata, and write access to checks and pull requests. You choose which repositories it can see.
Or in your own CI
If you prefer not to install an app, a reusable GitHub Actions workflow, in preview, runs emo check in your own CI; it needs the emo command line, which is not released yet. It runs on your own runners, and the results appear as checks on the pull request.
How it works
From a branch to a gate.
The planned flow for a team that reviews pipeline changes in GitHub.
Install the app
Install it on your GitHub organization or account and choose the repositories it can see. Your pipelines live in your own repository as a plain project.
Open a pull request
emo sync and emo pr, which commit and push the project or open a pull request for the current changes, are planned. The checks cover any pull request that changes a pipeline, whoever opened it.
Read the four checks
Lint, golden tests, cost and preview report on the pull request. A failure names the lint rule and line, the failing test case and the differing rows, or the cost drivers.
Make them required
Add the checks to your branch rules. A change cannot merge until they are green, and the same checks guard every deploy.
Deploy from the merged commit
You deploy from the merged commit with the same command you use everywhere else. Going back means deploying an earlier commit.
emo syncemo prReference
What each check reports.
As designed, every check reports pass or fail. When one fails, the details point at the cause.
| Check | What it reports | On a failure |
|---|---|---|
| Lint | SQL and Python checked against your platform's lint rules | The rule and the line |
| Golden tests | Each pipeline's golden tests, run on DuckDB with the fixtures in tests/ | The failing case and the rows that differ |
| Cost | An estimate of what the change costs to run on your target platform | The cost drivers |
| Preview | A link to a preview dashboard built from the change, for reviewers | Not applicable |
Data handling
Data handling
What the app reads.
The GitHub App is planned. If you install it, it can read the contents of the repositories you choose, to run its checks, and write check results and comments on their pull requests.
Anything in a repository is visible to everyone with access to it and to the CI that runs the checks, so keep the committed fixtures synthetic. Emolysis's services are designed never to connect to your data platform and never to receive your platform credentials. Data from your tables reaches them only in prompts that pass through the metering service and in dashboards you publish.
Prompts are a separate matter. To write code, the agent sends prompts to the AI model provider you choose. A prompt can include table and column names, schemas and sample values from your data. With a paid plan's included usage or usage credits (on Enterprise, metered usage), prompts pass through Emolysis's metering service on the way to the model provider; that service is designed not to store or log their content. The full list is on the security page.
What leaves your machine lists every case.
Read next
Questions
GitHub App questions.
Answers about the GitHub App. More in the FAQ.
What does the GitHub App check?
As designed, four things on every pull request. Lint: your SQL and Python checked against your platform's rules. Golden tests: the templates' tests, run on DuckDB with the fixtures committed in your repository. Cost: an estimate of what the change costs to run on your target platform. Preview: a link to a dashboard built from the change, so reviewers can see the result.
What permissions does the GitHub App ask for?
The fewest its checks need: read access to repository contents and metadata, and write access to checks and pull requests. You choose which repositories it can see.
Can I run the checks in my own CI?
Not yet. A reusable GitHub Actions workflow, in preview, runs emo check in your own CI, on your own runners: lint, golden tests and a cost estimate. It needs the emo command line, which is not released yet, and emo check runs the same checks from any other CI system. The GitHub App is planned.
Do I need GitHub to use Emolysis?
No. You can use Emolysis without GitHub. The planned pull request checks, emo sync and emo pr are conveniences for teams that review changes in GitHub, not requirements. Credentials never go into the repository.
Do green checks deploy my pipeline?
No. Deploying is a step you take, and your branch rules and review still apply. Green checks are the gate: make them required, and a change cannot merge or deploy until they pass.
Nothing is released yet
Help shape the GitHub App.
Early access is by invitation, starting with data engineering teams on Databricks.