<div dir="ltr">Ben,<div><br></div><div>On VTK MR 804 [1] My goal was to run an updated patch on just bigmac. I tried this:</div><div><br></div><div>Do: test --stop</div><div><br></div><div>followed by</div><div><br></div>Do: test --regex-include bigmac<div><br></div><div>In gitlab, I get a report for just the bigmac builds as expected. However, if I look at the buildbot page [2] (third column), it looks like all the buildbot machines are triggered to run. Do they all run a script that skips the tests early if they don't match the regex?</div><div><br></div><div>Thanks,</div><div>Cory</div><div><br></div><div>[1] <a href="https://gitlab.kitware.com/vtk/vtk/merge_requests/804">https://gitlab.kitware.com/vtk/vtk/merge_requests/804</a></div><div><br></div><div>[2] <a href="https://buildbot.kitware.com/grid?branch=15797_fix_texture_caching&category=vtk-expected">https://buildbot.kitware.com/grid?branch=15797_fix_texture_caching&category=vtk-expected</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Sep 28, 2015 at 11:22 AM, Ben Boeckel <span dir="ltr"><<a href="mailto:ben.boeckel@kitware.com" target="_blank">ben.boeckel@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
As I see some people have noticed, buildbot can now be driven by `Do:<br>
test` which triggers ~immediately rather than on a 10 minute schedule.<br>
With this come some other nifty bits :) .<br>
<br>
You may also have noticed buildbot now comments back to your MR when it<br>
is complete :) . If anyone sees duplicate messages where the first does<br>
not involve "slave lost? will retry in the future" somewhere in the<br>
list, please comment while mentioning @buildbot.<br>
<br>
First, some important information:<br>
<br>
If you are currently using `@buildbot test`, if `Do: test` is found, any<br>
`@buildbot test` mechanism is ignored, so moving to `Do: test` will not<br>
cause duplicate builds. A transistion of a few weeks should suffice<br>
before we turn off `@buildbot test`. It also needs to be at the bottom<br>
of your comment, the same as other kwrobot commands.<br>
<br>
It is currently only on VTK for now; I'll announce to the other projects<br>
when it has been enabled for them (kwrobot will tell you if it is not<br>
ready as well); you will probably then need to edit your comment to<br>
remove `Do: test` so `@buildbot test` doesn't skip it though.<br>
<br>
And now for the fun bits:<br>
<br>
With the new `Do: test` command, buildbot keeps a list of active<br>
commands for a merge request. For example, this may be used to build<br>
only on Python3 builders:<br>
<br>
Do: test --regex-include \+python3<br>
<br>
to *add* MPI builders to the set, give this command:<br>
<br>
Do: test --regex-include \+mpi<br>
<br>
When these two commands are active, any builder with +python3 or +mpi in<br>
its name will be built for updates to the MR. If, however, you now only<br>
need MPI builders, this command:<br>
<br>
Do: test --clear --regex-include \+mpi<br>
<br>
will empty out the command list before adding the command for +mpi.<br>
<br>
To test any Python except on Windows with MPI:<br>
<br>
Do: test --regex-include \+python --regex-exclude -windows.*\+mpi<br>
<br>
On any branch update, all active commands will be used, but --oneshot<br>
may be used to not remember the command.<br>
<br>
The breakdown for build names is as follows:<br>
<br>
project-host-os-libtype-buildtype+feature1+feature2<br>
<br>
* project: always "vtk" for vtk<br>
* host: the buildbot host<br>
* os: one of "windows", "osx", or "linux"<br>
* libtype: "shared" or "static"<br>
* buildtype: "release" or "debug"<br>
<br>
And a grouped list of features (not exhaustive):<br>
<br>
* python<br>
* python3<br>
* tcl<br>
* java<br>
<br>
* opengl2 (OpenGL1 if not there; will be flipped to be +opengl1 at<br>
some point)<br>
<br>
* mpi<br>
* qt<br>
* qt5<br>
<br>
* clang<br>
* gcc (this is not used everywhere yet: if not specified and not<br>
Windows, it's probably gcc; this will be fixed when we rename<br>
builders to turn +opengl2 -> +opengl1)<br>
* vs (Visual Studio generator; all Windows builders are MSVC)<br>
* icc<br>
* pgi<br>
<br>
* tbb<br>
* openmp<br>
<br>
All features in a build name are in alphabetical order, so matching a<br>
collection of features shouldn't need too many regex hacks.<br>
<br>
Some nitty-gritty details should the need arise:<br>
<br>
Arguments may not contain spaces (there should be no reason to) and<br>
there is no escaping other than Python's regex nor quoting (i.e., the<br>
command is split on spaces and that's it). Extra spaces between<br>
arguments shouldn't be a problem.<br>
<br>
The command is applied in whitelist -> blacklist order, so<br>
--regex-exclude will never be overridden within each command; however,<br>
each command is considered separately and then union'd with the other<br>
command results (so that you can include builders later and not have to<br>
hunt down the command excluding it from before).<br>
<br>
Any errors in argument parsing renders the entire command as ignored.<br>
<br>
The full list of arguments:<br>
<br>
* --oneshot<br>
only build the *current* hash of the branch; updates will not be<br>
built using this command<br>
* --stop<br>
clear the list of commands for the merge request<br>
* --superbuild<br>
build the superbuilds related to the project (vtk-superbuild is<br>
currently excluded from this since it is only a nightly test)<br>
* --clear:<br>
clear previous commands and add this command to the list<br>
* --regex-include <arg><br>
only build on builders matching <arg> (a Python regex)<br>
* --regex-exclude <arg><br>
excludes builds on builders matching <arg> (a Python regex)<br>
<br>
--Ben<br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=vtk-developers" rel="noreferrer" target="_blank">http://markmail.org/search/?q=vtk-developers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/vtk-developers" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/vtk-developers</a><br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Cory Quammen<br>R&D Engineer<br>Kitware, Inc.</div>
</div>