6. 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
mainbranch.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 opens a
pull request (PR). The changes are reviewed and then merged into themainbranch 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
CHANGELOGfile is updated with the new release information (release number, description of the main add-on to the framework, …)A
tagwith the version number is created
6.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
6.1.1. Create new issue & branch
Infrabase is hosted on GitHub. To create a branch with an associated issue:
Create a new issue: Creating an issue
Create the branch from the issue, so the two stay linked: Creating a branch to work on an issue
6.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 opening a pull request (PR).
By opening a pull request, a developer asks the Infrabase maintainers to:
Do a review of the modifications
Perform the
merge
Either from the branch page on GitHub, or with the CLI:
$ gh pr create --base main
A PR description should say what changed and why, and how it was tested — which platform, which recipes, and whether the result was actually run.
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.