Is dev/3/ in github a necessity to perform a platform release?

Hello All,

@ssmusoke is performing a platform maintenance release of 1.11.6 and contacted me requesting to be promoted to dev/3/ (in github). Mentioning he is facing the below mentioned issue.

Issue:

“This is the error that I get when I run mvn prepare:release”

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5:prepare (default-cli) on project openmrs: Unable to tag SCM [ERROR] Provider message: [ERROR] The git-push command failed. [ERROR] Command output: [ERROR] ERROR: Permission to openmrs/openmrs-core.git denied to ssmusoke. [ERROR] fatal: Could not read from remote repository. [ERROR] [ERROR] Please make sure you have the correct access rights [ERROR] and the repository exists. [ERROR] -> [Help 1]

  1. Is the workflow for the release manager to perform the release in his separate branch in his own repo and send a pull request? (This is what I believe should happen)
  2. Or is it that the release manager should directly publish it to the main repo?
  3. And release managers being mentored to do their first release do they need to be promoted before or after the release? (this is a dev stage question)

pinging @burke, @darius, @maany, @k_joseph, @wyclif, @raff, @dkayiwa for comment.

1 Like

I can’t speak for the other questions, but as to this question (and the topic title) according to https://wiki.openmrs.org/display/RES/OpenMRS+Developer+Stages, yes, currently you must be /dev/3 to be a release manager. (See the “Privileges” column.)

If this is problematic, I’d recommend that @burke or his delegate re-evaluate the stages and their current configuration.

2 Likes

Not sure if relevant or not, because /dev/3 is the minimum level to login to CI, but this release could be configured to be done from CI too if desired.

1 Like

Hey @maurya , I think @ssmusoke will need a dev/3/ status to make the release as per the current release process.

Platform release manager push to openmrs/openmrs-core directly. I don’t feel we need to involve the developer in the release process as well. i.e we should not require PR’s being created by release managers and reviewed by developers in order to make a release :slight_smile:

As per the release process, there are 3 ways of tagging the release

  1. Automatic Maven way : this uses maven release plugin and the release manager will need access to main openmrs-core repo to do the release this way.
  2. Manually : Manually create tags and push it to main openmrs repo. Requires access to main repo as per the wiki. (No PR’s required. I don’t feel developers need to review the commits made for releasing the platform :slight_smile: )
  3. via Bamboo : the release manager will need access to Bamboo

In the first 2 cases the release manager directly pushes to openmrs-core main repo. In the last case, he would still need a dev/3/ status to make the release

In my case, being the Developer Tools Manager, I had the required access beforehand. I do feel it is important to ensure release managers have the permissions they need to smoothly make a release. If promoting to dev/3/ means they get the permissions they need, then it sounds like a good idea to promote them beforehand. However if there were a mechanism to provide the permissions before the release and promote to dev/3/ after, I’d support that. Other release managers would be able to answer this well :slight_smile:

1 Like