aboutsummaryrefslogtreecommitdiffhomepage
path: root/site/dev/chrome
diff options
context:
space:
mode:
authorGravatar bungeman <bungeman@google.com>2016-04-14 09:23:41 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-04-14 09:23:41 -0700
commitccb0de64f38d05522353fcdcbd51a063c1d29b08 (patch)
tree446562e6c505cf5e9bf24c4d70e6218054f31110 /site/dev/chrome
parent872ea29357439f05b1f6995dd300fc054733e607 (diff)
Add doc instructions for multi-repo Chromium trybots.
Diffstat (limited to 'site/dev/chrome')
-rw-r--r--site/dev/chrome/multi_repo_trybots.md70
1 files changed, 70 insertions, 0 deletions
diff --git a/site/dev/chrome/multi_repo_trybots.md b/site/dev/chrome/multi_repo_trybots.md
new file mode 100644
index 0000000000..9f3cfaa8f0
--- /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',
+ '--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.