Best practices and technical details

Foundry Branching is highly opinionated about the development style that organizations should implement. It features a monorepo hierarchy and enforces trunk-based development ↗ for fast, stable development.

Branches are intended to be short-lived and relatively small. Large branches are difficult to review and maintain, as resources become more prone to conflicts the longer they remain open.

Branching technical details

The following section includes details on how Foundry Branching works in different applications.

Foundry Branching for data pipelines

Foundry Branching for pipelines builds upon the existing data pipelines branching implementation.

Foundry Branching for Ontologies

Foundry Branching for Ontologies builds upon the existing Ontology proposals implementation.

Foundry Branching for Workshop

Foundry Branching for Workshop enables you to preview data in Workshop and run Actions on the branch. Workshop will load data for all resources on the branch. Resources on the branch that were not modified will be loaded from the main branch. This allows you to run Actions on branches to test the Workshop module with changes on your branch. This is designed for testing changes to production workflows. Any edits made by Actions on the branch will not be deployed during branch deployment.

Key considerations:

  • User edits from the main branch are currently unavailable for object types that are modified on the branch.
  • Webhooks and email notifications are not executed when an Action is run on a branch.
  • If an Action type is backed by a function that is configured to make calls to external systems, it cannot be run on a branch.