Improve CI to support independent development teams

Description

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.

Status

Assignee

Unassigned

Reporter

Josh Zamor

Components

Fix versions

Priority

Critical

Epic Name

Improve CI to support independent development teams
Configure