Due to some recent problems we had when releasing from Bamboo, I spent some time working [on the release scripts].
Now we are actually testing if the tag exists in the repository before attempting to do a release. Before it had some code to do that, but unfortunately it wasn’t working in Bamboo. If a tag like v1.0.0 or something-1.0.0 exist, it will cause a red build.
If the release:prepare fails, it will try to do a release:rollback and give you a nice message in the ‘Error Sumary’ on the build summary: Anyway, I’ve never seen the rollback being actually useful, but it should do no harm.
If the release:perform fails, same thing, but the message will ask you to give up of the version number.
Feel free to improve all the messages I’ve created. I released my test module, it looks good, but let me know if I broke something else.
(@maurya, this is probably important to you as you are coordinating releases) : https://github.com/openmrs/openmrs-contrib-bamboo/blob/master/release-prepare-perform.sh