Clobber landmines are an easy way to send a targeted clobber to a class of builder machines (i.e. bot machines on build.chromium.org). This can be useful in the following circumstances:
Landmines have the property that if a bot 'rolls over' the revision containing them (either forwards or backwards), it will trigger a clobber. This is quite useful for trybots which can be assigned random base revisions, or may even just switch between HEAD and LKGR multiple times per day. Simply clobbering the bot manually once may not be enough to make sure that it's 'fixed' for good.
Simply add logic to src/build/landmines.py in the 'get_landmines()' function. There are a variety of parameters which you can use to fine-tune the effect of a landmine:
To add a landmine for the given configuration, just call the add() function in get_landmines conditionalized by any configuration. Try to make the reason for the landmine as descriptive as possible, citing relevant revisions, CLs or bugs.
# ... Other landmines here
if platform() == 'win' and builder() == 'ninja':
add('Compile on cc_unittests fails due to symbols removed in r185063.')
Q: What happens if I delete/clean up/replace landmines in get_landmines()?
A: This is OK (as in, it won't break anything), but note that it will cause bots which match the configuration of the removed landmines to clobber again.
Sometimes this is done intentionally: if there's a frequently-clobbered configuration it may be expedient to only have one landmine which is replaced when a clobber is needed.
Q: Can I include a landmine in a CL which does other things?
A: If you know that your change will definitely require some bots to clobber, then yes, you should include it with the rest of the changes.
Q: I have a question that's not here, who do I bug?
A: Please bug firstname.lastname@example.org.
For a given build: