Chromium Code Reviews| Index: site/dev/chrome/multi_repo_trybots.md |
| diff --git a/site/dev/chrome/multi_repo_trybots.md b/site/dev/chrome/multi_repo_trybots.md |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..9f3cfaa8f0a06c049c9d0a89cb78c8555bcf4d46 |
| --- /dev/null |
| +++ b/site/dev/chrome/multi_repo_trybots.md |
| @@ -0,0 +1,70 @@ |
| +Multiple repo Chromium trybots |
| +============================== |
| + |
| +When a proposed Skia change will require a change in Chromium or Blink it is |
| +often helpful to locally create the Chromium and Blink changes and test with the |
| +proposed Skia change. This often happens with Skia API changes and changes |
| +which affect Blink layout tests. While simple to do locally, this explains how |
| +to do so on the Chromium trybots. |
| + |
| +The basic idea is to make your Chromium and Blink change in the usual way, but |
| +then pull in other changes by modifying the \<chromium>/src/DEPS file. |
| + |
| + |
| +Rietveld |
| +-------- |
| +If the the patch to be applied is to a project already in Chromium (like Skia) |
| +and the patch is already in Rietveld, then add the following to |
| +\<chromium>/src/DEPS in the 'hooks' array just before the 'gyp' hook. |
| + |
| + { |
| + 'name': 'apply_custom_patch', |
| + 'pattern': '.', |
| + 'action': ['apply_issue', |
| + '--root_dir', 'src/third_party/skia', |
| + '--issue', '1873923002', |
| + '--patchset', '160001', |
|
dogben
2016/04/14 16:40:51
Maybe indicate that issue, patchset, and potential
bungeman-skia
2016/04/14 17:16:12
Eck, I actually wrote that but it appears I didn't
|
| + '--server', 'https://codereview.chromium.org', |
| + '--force', |
| + '--ignore_deps', |
| + '-v', |
| + '-v', |
| + '--no-auth', |
| + '--blacklist', 'DEPS' |
| + ], |
| + }, |
| + |
| +An example of this being used can be seen at |
| +https://crrev.com/1877673002/#ps120001 . |
| + |
| + |
| +External changes not in rietveld |
| +-------------------------------- |
| +If the patch is to files where the above is not possible, then it is still |
| +possible to patch the files manually by adding the following to |
| +\<chromium>/src/DEPS in the 'hooks' array just before the 'gyp' hook. |
| + |
| + { |
| + 'name': 'apply_custom_patch', |
| + 'pattern': '.', |
| + 'action': ['python', |
| + '-c', 'from distutils.dir_util import copy_tree; copy_tree("src/patch/", "src/");' |
| + ], |
| + }, |
| + |
| +Then, copy all 'out of tree' files into \<chromium>/src/patch/, using the same |
| +directory structure used by Chromium. When 'gclient runhooks' is run, the files |
| +in \<chromium>/src/patch/ will be copied to and overwrite corresponding files in |
| +\<chromium>/src/. For example, if changing \<skia>/include/core/SkPath.h, place |
| +a copy of the modified SkPath.h at |
| +\<chromium>/src/patch/third_party/skia/include/core/SkPath.h. |
| + |
| +An example of this being used can be seen at |
| +https://crrev.com/1866773002/#ps20001 . |
| + |
| + |
| +Try the patch |
| +------------- |
| +After committing these \<chromium>/src/DEPS and \<chromium>/src/patch/ changes |
| +locally, 'git cl upload' can be used in the usual way. Be sure to add |
| +'COMMIT=false' to the issue description to avoid accidentally checking it in. |