tree: e366c67d030c888bbc8f3fd64e7e43103a4a19b6
  1. landmine.10
  2. landmine.11
  3. landmine.12
  4. landmine.13
  5. landmine.14
  6. landmine.15
  7. landmine.16
  8. landmine.17
  9. landmine.18
  10. landmine.19
  11. landmine.2
  12. landmine.20
  13. landmine.21
  14. landmine.22
  15. landmine.23
  16. landmine.24
  17. landmine.25
  18. landmine.26
  19. landmine.27
  20. landmine.28
  21. landmine.29
  22. landmine.3
  23. landmine.30
  24. landmine.31
  25. landmine.32
  26. landmine.33
  27. landmine.34
  28. landmine.35
  29. landmine.36
  30. landmine.37
  31. landmine.38
  32. landmine.39
  33. landmine.4
  34. landmine.40
  35. landmine.41
  36. landmine.42
  37. landmine.43
  38. landmine.44
  39. landmine.45
  40. landmine.46
  41. landmine.47
  42. landmine.48
  43. landmine.49
  44. landmine.5
  45. landmine.50
  46. landmine.51
  47. landmine.52
  48. landmine.53
  49. landmine.54
  50. landmine.55
  51. landmine.56
  52. landmine.57
  53. landmine.58
  54. landmine.59
  55. landmine.6
  56. landmine.60
  57. landmine.61
  58. landmine.62
  59. landmine.63
  60. landmine.64
  61. landmine.65
  62. landmine.66
  63. landmine.67
  64. landmine.68
  65. landmine.69
  66. landmine.7
  67. landmine.70
  68. landmine.71
  69. landmine.72
  70. landmine.73
  71. landmine.74
  72. landmine.75
  73. landmine.76
  74. landmine.77
  75. landmine.78
  76. landmine.79
  77. landmine.8
  78. landmine.80
  79. landmine.9
  80. README.md
cq/landmines/README.md

Landmines let anyone force the CQ build slaves to clean their out directories.

Using Landmines

If you want to use a landmine to trigger the bots to clean themselves, then go to continuous-tests/cq/landmines (the directory this file is in) and bump the number of the landmine file. For instance, if there is currently a ‘landmine.6’ file, create ‘landmine.7’. The CQ will only care about the landmine with the largest number, regardless of how many landmine files there are.

In the landmine file, add a quick note explaining why a landmine is necessary, and add a bug number if there is one. This part is purely documentation, but it is nice to have.

Then, commit your change with the new/updated landmine file.

The next time the CQ runs, the builder then checks if ~/landmines/landmine./<manifest_branch> exists. If it already exists, then the builder continues normally. If it does not exists, the builder runs: make clean && touch ~/landmines/landmine.<number>/<manifest_branch> This cleans out the $ROOT/out/ directory and all $ROOT/chromium/src/out_* directories, and then records that the landmine has been processed.

Landmine File Format

A landmine file must be located inside continous-tests/cq/landmines A landmine file must have a name of the format: landmine. Examples: continuous-tests/cq/landmines/landmine.1 continuous-tests/cq/landmines/landmine.23 continuous-tests/cq/landmines/landmine.9999

Landmine File Contents

The contents of a landmine file do not affect the behaviour of a landmine in anyway. However, it is a convenient place to document why a landmine was needed. A short description and a bug # are usually good to include.

Landmine History

Each slave keeps track of which landmines it has already seen in its own ~/landmines directory. Each time a slave sees a new landmine, it adds a ~/landmines//<manifest_branch> file to the folder, to indicate it saw and triggered a clean. Since the CQ slaves keep separate checkouts for each manifest branch, the history needs to include <manifest_branch>.