Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

A separate GitHub repository is created to manage each openIMIS component, e.g:

The naming of repository generic naming convention for openIMIS modules is based on the template: "component name"_"programming language / technology" openimis-<fe | be>-<module name>_<js | py>.

We use the Gitflow Workflow, which was first published in 2010 in a blog post from Vincent Driessen at nvie. We have extended this workflow to include country implementation specific version versions of the component managed through the repository. Image Removed

...

Using the Git branching features, each of these repositories will have a main branch (old master branch (- the latest stable version or production release) and a separate branch for each development phase.

All developments are be done in the develop branch.

Each new feature are developed in its own branch and then integrated into the develop branch. The naming convention for the feature branch is feature/<name of the feature | Jira ID>. Whenever possible, use Jira ID for the name of the feature that facilitate easy GitHub-Jira integration and generation of release notes.

When enough features are available, a release branch is created from the develop branch. Only bug fixes can be added from this point to the release  branch, which will also be merged into the develop branch.  The naming convention for the release branch is release/<release version>.

As soon as a release is ready, it will be merged into the master main and will be tagged with a release number.

In case a bug has to be fixed quickly into the production release (master main branch), a hotfix branch is created. This branch is merged directly into the master main branch and into the develop branch. The master main branch will then be tagged with an updated version number. 

After each official release and update of the master main  branch, the new features/bug fixes will be integrated into the countries specific develop branches, adapted and tested against implementation's specific requirements before releasing for the country. 

To easily manage git workflow, here are some tools: 

Naming convention will be established for branches and commits. Every commit should have an author and a short description. The naming and format conventions will be discussed during the Developers Workshop. 

In addition with the generic version of openIMIS, one can have a country/implementation specific branches that are similar to the generic version. The naming convention for these branches is implementation/<name of implementation>/<name of branch | develop | main >

Attachments
uploadfalse
oldfalse