Folks, I wonder if we should restructure our buildbot/dashboard code to not look at site specific build options and test exclusions in the buildbot repo, but in the source repo itself?
The reasons for this are as follows:
Let’s say I am adding a new module to VTK and this is an optional module. Now, to enable it on certain dashboards I have to separately update the buildbot repo and then test my MR. While this is minor annoyance, it can be a major issue if this new module is already in VTK and turning it on without merging my MR has dire consequences (@aron.helser can attest to this). Won’t it be nicer if I could turn on/off the module in by MR itself?
With “release” branch now supported, we end up with cases of different build options between releases and master. Short of setting up new builders for each of the branches, which has it’s own issues, currently we have to manually toggle the options when building release binaries (just ask @cory.quammen). With the suggested change, the config will be on the branch itself.
Test exclusions are added to builbot repo and not the project. Updating the exclusions can be slow (just ask @martink), can got out of date (eg. test names change but exclusions linger) etc.
It’s hard to determine exactly what cmake options are turned on/off on a particular dashboard. The suggested change will make it so that these are all simply in a directory in the source itself (except paths to external libraries etc, which will still be in the buildbot configs).