5. Development flow

Here is an overview of the development flow used in the Infrabase project.

  • Current/latest version of the framework is available in the main branch.

  • The development activities are done in a specific branch. An issue is linked with each development branches.

  • Once the development of a new feature has completed, the developer create a merge request (MR). The changes are reviewed and then merged into the main branch by the Infrabase maintainers.

The gitFlow figures shows this flow.

Periodically, the maintainers publish a major release of the Infrabase. For a new version, the following steps are performed:

  • The main new features has been re-tested

  • The CHANGELOG file is updated with the new release information (release number, description of the main add-on to the framework, …)

  • A tag with the version number is created

master->>FeatureA: Create branch
master->>FeatureB: Create branch
FeatureA->>master: Merge new feature in master
FeatureB->>master: Merge new feature in master

5.1. Development

For the development of new features or improvements, a new branch has to be created. It should not be any development done directly in the main branch. Each new topic has to have is own branch. Branches are not reused.

An issue should be linked with each branch (an issue per branch). This issue should provide:

  • A description of what is addressed

  • (Optional) Information on the advancement of this topic, issues found, explanation of the implementation, …

The issue is automatically closed after the development branch is merged of in the main branch.

Note

Issue can be (should be) created to document problems, improvement found using the framework without having to create a branch.

The branch can be created when the issue is addressed

5.1.1. Create new issue & branch

To create a branch with an associated issue:

  1. Create a new issue. The doc from gitlab: Create a new issue

  2. Create the branch from the issue. The doc from gitlab: Create a new branch from an issue

5.1.2. Merge in the main branch

Once the development of a specific topic has completed and been tested, it has to be integrated in the main branch. It is done by creating a merge request (MR).

By creating a merge request, a developer asks SOO maintainers to:

  • Do a review of the modifications

  • Performs the merge

The creation of a merge request is simple:

  1. Form the issue page in gitlab, click Create merge request button

  2. Validate the creation of the merge request in the new Windows

Merge request official doc.

Note

Ideally, there is only one commit per changes. If, for some reasons, it is not possible, please inform the dev team to lock this branch.