From ccb0de64f38d05522353fcdcbd51a063c1d29b08 Mon Sep 17 00:00:00 2001 From: bungeman Date: Thu, 14 Apr 2016 09:23:41 -0700 Subject: [PATCH] Add doc instructions for multi-repo Chromium trybots. NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=1865153003 Review URL: https://codereview.chromium.org/1865153003 --- site/dev/chrome/multi_repo_trybots.md | 70 +++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 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 0000000..9f3cfaa --- /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 \/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 +\/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 +\/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 \/src/patch/, using the same +directory structure used by Chromium. When 'gclient runhooks' is run, the files +in \/src/patch/ will be copied to and overwrite corresponding files in +\/src/. For example, if changing \/include/core/SkPath.h, place +a copy of the modified SkPath.h at +\/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 \/src/DEPS and \/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. -- 2.7.4