Welcome to the forums. Please post in English or French.

You are not logged in.

#1 2018-01-03 19:17:24

ppeetteerr
Member
Registered: 2009-06-30
Posts: 234

Stable, Testing, and unstable releases

I was trying to explain the release schedule to a colleague today and realized what the webpage stated was different than what I had thought it was.  Might someone correct the following?

A testing release is frozen every 6 months and released as a .X (e.g. 13.1 , 13.2). The syntax between these releases may vary due to development (e.g. Contact used to be defined under AFFE_CHAR_MECA).

A Stable release is released every 2 years (e.g. 13.4). It is then updated every 12 months with bug fixes (e.g. 13.5) These stable releases pass a battery of tests and are required to pass all of them.

Development versions are tagged in bitbucket as .x.y versions and built using waf. No promises.

I noticed on the "Available Versions" page that it appeared version freezes have been moved to an annual basis for both stable and testing. How does this impact the testing to stable transition?

Thanks,

Offline

#2 2018-01-04 10:15:44

Thomas DE SOZA
Guru
From: EDF
Registered: 2007-11-23
Posts: 3,066

Re: Stable, Testing, and unstable releases

Hello,


ppeetteerr wrote:

I was trying to explain the release schedule to a colleague today and realized what the webpage stated was different than what I had thought it was.  Might someone correct the following?

Here are some answers that I hope will clear your doubts.

ppeetteerr wrote:

A testing release is frozen every 6 months and released as a .X (e.g. 13.1 , 13.2).

Correct.
Note that the "testing" releases refer to the version undergoing heavy development. This heavy development lasts two years for a given version, meaning the increment of the testing releases go from *.1 to *.4.
This version undergoing development corresponds to the "default" branch in the code_aster source repository. It currently is version 14 "opened" in July 2017.

ppeetteerr wrote:

The syntax between these releases may vary due to development (e.g. Contact used to be defined under AFFE_CHAR_MECA).

Correct.
Given the code_aster roadmap detailed above, these syntax changes may only occur from *.1 to *.4 increments.

ppeetteerr wrote:

A Stable release is released every 2 years (e.g. 13.4).

Correct.
Precisely, a version enters "stable" state every two years after it has reached the *.4 increment.

ppeetteerr wrote:

It is then updated every 12 months with bug fixes (e.g. 13.5)

No. The update frequency is still a six months period. A version that has entered "stable" state will be updated during two years, that is from *.5 to *.8 increments. These updates will only consist of bugfixes , hence the "stable" denomination.

ppeetteerr wrote:

These stable releases pass a battery of tests and are required to pass all of them.

In fact, any code_aster official release, that is a version labelled *.*.0, be it stable or testing, will pass all the battery of testcases successfully.
Still, it is true that a version which has entered "stable" state is more heavily tested (e.g. when producing an *.4 increment, we conduct additional tests including memory debugging, debug runs, etc).

ppeetteerr wrote:

Development versions are tagged in bitbucket as .x.y versions and built using waf. No promises.

Exactly. Contrary to an official version, a *.x.y version may not pass fully the battery of testcases and therefore there can't be any promises.
Note however that a version greater than *.4.y is quite unlikely to fail (because it has entered "stable" state).

ppeetteerr wrote:

I noticed on the "Available Versions" page that it appeared version freezes have been moved to an annual basis for both stable and testing. How does this impact the testing to stable transition?

It is not quite that but we're aware that this may be disturbing.
In fact, since 2015 we've moved to a yearly release of Salome-Meca. In order for our users in-house at EDF not to be disturbed when moving for their local workstation to our clusters, we've decided to keep the tag naming consistent between code_aster and Salome-Meca.
Hence, "stable" and "testing" are moving tags that get updated only once a year:

  • in Salome-Meca 2016, "stable" corresponds to version 12.6 and "testing" to version 13.2

  • in Salome-Meca 2017, "stable" corresponds to version 13.4, there is no "testing" tag because it would be version 14.0 which is the same as 13.4. But there is an "oldstable" tag which corresponds to the last increment of the previous "stable" version, that is 12.8

So, even if "stable" and "testing" tags are updated only once a year, there are still releases of code_aster every six months. Basically, it just means that a *.1 or *.3 version will only be accessible directly by its number instead of a tag.

To sum it up:

  • Any code_aster version has a 4-year period of development

  • In its first two years, it is considered under heavy development and receives both improvements and bugfixes, there are four official releases of this "development" or "testing" version from *.1 to *.4

  • The last two years of development are only for bugfixes with official releases every six months from *.5 to *.8

  • Every two years, there is a fork from the *.4 version to open the next major version of code_aster

  • Between official versions, experimental versions may be compiled using the Bitbucket repository

  • Production studies in engineering companies should be conducted with the latest "stable" version, that is currently version 13.4 (in Salome-Meca 2017) or 13.5 (compiled through Bitbucket or the soon to be released aster-full source package)

  • Caution should be applied when conducting engineering studies with a version of code_aster still under heavy development

TdS

Offline