Release Process

On this page:

Overview


Release Planning

How do things make it into a specific release or on the Technical Roadmap  See the page on Technical Roadmap Planning.

OpenMRS has two "products" that are released:

  • OpenMRS/Reference Application – this is the web application (reference application) that people generally think of when they think about OpenMRS as an application. For specifics on releasing a new version of the reference application, refer to the OpenMRS Reference Application Release Process page.

  • OpenMRS Platform – this is the API and web services used by OpenMRS and made available so that it can be used by other web applications.

Being the Release Manager

The role of the Release Manager in OpenMRS is to handle the process of getting code stabilized, packaged and released to the general public. If we were building planes, the RM would be the guy looking at the construction checklists, painting the airline logo on the fuselage, and delivering the finished unit to the customer.

As such, there is no real development associated with being an RM. All the work you have to do is non-coding: coordinating people, centralizing information, and being the public voice announcing new stable releases. A lot of the tasks that the RM has to do are repetitive, and not automated either because nobody has broken down and written the tools yet, or because the tasks require human validation that makes automation a little superfluous.

So, if you are the Release Manager. What do you need to do?


How does OpenMRS choose what goes into a release?

For the most part this is decided by the leadership group.  Larger tasks are decided upon way ahead of time and put onto the Technical Roadmap. The RM will really be participating in the Release Prioritization Meeting to pick out a lot of the smaller tickets that are able to be completed on time.

How much time does it take to be a release manager?

The time requirement varies from week to week, but shouldn't be more than 4 hours.  The major time investments come when doing the final testing and writing up the wiki pages. (like these: Platform Release notes 1.11.0 and Release Notes 2.3).  But usually you're just checking in with ticket/module owners to make sure they're going to hit the deadline.

NOTE

To be a Reference Application Release Manager you need to attend and several squad meetings especially the Project Management meeting and to be a Platform Release Manager , one needs to be a platform squad  / Project Management Squad member , which means attending meetings,

Am I in it alone?

No, the Release Management Manager will be your guide and support, he will be your first point of contact for any issues or guidance you need. Also release managers for previous releases act as a mentors.

Release Process

OpenMRS develops two software products OpenMRS Platform and OpenMRS Reference Application based on OpenMRS Platform. The release process for both the products is different. The release process for OpenMRS Platform and OpenMRS Reference Application are as described in detail in these links:

Release Manager Selection

Before applying for being a Release Manager please note that release process is quite involved and requires time commitment in bursts.

The selection process of release manager involves announcing the requirement for a new volunteer release manager for a specific release, time till which responses will be accepted and announcing a mentor that will guide the new volunteer release manager. After new volunteers respond for being the release manager, these following criteria are taken into consideration for selecting a candidate:

  • First Time  Release Manager? (they are given first preference)
  • Previous Engagement with OpenMRS community in OpenMRS Talk
  • Previous development work in the community (any contributions to code visible in github) 
  • Basic DevOps Experience (Creating an SSH Key, logging into a remote server, sending and receiving a file from a remote server, managing tomcat in a remote server)