diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-12 14:27:29 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:35:20 +0000 |
commit | c30a6232df03e1efbd9f3b226777b07e087a1122 (patch) | |
tree | e992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/docs/updating_clang.md | |
parent | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff) | |
download | qtwebengine-chromium-85-based.tar.gz |
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/docs/updating_clang.md')
-rw-r--r-- | chromium/docs/updating_clang.md | 67 |
1 files changed, 27 insertions, 40 deletions
diff --git a/chromium/docs/updating_clang.md b/chromium/docs/updating_clang.md index 9210b5426ec..72fe848b9ce 100644 --- a/chromium/docs/updating_clang.md +++ b/chromium/docs/updating_clang.md @@ -9,50 +9,37 @@ An archive of all packages built so far is at https://is.gd/chromeclang 1. Check that https://ci.chromium.org/p/chromium/g/chromium.clang/console looks reasonably green. 1. Sync your Chromium tree to the latest revision to pick up any plugin - changes -1. Run `python tools/clang/scripts/upload_revision.py NNNN` - with the target LLVM SVN revision number. This creates a roll CL on a new - branch, uploads it and starts tryjobs that build the compiler binaries into - a staging bucket on Google Cloud Storage (GCS). -1. If the clang upload try bots succeed, copy the binaries from the staging - bucket to the production one. For example: + changes. +1. Run go/chrome-push-clang-to-goma. This takes a recent dry run CL to update + clang, and if the trybots were successful it will copy the binaries from + the staging bucket to the production one. Writing to this bucket requires + special permissions. File a bug at g.co/bugatrooper if you don't have these + already (e.g., https://crbug.com/1034081). Then it will push the packages + to goma. If you do not have the necessary credentials to do the upload, ask + clang@chromium.org to find someone who does. +1. Run an exhaustive set of try jobs to test the new compiler. The CL + description created previously by upload_revision.py includes + `Cq-Include-Trybots:` lines for all needed bots, so it's sufficient to just + run `git cl try` (or hit "CQ DRY RUN" on gerrit). +1. Commit the roll CL from the previous step. +1. The bots will now pull the prebuilt binary, and goma will have a matching + binary, too. - ```shell - $ export rev=n123456-abcd1234-1 - $ for x in Linux_x64 Mac Win ; do \ - gsutil.py cp -n -a public-read gs://chromium-browser-clang-staging/$x/clang-$rev.tgz \ - gs://chromium-browser-clang/$x/clang-$rev.tgz ; \ - gsutil.py cp -n -a public-read gs://chromium-browser-clang-staging/$x/clang-$rev-buildlog.txt \ - gs://chromium-browser-clang/$x/clang-$rev-buildlog.txt ; \ - gsutil.py cp -n -a public-read gs://chromium-browser-clang-staging/$x/clang-tidy-$rev.tgz \ - gs://chromium-browser-clang/$x/clang-tidy-$rev.tgz ; \ - gsutil.py cp -n -a public-read gs://chromium-browser-clang-staging/$x/llvmobjdump-$rev.tgz \ - gs://chromium-browser-clang/$x/llvmobjdump-$rev.tgz ; \ - gsutil.py cp -n -a public-read gs://chromium-browser-clang-staging/$x/translation_unit-$rev.tgz \ - gs://chromium-browser-clang/$x/translation_unit-$rev.tgz ; \ - gsutil.py cp -n -a public-read gs://chromium-browser-clang-staging/$x/llvm-code-coverage-$rev.tgz \ - gs://chromium-browser-clang/$x/llvm-code-coverage-$rev.tgz ; \ - gsutil.py cp -n -a public-read gs://chromium-browser-clang-staging/$x/libclang-$rev.tgz \ - gs://chromium-browser-clang/$x/libclang-$rev.tgz ; \ - done && gsutil.py cp -n -a public-read gs://chromium-browser-clang-staging/Mac/lld-$rev.tgz \ - gs://chromium-browser-clang/Mac/lld-$rev.tgz - ``` +## Performance regressions - **Note** that writing to this bucket requires special permissions. File a - bug at g.co/bugatrooper if you don't have these already (e.g., - https://crbug.com/1034081). +After doing a clang roll, you may get a performance bug assigned to you +([example](https://crbug.com/1094671)). Some performance noise is expected +while doing a clang roll. -1. Run the goma package update script to push these packages to goma. If you do - not have the necessary credentials to do the upload, ask clang@chromium.org - to find someone who does -1. Run an exhaustive set of try jobs to test the new compiler. The CL - description created by upload_revision.py includes `Cq-Include-Trybots:` - lines for all needed bots, so it's sufficient to just run `git cl try` - (or hit "CQ DRY RUN" on gerrit). +You can check all performance data for a clang roll via +`https://chromeperf.appspot.com/group_report?rev=XXXXXX`, where `XXXXXX` is the +revision number, e.g. `778090` for the example bug (look in the first message +of the performance bug to find this). Click the checkboxes to display graphs. +Hover over points in the graph to see the value and error. -1. Commit roll CL from the first step -1. The bots will now pull the prebuilt binary, and goma will have a matching - binary, too. +Serious regressions require bisecting upstream commits (TODO: how to repro?). +If the regressions look insignificant and there is green as well as red, you +can close the bug as "WontFix" with an explanation. ## Adding files to the clang package |