Bamboo: releasing off non-master branches

bamboo
bahmni
emr-api
release-process
Tags: #<Tag:0x00007efd1983e088> #<Tag:0x00007efd1983df48> #<Tag:0x00007efd1983dde0> #<Tag:0x00007efd1983dca0>

(Dimitri R) #21

@dkayiwa could you revert this then? I’m not sure where that happens.


(Cintia Del Rio) #22

I’ve already done that. That’s in the build config/repositories/branch.


(Cintia Del Rio) #23

I’m looking now why it’s red, it’s the same problem as before.


(Cintia Del Rio) #24

https://openmrs.jfrog.io/openmrs/modules/org/openmrs/module/emrapi/1.24.5/

The pom file is already there. I’m going to delete it.

Make sure to remove that tag from github before attempting to redo it.


(Cintia Del Rio) #25

So file deleted. After you remove the tag from the github repo, you might be able to retry.


(Cintia Del Rio) #26

Gosh.

Your release prepare worked, and the tag in github was created.

But unfortunately your tests failed on the release perform :confused:

So that’s how you ended up with the pom.

Is flaky test a known issue?


(Dimitri R) #27

Yes… :expressionless: Big time sigh

Could you delete the stuff on Nexus again? I’ll clear the rest and start over as soon as I’m back at my computer.

Yes that test is a 50/50 thing.


(Cintia Del Rio) #28

I’m going to be testing a change to the script that allows you to skip tests during release, and also MAYBE it will only deploy everything at the end.

I will need like 20 minutes or so to test.


(Dimitri R) #29

Yes good point, I was wondering also if the test suite should run given that the release stage is necessarily directly preceded by a full build.


(Cintia Del Rio) #30

Look, I don’t make the rules! I keep thinking that was very weird decision from the maven release plugin maintainers. Not only it runs the tests during the release:prepare, it will run again in release:perform.

Very confusing, if you ask me.


(Dimitri R) #31

I think we should allow some hidden option (for ourselves) to skip tests during the release prepare/perform process. But as a general case, it is good to run a full build somewhere in there. Because strictly speaking some dependencies may have changed. As in, some snapshots have been replaced by their released versions.

Let me know when you are ready then. I will now undo things on GitHub.


(Cintia Del Rio) #32

I’ve deleted the files in jfrog; I think the release script allows you to use ‘-s’ to skip tests.

I saw you deleted the tags.

Let’s see if we are luckier this time: https://ci.openmrs.org/browse/EMRAPI-EMRAPI1-RTM-6


(Dimitri R) #33

Mmm, ok but how do I specify that from Bamboo?


(Dimitri R) #34

Ah, you did it! Thanks a bunch, amazing!


(Cintia Del Rio) #35

Amazing, we have a green build!

Well, that’s a winner. Do you want to update https://wiki.openmrs.org/display/docs/Releasing+a+Module+from+Bamboo to show how to configure a branch build/release?


(Dimitri R) #36

Lol.

Yes, I just don’t really see how/where exactly you managed to skip the tests for the release stage?


(Cintia Del Rio) #37

That’s an old incantation.

https://github.com/openmrs/openmrs-contrib-bamboo/blob/master/release-prepare-perform.sh#L77

We need to pass:

-Darguments=-DskipTests

Which is so intuitive. Exactly what you’d be trying.

And then I changed your build from:

release-scripts/release-prepare-perform.sh -r "${bamboo.maven.release.version}" -d "${bamboo.maven.development.version}"

To:

release-scripts/release-prepare-perform.sh -r "${bamboo.maven.release.version}" -d "${bamboo.maven.development.version}" -s

(note the -s at the end of the line)


(Dimitri R) #38

Done. Here:

Creating a ‘plan branch’ to handle builds and releases of another branch (than master)


(Daniel Kayiwa) #39

Thanks @mksd :slight_smile: