Following last week hangout, we decided to improve the developer experience by submitting build results associated with the stable and master version of Slicer to different dashboards.
Which cdash URL for what ?
Practically speaking, this means the following:
daily build of Slicer extensions associated with the latest stable release of Slicer will be submitted to
Before the end of the week: Project SlicerMaster was just created on CDash, starting tonight or tomorrow Slicer source code will be updated to submit results to that project
Just before the next Slicer stable release: Project Slicer4 will be renamed to SlicerStable
would be confusing due to the fact both CDash project would host build results performed “nightly”.
That said, for years, we have been calling the different release Nightly and Stable. For this reason, I wonder if the following pair will be more consistent:
SlicerStableRelease / SlicerNightlyRelease
This would also be consistent with the naming used on http://download.slicer.org/ and also the release type option introduced in r26420.
I like the SlicerStableRelease / SlicerNightlyRelease separation because it is more clear. However, it is a bit long: two words instead of one - so, we’ll probably often drop one word for brevity and then it’ll not be clear anymore. Also, it is still not fully clear. For example, how do I tell a user to download the latest nightly version of an extension for the latest stable release?
I think we need to avoid the word “nightly” as it comes from the times when we did not rebuild extensions for stable versions every night.
Stable version is a very good word, we just need to find a similar name for the master/trunk version. What about these?
I think many people will keep calling the master-branch-build “Nightly” for a long time out of habit. Maybe instead of “Stable” we could just call the release-branch dashboard by version, e.g. “Slicer4.8”, because that is what people do colloquially anyway. (and update at each release unless it is a lot of effort/risk to change)
Instead of renaming “Nightly” to avoid confusion, we could then call the (nightly-updated) extension section of the “Slicer4.8” dashboard something like “4.8-Continuous”.
For CMake users, Nightly/Continuous/Experimental have very specific meaning. It would be better to avoid these words referring to different branches (we can have nightly/continuous/experimental builds for master or stable branches).
Using specific version number anywhere means that it has to be updated for each stable release. As we would like to release stable versions more frequently (4 times a year would be great), these updates at various places could require significant effort.
I like Stable Release / Preview Release. Preview release is used as a synonym of beta release for a for a couple of software I know, so it would not be a Slicer-only naming convention.
For the terms from @lassoan’s list I’d prefer Development or Preview. Master is very technical, the users won’t know what it is, and Draft (at least to me) suggests that it’s not ready to use. I think Continuous would be confusing, because it has a different meaning: tests after each commit.
@ihnorton is right though, people will say Nightly anyway, so keeping that would make sense. Regardless how that term was originally born, it means the “snapshot for the day”, so I think it would be the least confusing.