Particularly for ParaView, job queue is very long on some buildbots (10+ hours) and seems related more to testing than configuring/building.
It can be frustrating to be able to run tests only once a day when deadlines are very short.
Here are some ideas:
upgrading hardware of the slowest buildbots
add an option to run only some tests based on regex (generally sufficient for WIP MR)
run only tests impacted by the modifications (seems difficult to implement though)
dres had an issue with a macOS dialog appearing after ParaView crashed that prevented additional instances from running, hence tests were essentially blocked. I prevented these dialogs from appearing (hopefully) by applying the command
I am not sure. I’d much rather people rebased their topics to latest master before running tests manually. I prefer things to be explicit, but that’s just my preference.
The replacement for nemesis is sitting in an office here waiting to be made available (another project is using it as a Windows box). I’ll probably get around to swapping them when Windows 10 makes its sweep across the machines.
add an option to run only some tests based on regex (generally sufficient for WIP MR)
A WIP commit to comment out unrelated tests can help here. Just remember to remove it before merging (adding WIP as a prefix to the commit allows the robot to enforce this remembering for you).
run only tests impacted by the modifications (seems difficult to implement though)
Indeed. I’ve thought about this, but haven’t come up with a good way of doing it. In ParaView’s case, all the XML tests end up getting affected since paraview the executable ends up depending on “everything”.
add an option to set the priority of the request
Without a central priority queue, this is just going to be abused.
Note that I’d really like to migrate to GitLab-CI at some point and allow more hardware to share a given build configuration, but that is probably at least a year down the line at this point for VTK/ParaView.
That’s actually quite smart ! I should have thought of that.
It is not that easy to do though, as you need to modify different part of multiple CMakeLists.txt, unless I’m missing something.
How easy it is depends on how long you’re willing to wait for results for your test(s). Though that is also a function of others doing the same to reduce their test load…
One thing I’m doing right now that may be helpful to faster overall dashboard turnaround time is to run an initial round of tests on a faster machine, such as taanab, and fixing any warnings/errors it turns up before running the tests on all dashboard machines.
I have an MR up to increase the branch stable timer for master and release branch so that the master builds are not prioritized over MRs too quickly. that should help with turn around time during work hours
What would be great is if master and release branches could be killed if there is an MR waiting. I have no idea how to implement that or if it is possible.
There are remnants of me trying to get Do: test --stop to stop an MR build that has already started, but that never got anywhere. The “Stop build” button on the web interface is “in there” and not easily triggerable from other code.