Закрито Липкий A general note on how JMRI is released #admin


 
Змінено

ADMIN: Copied from a post by Bob Jacobson

This looks like a good moment to describe the thinking behind JMRI’s releases more generally.

Twice a year, we create something called a “production” release. These have names like 4.16, 4.18, etc. These are the ones that we encourage people to use, particularly new users, because they’re a good balance of new features and annoying bugs (new and unfixed)

Any development process can create bugs; sometime even properly-working new features are considered bugs by some users! So how do we get from “new code” to “production release”?

*) About once a month we create a “test” release. These have names like 4.17.1, 4.17.2, etc leading up to 4.18; after that, a new series starts with 4.19.1, 4.19.2, leading to the next production release. These have new features, like “rotation of Layout Editor”. We encourage as many people as possible to download these and _test_ them, so that new problems can be found ASAP. The test release process doesn’t work unless people do that.

Generally, all the small numbered test releases are made with all the contributed changes up to that point; they’re meant to be inclusive. Toward the end of the sequence, though, the risk-reward ratio changes: We don’t want to introduce a new bug in the last test release before a production release. Partly that’s because the test process isn’t perfect; partly that’s because such big changes can often wait a little bit anyway.

People working on new features and fixes really do try to not break things. We’ve got lots of automated and manual testing in place. But JMRI is large, complicated, and has lots of interacting features: We need users to check things to make sure that JMRI still works for _them_. So it’s very helpful for people to install and check a test release or two between production releases. At a minimum, we request that people download and use a new production release once a year or so: The further behind a layout is, the bigger the step forward when it has to be updated, and the more likely that unexpected issues will arise. If that happens at the same time as a new computer, or a change to the layout, or multiple issues are present, then it can be really complicated and time-consuming to resolve.

*) Between test releases, during that month of accumulation, there are “development” release available. These are called names like 4.17.1-ish, 4.17.2-ish, and they’re built several times a day if changes have been made. They are truly the latest and greatest. A few hours after a change is made, it can be gotten from one of those (the change mentioned here has already been built into these: http://builds.jmri.org/jenkins/job/TestReleases/job/development/) People can download and install these to check new features of interest to them. If problems are found and reported, the whole process moves along even better.

Bob

--
Peter Ulvestad

JMRI Users Group Moderator - http://www.jmri.org ( http://www.jmri.org )
Tam Valley Group Moderator - https://tamvalleydepot.com/ ( http://tamvalleydepot.com/ )
Sprog-DCC Group Moderator - http://www.sprog-dcc.co.uk/ ( http://www.sprog-dcc.co.uk/ )
Edmonton Model Railroad Association - http://www.emra.club/