-
Notifications
You must be signed in to change notification settings - Fork 0
Home
The xchem trunk-based development wiki.
Guidance for using external repositories and guidance for new repositories that wish to follow trunk-based development paradigms, where small, frequent updates are merged into a single "trunk" or main branch, avoiding long-lived feature branches.
If we use code in an external repository we need protect ourselves from changes that might affect our experiments and applications. This is typically achieved using a disciplined develpment process that results in changes being tested and tagged.
See: -
- Our wiki page: Using non-xchem repositories
For our own code, where an alternative paradigm isn't compelling, we should follow a trunk-based development process, which essentially means that we have one "main" branch and make all releases from that branch: -
- The trunk (main) branch is the only repository branch expected to exist for significant periods of time
- No commit pushed to the repository trunk should jeopardise the ability to "go live"
- Developers work on short-lived branches (the "Scaled Trunk-Based Development" pattern) that originate from the trunk (see the diagram below)
- Releases are made from the trunk and are tagged
Illustration
Image courtesy of "Explaining Trunk Based Development" on travis-ci.com
Guidance
- Using non-xchem repositories
- Creating releases
- Declaring dependencies
- Merging to trunk
- Write tests
- Continuous integration
Advanced topics
Other ideas
Inspiration
Cheat-sheets
