openHAB Milestone builds


(Kai Kreuzer) #1

All,

I promised it since a while, but it has cost us quite some efforts to get the whole process working smoothly: We are now in a position to do almost “one-click” releases of openHAB with our Jenkins release pipeline - big thanks to @pfink for setting this up!
Just as some background information: To create a distro release, 9 different Github repos need to be built and released individually, with versions being changed in the sources, git tags being created, p2 repos published, etc.
Doing that manually usually took me around 10 hours, while it is now done fully automatically in around 1:45h.

Being able to have the technical release process simplified does not automatically mean that we directly reduce our release frequency - after all, besides the technical artifacts a release involves many more efforts like a testing/stabilisation phase, the compilation of release notes, annoucements & informing the press, etc.

So the first step for which we use our new ability is to provide milestone releases from now on. The plan is to have roughly one milestone release per month. They are meant to be a pretty good compromise between the nightly snapshots and the official releases. I know that many of you are using snapshots even for their production system (me included) and you continuously run the risk that you catch a snapshot that completely breaks your system. Waiting for a new release is no option either, if you want to use new features that only recently made it into the code base. With the new milestone builds, we will make sure that those builds work in general and that they should not have any (known) critical issues. They should therefore be a nice option if you want to be on the latest&greatest, but want to avoid the risks that are associated with snapshots builds.

We are publishing the milestone builds to the linux “testing” repositories, so if you switch to “testing”, you should automatically receive the milestones upon an package upgrade. For everyone who isn’t using linux packages, you can get the zip/targz archives from our Artifactory instance at https://openhab.jfrog.io/openhab/libs-milestone-local/org/openhab/distro/openhab/.

Please forgive us if there are maybe a few hiccups in the beginning as we will have to get into this new process (You will notice that the latest milestone is 2.4.0.M3, which is a sign that we needed a few iterations for it already) - but I hope you welcome these new builds as a step in the right direction!

Best regards,
Kai

P.S.: The 2.4.0.M2 has been published to the Linux “unstable” repos yesterday by accident, so if you have updated your snapshot over the last hours, you might have ended up with that version. Please note that if this is the case, no further snapshots will be picked up, but you have to once manually choose a current snapshot to install again - please see these instructions on how to do so.


Can I use the latest zwave-2.4.0-SNAPSHOT with OH2.3.0 Release Build?
No SNAPSHOT after MILESTONE
New z-wave device needed and existing device to be renamed
[SOLVED] Trådfri outlet support
Binding Request: Sharp Aquos TV
[OH 2.4.0 M6] Testing Results
Fibaro motion , flood sensor not working
OutOfMemoryError (Java heap space) after a few days of running openHAB2
[OH 2.4.0 M7] Testing Results
Chromecast Binding Log Errors
sendHttpGetRequest not working under OH 2.4 M7 after Update from 2.3
DLNA / UPNP binding
[SOLVED] Openhab 2.2 and upgrade to latest version 2.4
New z-wave device? show home ZW37
(Kai Kreuzer) #2

One additional remark: We would also like to automate the compilation of the release notes - until then, you can check the Jenkins release build page for the changes that are included in each milestone; while not pretty, it should give you a good idea whether a certain change is in or not.


(Danny mullen) #3

Thus is great progress for the platform! Thanks!


(Scott Rushworth) #4

Milestone builds! :+1:

A difficulty I have with the snapshots, and I see it would be the same with the milestones, is determining which build of ESH is included so that I can look up the release notes for it. Most of the changes that I am anxious to test tend to be from ESH. Why do the ESH merges not show in the Jenkins changes, and will/could they be included in the automated OH release notes?


(Kai Kreuzer) #5

That’s a good question.
@pfink As we are building ESH ourselves in that pipeline, is there a chance to have the changes listed next to the others as well?


(Christoph Wempe) #6

As i want to migrate to docker in the future I am wondering if this new release circle will also be available via docker hub.
https://hub.docker.com/r/openhab/openhab/


(Rich Koshak) #7

It would be great if you opened an issue to add a tag to build one. Right now only release and snapshot are supported. The changes are pretty minor I believe.


(Christoph Weitkamp) #8

That is a very great step forward for the whole framework. I think we will become a lot more flexible with an automated CD pipeline. And it is possible to release new features faster for everyone.

I am thinking about switching my live environment to the testing repos too.


(Christoph Wempe) #9

(Danny mullen) #10

I have upgraded to The snapshot build in openhabian. Will this get the m2 build? I am showing build 1341 but no reference to m2 or m3.

I can update manually if required, I was just not sure the exact process.


(Rich Koshak) #11

Someone should open an issue over on the openHABian repo to add a testing option under openHAB related to change the repo to the testing repo. It looks like openhabian-config only supports release and snapshot right now.


(Ben Clark) #12

You’re still on the correct snapshots, so won’t need to do anything manually unless you want to change to the testing branch. :slight_smile:

When you next upgrade on a snapshot, it will be the newest nightly build.


(Danny mullen) #13

Thanks guys. I am going to try to submit a request on the openhabian git to add the repo.

In the meantime I am on the correct build so I am good.


(Kai Kreuzer) #14

Good idea, I actually thought that this was already possible in openhabian… Ftr, here’s the issue.


(Markus Storm) #15

I’ve submitted a pull request.
(I fear though that @ThomDietrich is too busy to review it right away)


(Danny mullen) #16

@Kai thanks for clarifying. I only knew the high level details.


(Markus Storm) #17

It’s available now in openHABian (thanks to @Benjy and @elias_gabrielsson for their quick review).
Mind you unlike the OH packages, openhabian-config always updates itself on startup so every openHABian user is now offered that right away.


(Daniel Malmgren) #18

Is there any way to get a notification when there is a new Milestone build available? Just a post in some thread (this one?) would be sufficient :wink:


(Scott Rushworth) #19

You can use the RSS feed… https://openhab.ci.cloudbees.com/job/openhab2-release/rssAll. Combine it with the Feed binding, and you can setup alerts when there are updates.


(Daniel Malmgren) #20

Ah, that’s even better! Thanks a lot!