Branching & CI
Learn Foundry's Git-based branching model and how continuous integration ensures quality before merging.
1 ยท Branch-Based Development
Every Code Repository in Foundry uses Git branches. When you want to make a change, you create a branch, modify your transforms, and preview the results โ all without touching production data.
Datasets on a branch are isolated: building on your branch creates branch-specific dataset transactions. Other users continue to see the production (main-branch) data until you merge.
2 ยท Continuous Integration Checks
When you open a merge request (Foundry's equivalent of a pull request), CI checks run automatically:
- Schema validation โ do output schemas still match?
- Expectation checks โ do data quality rules pass?
- Dependency analysis โ are all inputs available?
- Code quality โ linting and type checks.
Only when all checks pass can the branch be merged, protecting production quality.
3 ยท Merge Strategies
After merging, Foundry offers two strategies for updating downstream datasets:
1. Build on merge โ immediately rebuild affected outputs.
2. Build on schedule โ wait for the next scheduled build.
For critical pipelines, build-on-merge ensures consumers get updated data as fast as possible. For less time-sensitive flows, scheduled builds reduce compute costs.
โ Key Takeaways
- Branches isolate changes โ your experiments never affect production data.
- CI checks run automatically on every merge request.
- Schema validation, expectations, and dependency analysis protect quality.
- Build-on-merge or build-on-schedule strategies control when updates propagate.