Get Help from Others
Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack
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:
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.
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.
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:
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:
We should consider adding MD5 checksums to the download package that gets posted to the mirrors, given likelihood for poor connectivity in many places that download OpenMRS.
I have tried to clean up part of this page and add in more accurate detail about publishing the releases. So far, I've only updated the "maintenance release" section. Other sections should be updated accordingly.
If uploading to sourceforge, the syntax that worked for me is:
Also see the Managing the Maven Repository wiki page for uploading artifacts to the maven repo
Adding the -P switch helped with my poor connection, which keeps breaking, by resuming the upload from where it was before the connection interruption:
rsync -P -e ssh openmrs-standalone-1.9.0-RC.zip firstname.lastname@example.org:/home/frs/project/o/op/openmrs/prereleases/OpenMRS_1.9.0_RC/
I keep forgetting this. So am putting here as a comment for remembrance. This is how i usually delete the "latest" tag:
Then to tag "latest" as a particular commit hash (e.g 60bd9bce5888f64d78ea7db4a68b8bd932f36bb6), i use this:
git tag -a latest 60bd9bce5888f64d78ea7db4a68b8bd932f36bb6 -m "Tagging OpenMRS 1.9.7 as latest"
git push --tags upstream
To obtain the whole list of contributors of the code at github, i used git log command something like:
git log --pretty=format:"%cn" --since="2012-06-06" > /home/user/Desktop/openmrs_contributors; sort /home/user/Desktop/openmrs_contributors | uniq > /home/user/Desktop/openmrs_contributors_unique; rm /home/k-joseph/Desktop/openmrs_contributors;
Then checked for all of the contributors in the file at: /home/k-joseph/Desktop/openmrs_contributors_unique
"%cn" returns contributors names and for some who use various names, i had to check for them and manually eliminate duplicates.
The above commands will return all contributors names each on a separate line within the current branch of the current git repository from 2012-06-06
I have come across this error when i ran, mvn clean deploy --batch-mode command, i hope to resume looking for it's solution when i get back, but in-case someone knows the way about it, please share it with me as i get back.
here is the error message:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project openmrs: Failed to deploy artifacts: Could not transfer artifact org.openmrs:openmrs:pom:1.11.0 from/to openmrs-repo-releases (http://mavenrepo.openmrs.org/nexus/content/repositories/releases): Failed to transfer file: http://mavenrepo.openmrs.org/nexus/content/repositories/releases/org/openmrs/openmrs/1.11.0/openmrs-1.11.0.pom. Return code is: 400, ReasonPhrase:Bad Request. ->
It looks like the artifacts were however uploaded even when showed this error.
Here is an example on how to perform a manual module Release process;
CSM-116 - Getting issue details... STATUS