Our current trunk-based development approach has been working well for us with some notable exceptions:
Code lands in master sometimes half-baked (before any code-review)
Some devs utilize branches to keep master cleaner and experiment, to their detriment as the build server isn't able to provide them, or their reviewers feedback on
if it builds
if it passes code-quality
if it breaks contract tests
It doesn't support pull-requests which is the recommended approach for external developers
Overall we'd like enhance our CI server to support building and providing feedback on branches while also retaining our trunk-based development model.
In this epic we'll:
Improve our CI server to build branches of each component
Evaluate and introduce feature flags so that branches are short-lived.
Harmonize our process for internal and external developers
Update our documentation to better inform contributors what the commit, review and branching process is
Update the development community with how this process works and show them the steps.
This epic is not to achieve branching for release which is covered by OLMIS-4115.