# Different dashboard for master and stable builds

**URL:** <https://discourse.slicer.org/t/different-dashboard-for-master-and-stable-builds/2091>\
**Category:** Development\
**Created:** [February 15, 2018, 2:15pm UTC](https://discourse.slicer.org/t/different-dashboard-for-master-and-stable-builds/2091 "2018-02-15T14:15:10Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [February 15, 2018, 2:15pm UTC](https://discourse.slicer.org/t/different-dashboard-for-master-and-stable-builds/2091/1 "2018-02-15T14:15:10Z")

</div>

Hi Slicers,

Following last week [hangout](https://discourse.slicer.org/t/weekly-hangout-for-slicer-user-and-developer/53/57), 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
  - [http://slicer.cdash.org/index.php?project=Slicer4](http://slicer.cdash.org/index.php?project=Slicer4)

- daily build of Slicer **extensions** and **applications** associated with the latest revision of the source code will be be submitted to
  - [http://slicer.cdash.org/index.php?project=SlicerMaster](http://slicer.cdash.org/index.php?project=SlicerMaster)

### Timeline

- **Before the end of the week** : Project [SlicerMaster](http://slicer.cdash.org/index.php?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](http://slicer.cdash.org/index.php?project=Slicer4) will be renamed to `SlicerStable`

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [February 15, 2018, 2:32pm UTC](https://discourse.slicer.org/t/different-dashboard-for-master-and-stable-builds/2091/2 "2018-02-15T14:32:44Z")

</div>

Excellent!

When this is available let’s also remember to update the links in the CDash section of the developer wiki pages:

[https://www.slicer.org/wiki/Documentation/4.8/Developers](https://www.slicer.org/wiki/Documentation/4.8/Developers)  
[https://www.slicer.org/wiki/Documentation/Nightly/Developers](https://www.slicer.org/wiki/Documentation/Nightly/Developers)

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [February 15, 2018, 2:46pm UTC](https://discourse.slicer.org/t/different-dashboard-for-master-and-stable-builds/2091/3 "2018-02-15T14:46:03Z")

</div>

### Updates

- [PR Slicer/Slicer#892](https://github.com/Slicer/Slicer/pull/892) updating the CDash project from `Slicer4` to `SlicerMaster` is being reviewed.
- Wiki pages have been updated (see [here](https://www.slicer.org/w/index.php?title=Documentation%2F4.8%2FDevelopers&type=revision&diff=58613&oldid=55523) and [here](https://www.slicer.org/w/index.php?title=Documentation%2FNightly%2FDevelopers&type=revision&diff=58610&oldid=54941)). Thanks @pieper for pointing this out.
- [PR mhalle/slicer4-download#12](https://github.com/mhalle/slicer4-download/pull/12) updating the links available on [http://download.slicer.org/](http://download.slicer.org/) was just submitted

### Questions

We initially chose the pair

```
SlicerStable / SlicerMaster

```

because using

```
SlicerStable / SlicerNightly

```

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/](http://download.slicer.org/) and also the release type option introduced in [r26420](http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=26420).

What do you think ?

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [February 15, 2018, 3:23pm UTC](https://discourse.slicer.org/t/different-dashboard-for-master-and-stable-builds/2091/4 "2018-02-15T15:23:39Z")

</div>

> [@jcfr](#):
>
> SlicerStableRelease / SlicerNightlyRelease

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?

- development
- preview
- experimental
- beta
- master
- snapshot

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [February 15, 2018, 7:03pm UTC](https://discourse.slicer.org/t/different-dashboard-for-master-and-stable-builds/2091/5 "2018-02-15T19:03:34Z")

</div>

I like `preview`, `master` or even `draft`

For the “master” release, we could then have:

- `SlicerPreviewRelease`
- `SlicerDraftRelease`

Any preference ?

Here is what it would look like on the download site:

 ![preview_release_slicer](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/9/d/9d84d5d06ab08fe4b2e3a71c34d0003284f8e431.png)

 ![draft_release_slicer](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/e/a/ea098b9d874da72b337ad2e1887676b5f7fb3fa5.png)

---

<div class="post-metadata">

**Author:** ![ihnorton](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/ihnorton/32/9_2.png) [@ihnorton](https://discourse.slicer.org/u/ihnorton)\
**Post date:** [February 15, 2018, 7:33pm UTC](https://discourse.slicer.org/t/different-dashboard-for-master-and-stable-builds/2091/6 "2018-02-15T19:33:51Z")

</div>

> [@jcfr](#):
>
> That said, for years, we have been calling the different release Nightly and Stable

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”.

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [February 15, 2018, 8:05pm UTC](https://discourse.slicer.org/t/different-dashboard-for-master-and-stable-builds/2091/7 "2018-02-15T20:05:41Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![ihnorton](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/ihnorton/32/9_2.png) [@ihnorton](https://discourse.slicer.org/u/ihnorton)\
**Post date:** [February 15, 2018, 8:08pm UTC](https://discourse.slicer.org/t/different-dashboard-for-master-and-stable-builds/2091/8 "2018-02-15T20:08:26Z")

</div>

> For CMake users, Nightly/Continuous/Experimental have very specific meaning.

Fair enough. 👍 to Stable/Preview then.

> **[bliki: TwoHardThings](https://martinfowler.com/bliki/TwoHardThings.html)**
>
> There are only two hard things in Computer Science: cache invalidation and naming things -- Phil Karlton (bonus variations on the page)

---

<div class="post-metadata">

**Author:** ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)\
**Post date:** [February 15, 2018, 8:09pm UTC](https://discourse.slicer.org/t/different-dashboard-for-master-and-stable-builds/2091/9 "2018-02-15T20:09:42Z")

</div>

I like Stable for the release branch too.

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.

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [February 16, 2018, 8:37pm UTC](https://discourse.slicer.org/t/different-dashboard-for-master-and-stable-builds/2091/10 "2018-02-16T20:37:06Z")

</div>

Updates:

- Dashboard will be [SlicerPreview](http://slicer.cdash.org/index.php?project=SlicerPreview)

- Slicer has been updated accordingly - see [r26928](http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=26928)

- New [PR mhalle/slicer4-download#13](https://github.com/mhalle/slicer4-download/pull/13) was just submitted to update [http://download.slicer.org/](http://download.slicer.org/) and use the term `Preview Release` instead of `Nightly Build`
