March 24, 2018: Nightly build manually re-triggered after fixing regression due to rename of vtkNRRDReader, vtkNRRDWriter to vtkTeemNRRD{R,W}

What happen ?

  • vtkNRRDReader, vtkNRRDWriter classes were renamed to vtkTeemNRRDReader and vtkTeemNRRDWriter in r27102
  • Project impacted by the rename were all updated :+1:
  • but the update of the MultiVolumeExplorer hash was done after commit r27102 and the associated reference in Slicer/SuperBuild.cmake had NOT been updated as part of commit r27102 :-1:
  • To fix this, the MultiVolumeExplorer hash was updated in r27105 :+1:

Next time ?

  • Let’s make sure to update references of impacted Slicer Remote Module or any other external projects (files Slicer/SuperBuild/External_*.cmake) also impacted in the commit introducing the breaking change.

Dashboard ?

  • existing macOS and Windows entries were manually removed

  • For these reasons, the dashboard will not show anything in the “Update” column.

1 Like

Sorry about that. I’m not sure if it is possible with cmake, but would be nice if there was a way to ensure that out-of-tree code can’t break the build.

It is already possible to configure Slicer setting a hash of your choice for external project [1][2], would it help to have the same option for Slicer Remote ?

[1] ExternalProject_SetIfNotDefined
[2] and example of usage

I meant more along the lines of make -k (continue after failure excluding failed target dependees). We wouldn’t want to run the whole build like that, but it would be fine for remotes.

For users, a partially successful package would simply appear to be broken: some features are missing/not working). Missing parts of the core could cause various additional errors in extensions. I would rather not have a package with so many issues at all.